@charset "UTF-8";
/* common
----------------------------------*/
.img {
  width: 100%;
}

a {
  display: block;
}

.tab {
  display: none !important;
}

.sp {
  display: none !important;
}

.sp_ib {
  display: none !important;
}

.sp_min {
  display: none !important;
}

.inner {
  width: 100%;
  max-width: min(83.8709677419vw, 1040px);
  padding: 0 min(1.6129032258vw, 20px);
  margin: 0 auto;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .inner {
    max-width: 100%;
    margin: 0;
  }
}

table {
  width: 100%;
  table-layout: fixed;
}

td,
th {
  font-weight: normal;
  text-align: left;
}

.noLink a,
.noLink a:hover,
.noLink a img,
.noLink a:hover img {
  opacity: 0.6 !important;
  cursor: inherit;
}

.text_wh {
  color: #fff !important;
}

@media screen and (max-width: 1000px) {
  .tab {
    display: block !important;
  }
  .tab_non {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none !important;
  }
  .tab {
    display: none !important;
  }
  .sp {
    display: block !important;
  }
  .sp_ib {
    display: inline-block !important;
  }
  .inner {
    max-width: 100%;
    min-height: 0;
    padding: 0 8vw;
  }
}
.hvUnderbar a {
  color: #fff;
  display: inline;
  line-height: 1.6;
  background: linear-gradient(transparent calc(100% - 1px), #fff calc(100% - 1px), #fff 100%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: 0.3s all;
}

.hvUnderbarBk a {
  display: inline;
  line-height: 1.6;
  background: linear-gradient(transparent calc(100% - 1px), #231815 calc(100% - 1px), #231815 100%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: 0.3s all;
}

.hvUnderbarylw a {
  display: inline;
  line-height: 1.6;
  background: linear-gradient(transparent calc(100% - 1px), #f3cf11 calc(100% - 1px), #f3cf11 100%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 0% 100%;
  transition: 0.3s all;
}

.hvUnderbar a:hover,
.hvUnderbarBk a:hover,
.hvUnderbarylw a:hover {
  text-decoration: none;
  background-size: 100% 100%;
}

.hvUnderbarRev a {
  color: #fff;
  display: inline;
  line-height: 1.6;
  background: linear-gradient(transparent calc(100% - 1px), #fff calc(100% - 1px), #fff 100%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transition: 0.3s all;
  background-position: 100%;
}

.hvUnderbarRevBk a {
  display: inline;
  line-height: 1.6;
  background: linear-gradient(transparent calc(100% - 1px), #231815 calc(100% - 1px), #231815 100%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transition: 0.3s all;
  background-position: 100%;
}

.hvUnderbarRevylw a {
  display: inline;
  line-height: 1.6;
  background: linear-gradient(transparent calc(100% - 1px), #f3cf11 calc(100% - 1px), #f3cf11 100%, transparent 100%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  transition: 0.3s all;
  background-position: 100%;
}

.hvUnderbarRev a:hover,
.hvUnderbarRevBk a:hover,
.hvUnderbarRevylw a:hover {
  text-decoration: none;
  background-size: 0% 100%;
}

@media screen and (max-width: 374px) {
  .sp_min {
    display: block;
  }
}
.upIn,
.load_upIn,
.pa_upIn {
  opacity: 0;
}
.upIn.onAnim,
.load_upIn.onAnim,
.pa_upIn.onAnim {
  -webkit-animation: upin 0.8s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) both;
          animation: upin 0.8s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) both;
}

.downIn,
.load_downIn {
  opacity: 0;
}
.downIn.onAnim,
.load_downIn.onAnim {
  -webkit-animation: downin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) both;
          animation: downin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) both;
}

.rhIn,
.load_rhIn {
  opacity: 0;
}
.rhIn.onAnim,
.load_rhIn.onAnim {
  -webkit-animation: rhin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) forwards;
          animation: rhin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) forwards;
}

.lhIn,
.load_lhIn {
  opacity: 0;
}
.lhIn.onAnim,
.load_lhIn.onAnim {
  -webkit-animation: lhin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) forwards;
          animation: lhin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) forwards;
}

.smallIn,
.load_smallIn {
  transform: scale(1.05);
  transform-origin: top center;
}
.smallIn.onAnim,
.load_smallIn.onAnim {
  -webkit-animation: smallin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) forwards;
          animation: smallin 0.4s 1 cubic-bezier(0.17, 0.67, 0.37, 0.95) forwards;
}

.popIn,
.load_popIn,
.pa_popIn {
  transform: scale(0.9);
  transform-origin: bottom left;
  opacity: 0;
}
.popIn.onAnim,
.load_popIn.onAnim,
.pa_popIn.onAnim {
  -webkit-animation: popin 0.3s 1 cubic-bezier(0.17, 0.67, 0.51, 1.67) both;
          animation: popin 0.3s 1 cubic-bezier(0.17, 0.67, 0.51, 1.67) both;
}

@-webkit-keyframes upin {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes upin {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes downin {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes downin {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes rhin {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes rhin {
  0% {
    opacity: 0;
    transform: translateX(50px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes lhin {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes lhin {
  0% {
    opacity: 0;
    transform: translateX(-50px);
  }
  100%, to {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes smallin {
  0% {
    transform: scale(1.05);
  }
  100%, to {
    transform: scale(1);
  }
}
@keyframes smallin {
  0% {
    transform: scale(1.05);
  }
  100%, to {
    transform: scale(1);
  }
}
@-webkit-keyframes popin {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100%, to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes popin {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100%, to {
    opacity: 1;
    transform: scale(1);
  }
}
.D01 {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
  transition-delay: 0.1s !important;
}

.swiper-slide:nth-child(01) {
  -webkit-animation-delay: 0.1s !important;
          animation-delay: 0.1s !important;
  transition-delay: 0.1s !important;
}

.D02 {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
  transition-delay: 0.2s !important;
}

.swiper-slide:nth-child(02) {
  -webkit-animation-delay: 0.2s !important;
          animation-delay: 0.2s !important;
  transition-delay: 0.2s !important;
}

.D03 {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

.swiper-slide:nth-child(03) {
  -webkit-animation-delay: 0.3s !important;
          animation-delay: 0.3s !important;
  transition-delay: 0.3s !important;
}

.D04 {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
  transition-delay: 0.4s !important;
}

.swiper-slide:nth-child(04) {
  -webkit-animation-delay: 0.4s !important;
          animation-delay: 0.4s !important;
  transition-delay: 0.4s !important;
}

.D05 {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
  transition-delay: 0.5s !important;
}

.swiper-slide:nth-child(05) {
  -webkit-animation-delay: 0.5s !important;
          animation-delay: 0.5s !important;
  transition-delay: 0.5s !important;
}

.D06 {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

.swiper-slide:nth-child(06) {
  -webkit-animation-delay: 0.6s !important;
          animation-delay: 0.6s !important;
  transition-delay: 0.6s !important;
}

.D07 {
  -webkit-animation-delay: 0.7s !important;
          animation-delay: 0.7s !important;
  transition-delay: 0.7s !important;
}

.swiper-slide:nth-child(07) {
  -webkit-animation-delay: 0.7s !important;
          animation-delay: 0.7s !important;
  transition-delay: 0.7s !important;
}

.D08 {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
  transition-delay: 0.8s !important;
}

.swiper-slide:nth-child(08) {
  -webkit-animation-delay: 0.8s !important;
          animation-delay: 0.8s !important;
  transition-delay: 0.8s !important;
}

.D09 {
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

.swiper-slide:nth-child(09) {
  -webkit-animation-delay: 0.9s !important;
          animation-delay: 0.9s !important;
  transition-delay: 0.9s !important;
}

.D10 {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
  transition-delay: 1s !important;
}

.swiper-slide:nth-child(10) {
  -webkit-animation-delay: 1s !important;
          animation-delay: 1s !important;
  transition-delay: 1s !important;
}

.D11 {
  -webkit-animation-delay: 1.1s !important;
          animation-delay: 1.1s !important;
  transition-delay: 1.1s !important;
}

.swiper-slide:nth-child(11) {
  -webkit-animation-delay: 1.1s !important;
          animation-delay: 1.1s !important;
  transition-delay: 1.1s !important;
}

.D12 {
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
  transition-delay: 1.2s !important;
}

.swiper-slide:nth-child(12) {
  -webkit-animation-delay: 1.2s !important;
          animation-delay: 1.2s !important;
  transition-delay: 1.2s !important;
}

.D13 {
  -webkit-animation-delay: 1.3s !important;
          animation-delay: 1.3s !important;
  transition-delay: 1.3s !important;
}

.swiper-slide:nth-child(13) {
  -webkit-animation-delay: 1.3s !important;
          animation-delay: 1.3s !important;
  transition-delay: 1.3s !important;
}

.D14 {
  -webkit-animation-delay: 1.4s !important;
          animation-delay: 1.4s !important;
  transition-delay: 1.4s !important;
}

.swiper-slide:nth-child(14) {
  -webkit-animation-delay: 1.4s !important;
          animation-delay: 1.4s !important;
  transition-delay: 1.4s !important;
}

.D15 {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
  transition-delay: 1.5s !important;
}

.swiper-slide:nth-child(15) {
  -webkit-animation-delay: 1.5s !important;
          animation-delay: 1.5s !important;
  transition-delay: 1.5s !important;
}

.D16 {
  -webkit-animation-delay: 1.6s !important;
          animation-delay: 1.6s !important;
  transition-delay: 1.6s !important;
}

.swiper-slide:nth-child(16) {
  -webkit-animation-delay: 1.6s !important;
          animation-delay: 1.6s !important;
  transition-delay: 1.6s !important;
}

.D17 {
  -webkit-animation-delay: 1.7s !important;
          animation-delay: 1.7s !important;
  transition-delay: 1.7s !important;
}

.swiper-slide:nth-child(17) {
  -webkit-animation-delay: 1.7s !important;
          animation-delay: 1.7s !important;
  transition-delay: 1.7s !important;
}

.D18 {
  -webkit-animation-delay: 1.8s !important;
          animation-delay: 1.8s !important;
  transition-delay: 1.8s !important;
}

.swiper-slide:nth-child(18) {
  -webkit-animation-delay: 1.8s !important;
          animation-delay: 1.8s !important;
  transition-delay: 1.8s !important;
}

.D19 {
  -webkit-animation-delay: 1.9s !important;
          animation-delay: 1.9s !important;
  transition-delay: 1.9s !important;
}

.swiper-slide:nth-child(19) {
  -webkit-animation-delay: 1.9s !important;
          animation-delay: 1.9s !important;
  transition-delay: 1.9s !important;
}

.D20 {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
  transition-delay: 2s !important;
}

.swiper-slide:nth-child(20) {
  -webkit-animation-delay: 2s !important;
          animation-delay: 2s !important;
  transition-delay: 2s !important;
}

.D21 {
  -webkit-animation-delay: 2.1s !important;
          animation-delay: 2.1s !important;
  transition-delay: 2.1s !important;
}

.swiper-slide:nth-child(21) {
  -webkit-animation-delay: 2.1s !important;
          animation-delay: 2.1s !important;
  transition-delay: 2.1s !important;
}

.D22 {
  -webkit-animation-delay: 2.2s !important;
          animation-delay: 2.2s !important;
  transition-delay: 2.2s !important;
}

.swiper-slide:nth-child(22) {
  -webkit-animation-delay: 2.2s !important;
          animation-delay: 2.2s !important;
  transition-delay: 2.2s !important;
}

.D23 {
  -webkit-animation-delay: 2.3s !important;
          animation-delay: 2.3s !important;
  transition-delay: 2.3s !important;
}

.swiper-slide:nth-child(23) {
  -webkit-animation-delay: 2.3s !important;
          animation-delay: 2.3s !important;
  transition-delay: 2.3s !important;
}

.D24 {
  -webkit-animation-delay: 2.4s !important;
          animation-delay: 2.4s !important;
  transition-delay: 2.4s !important;
}

.swiper-slide:nth-child(24) {
  -webkit-animation-delay: 2.4s !important;
          animation-delay: 2.4s !important;
  transition-delay: 2.4s !important;
}

.D25 {
  -webkit-animation-delay: 2.5s !important;
          animation-delay: 2.5s !important;
  transition-delay: 2.5s !important;
}

.swiper-slide:nth-child(25) {
  -webkit-animation-delay: 2.5s !important;
          animation-delay: 2.5s !important;
  transition-delay: 2.5s !important;
}

.D26 {
  -webkit-animation-delay: 2.6s !important;
          animation-delay: 2.6s !important;
  transition-delay: 2.6s !important;
}

.swiper-slide:nth-child(26) {
  -webkit-animation-delay: 2.6s !important;
          animation-delay: 2.6s !important;
  transition-delay: 2.6s !important;
}

.D27 {
  -webkit-animation-delay: 2.7s !important;
          animation-delay: 2.7s !important;
  transition-delay: 2.7s !important;
}

.swiper-slide:nth-child(27) {
  -webkit-animation-delay: 2.7s !important;
          animation-delay: 2.7s !important;
  transition-delay: 2.7s !important;
}

.D28 {
  -webkit-animation-delay: 2.8s !important;
          animation-delay: 2.8s !important;
  transition-delay: 2.8s !important;
}

.swiper-slide:nth-child(28) {
  -webkit-animation-delay: 2.8s !important;
          animation-delay: 2.8s !important;
  transition-delay: 2.8s !important;
}

.D29 {
  -webkit-animation-delay: 2.9s !important;
          animation-delay: 2.9s !important;
  transition-delay: 2.9s !important;
}

.swiper-slide:nth-child(29) {
  -webkit-animation-delay: 2.9s !important;
          animation-delay: 2.9s !important;
  transition-delay: 2.9s !important;
}

.D30 {
  -webkit-animation-delay: 3s !important;
          animation-delay: 3s !important;
  transition-delay: 3s !important;
}

.swiper-slide:nth-child(30) {
  -webkit-animation-delay: 3s !important;
          animation-delay: 3s !important;
  transition-delay: 3s !important;
}

.ttlIn span {
  display: inline-block;
  position: relative;
  overflow: hidden;
}
.ttlIn span::before, .ttlIn span::after {
  content: "";
  width: 200%;
  height: 100%;
  background: #231815;
  position: absolute;
  z-index: 20;
  top: 0;
  left: -200%;
  transition: 0.8s all ease-in-out;
}
.ttlIn span::after {
  background: #fff;
  width: 100%;
  left: 0;
}
.ttlIn + .note {
  opacity: 0;
  text-align: center;
}
.ttlIn.onAnim span::before {
  left: 100%;
}
.ttlIn.onAnim span::after {
  left: 300%;
}
.ttlIn.onAnim span.D01::before, .ttlIn.onAnim span.D01::after {
  transition-delay: 0.2s;
}
.ttlIn.onAnim + .note {
  -webkit-animation: dnin_s 0.3s 1 ease-out forwards;
          animation: dnin_s 0.3s 1 ease-out forwards;
  -webkit-animation-delay: 0.6s;
          animation-delay: 0.6s;
}

.circleUpIn {
  transition: 1.2s all;
  -webkit-clip-path: circle(0% at 50% 50%);
          clip-path: circle(0% at 50% 50%);
  transform: translate(0, 40px);
}
.circleUpIn.onAnim {
  -webkit-clip-path: circle(80% at 50% 50%);
          clip-path: circle(80% at 50% 50%);
  transform: translate(0, 0);
}

.clipLhIn {
  transition: 0.9s -webkit-clip-path ease;
  transition: 0.9s clip-path ease;
  transition: 0.9s clip-path ease, 0.9s -webkit-clip-path ease;
  -webkit-clip-path: polygon(0 -20%, 0 -20%, 0 120%, 0 120%);
          clip-path: polygon(0 -20%, 0 -20%, 0 120%, 0 120%);
  display: block;
}
.clipLhIn.onAnim {
  -webkit-clip-path: polygon(0 -20%, 100% -20%, 120% 120%, 0% 120%);
          clip-path: polygon(0 -20%, 100% -20%, 120% 120%, 0% 120%);
}

.clipRhIn {
  transition: 0.6s -webkit-clip-path ease;
  transition: 0.6s clip-path ease;
  transition: 0.6s clip-path ease, 0.6s -webkit-clip-path ease;
  -webkit-clip-path: polygon(100% -20%, 100% -20%, 100% 120%, 100% 120%);
          clip-path: polygon(100% -20%, 100% -20%, 100% 120%, 100% 120%);
  display: block;
}
.clipRhIn.onAnim {
  -webkit-clip-path: polygon(0 -20%, 100% -20%, 120% 120%, 0% 120%);
          clip-path: polygon(0 -20%, 100% -20%, 120% 120%, 0% 120%);
}

.clipDownIn {
  transition: 0.6s -webkit-clip-path ease;
  transition: 0.6s clip-path ease;
  transition: 0.6s clip-path ease, 0.6s -webkit-clip-path ease;
  -webkit-clip-path: polygon(-100% 0, 200% 0, 200% 0, -100% 0);
          clip-path: polygon(-100% 0, 200% 0, 200% 0, -100% 0);
}
.clipDownIn.onAnim {
  -webkit-clip-path: polygon(-100% 0, 200% 0, 200% 100%, -100% 100%);
          clip-path: polygon(-100% 0, 200% 0, 200% 100%, -100% 100%);
}

body.loaded {
  position: relative;
}
body.loaded.open {
  position: fixed;
  z-index: 1;
}

/* ---------------------------
	parts
--------------------------- */
/* ---------------------------
	Loader
--------------------------- */
#loader {
  position: fixed;
  width: 100%;
  height: 100vh;
  top: 0;
  left: 0;
  z-index: 99999;
  background: #000;
}

/* ---------------------------
	Header
--------------------------- */
header div.humBtn {
  position: fixed;
  z-index: 2000;
  top: min(4.0322580645vw, 50px);
  left: min(8.064516129vw, 100px);
  width: min(4.0322580645vw, 50px);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
}
header div.humBtn .txt {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #fff;
  transition: 0.3s all;
}
header div.humBtn #trigger {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  height: min(2.4193548387vw, 30px);
}
header div.humBtn #trigger span {
  width: min(4.0322580645vw, 50px);
  height: 1px;
  background: #fff;
  transition: 0.3s all;
}
header div.humBtn #trigger + p {
  font-size: min(1.2096774194vw, 15px);
  margin-top: 0.5em;
  letter-spacing: -0.03em;
}
@media screen and (min-width: 769px) {
  header div.humBtn:hover #trigger span {
    -webkit-animation: humline 0.3s ease-in-out;
            animation: humline 0.3s ease-in-out;
  }
}
@-webkit-keyframes humline {
  0% {
    width: 0;
  }
  100% {
    width: min(4.0322580645vw, 50px);
  }
}
@keyframes humline {
  0% {
    width: 0;
  }
  100% {
    width: min(4.0322580645vw, 50px);
  }
}
header div.humBtn.open .txt {
  opacity: 0;
}
header div.humBtn.open #trigger span:first-child, header div.humBtn.open #trigger span:last-child {
  width: 0;
}
header div.humBtn.open #trigger span:nth-child(2) {
  width: min(4.435483871vw, 55px);
  transform: translateY(min(0.3225806452vw, 4px)) rotate(30deg);
  transition-delay: 0s !important;
}
header div.humBtn.open #trigger span:nth-child(3) {
  width: min(4.435483871vw, 55px);
  transform: translateY(max(-0.3225806452vw, -4px)) rotate(-30deg);
  transition-delay: 0s !important;
}
@media screen and (min-width: 769px) {
  header div.humBtn.open:hover #trigger span {
    -webkit-animation: none;
            animation: none;
  }
}
header.scrolled div.humBtn {
  mix-blend-mode: exclusion;
}
header div.globalMenu {
  position: absolute;
  top: 50px;
  right: 75px;
  z-index: 100;
}
header div.globalMenu ul {
  font-weight: 500;
  display: flex;
  flex-direction: row-reverse;
  gap: 1em;
}
header div.globalMenu ul li {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
header div.globalMenu a {
  color: #fff;
  position: relative;
}
header div.globalMenu a::before {
  transition: 0.3s all;
  content: "";
  width: 0;
  height: 0;
  border-radius: 50%;
  display: block;
  background: #228038;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  header div.globalMenu a:hover::before {
    width: min(0.4838709677vw, 6px);
    height: min(0.4838709677vw, 6px);
    top: max(-1.2096774194vw, -15px);
    left: calc(50% - min(0.2419354839vw, 3px));
  }
}

#contFixWrap {
  min-height: calc(var(--vh) * 100);
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  header div.humBtn {
    top: 5.3333333333vw;
    left: 4.8vw;
    width: 10.6666666667vw;
  }
  header div.humBtn #trigger {
    height: 6.4vw;
  }
  header div.humBtn #trigger span {
    width: 10.6666666667vw;
  }
  header div.humBtn #trigger + p {
    font-size: 3.2vw;
  }
  @-webkit-keyframes humline {
    0% {
      width: 0;
    }
    100% {
      width: 10.6666666667vw;
    }
  }
  @keyframes humline {
    0% {
      width: 0;
    }
    100% {
      width: 10.6666666667vw;
    }
  }
  header div.humBtn.open #trigger span:nth-child(2) {
    width: 12vw;
    transform: translateY(1.0666666667vw) rotate(30deg);
    transition-delay: 0s !important;
  }
  header div.humBtn.open #trigger span:nth-child(3) {
    width: 12vw;
    transform: translateY(-1.0666666667vw) rotate(-30deg);
    transition-delay: 0s !important;
  }
}
@media screen and (max-width: 767px) and (min-width: 769px) {
  header div.humBtn.open:hover #trigger span {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (max-width: 767px) {
  header.scrolled div.humBtn {
    mix-blend-mode: exclusion;
  }
}
@media screen and (max-width: 767px) {
  header div.globalMenu {
    display: none;
  }
}
div.ddMenu {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1950;
  width: 100%;
  height: 100vh;
  background-color: #231815;
  background-image: url(../img/stamp_wh60.svg);
  background-position: right max(-5.6451612903vw, -70px) bottom max(-2.0161290323vw, -25px);
  background-repeat: no-repeat;
  background-size: min(33.064516129vw, 410px) min(33.064516129vw, 410px);
  color: #fff;
}
div.ddMenu a {
  color: #fff;
  padding-bottom: min(0.4032258065vw, 5px);
}
div.ddMenu .logo {
  position: absolute;
  width: min(14.0322580645vw, 174px);
  top: min(2.8225806452vw, 35px);
  right: min(4.0322580645vw, 50px);
}
div.ddMenu div.menuWrap {
  width: min(37.0967741935vw, 460px);
  margin: 0 auto;
  border-bottom: 1px solid #595757;
}
div.ddMenu div.menuWrap > div {
  border-top: 1px solid #595757;
}
div.ddMenu nav {
  margin-top: min(3.2258064516vw, 40px);
}
div.ddMenu nav ul {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: 1em;
}
div.ddMenu nav ul li {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
div.ddMenu nav a {
  color: #fff;
  position: relative;
  font-size: min(1.4516129032vw, 18px);
}
div.ddMenu nav a::before {
  transition: 0.3s all;
  content: "";
  width: 0;
  height: 0;
  border-radius: 50%;
  display: block;
  background: #228038;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  div.ddMenu nav a:hover::before {
    width: min(0.6451612903vw, 8px);
    height: min(0.6451612903vw, 8px);
    top: max(-1.2096774194vw, -15px);
    left: calc(50% - min(0.3225806452vw, 4px));
  }
}
div.ddMenu div.gourmetSite {
  margin-top: min(4.0322580645vw, 50px);
  padding: min(1.6129032258vw, 20px) min(2.0161290323vw, 25px);
  display: flex;
  flex-direction: column;
  gap: min(1.2096774194vw, 15px);
}
div.ddMenu div.gourmetSite a {
  display: flex;
  align-items: center;
}
div.ddMenu div.gourmetSite a::before {
  content: "";
  background: url(../img/icon_gnav.png) 0 0 no-repeat;
  width: min(2.4193548387vw, 30px);
  height: min(2.4193548387vw, 30px);
  background-size: contain;
  margin-right: 0.8em;
  transition: 0.3s all;
}
@media screen and (min-width: 769px) {
  div.ddMenu div.gourmetSite a:hover::before {
    transform: scale(1.2);
  }
}
div.ddMenu div.gourmetSite .hpp a::before {
  background-image: url(../img/icon_hp.png);
  background-size: contain;
}
div.ddMenu div.groupSite {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(1.6129032258vw, 20px) min(2.0161290323vw, 25px);
}
div.ddMenu div.groupSite a {
  font-family: "Airbnb", "小塚ゴシック", "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  height: min(3.2258064516vw, 40px);
  border: 2px solid #228038;
  border-radius: min(3.2258064516vw, 40px);
  background: #fff;
  color: #228038;
  font-size: min(1.2096774194vw, 15px);
  font-weight: 500;
  padding: 0 min(1.6129032258vw, 20px);
  line-height: 1;
}
div.ddMenu div.groupSite a span {
  margin-left: 0.5em;
}
div.ddMenu div.groupSite a::before {
  content: "";
  width: min(1.7741935484vw, 22px);
  height: min(1.7741935484vw, 22px);
  background: url(../img/icon_tel_gr.svg) 0 0 no-repeat;
  margin-right: 0.5em;
}
@media screen and (min-width: 769px) {
  div.ddMenu div.groupSite a:hover {
    background: #228038;
    color: #fff;
  }
  div.ddMenu div.groupSite a:hover::before {
    background-image: url(../img/icon_tel_wh.svg);
  }
}
div.ddMenu div.groupSite .web a::before {
  width: min(1.6129032258vw, 20px);
  height: min(1.3709677419vw, 17px);
  background-image: url(../img/icon_web_gr.svg);
}
@media screen and (min-width: 769px) {
  div.ddMenu div.groupSite .web a:hover::before {
    background-image: url(../img/icon_web_wh.svg);
  }
}
div.ddMenu .privLink {
  position: absolute;
  bottom: min(2.8225806452vw, 35px);
  left: min(4.0322580645vw, 50px);
}
div.ddMenu.open {
  display: flex;
  align-items: center;
}

@media screen and (max-width: 767px) {
  div.ddMenu {
    height: calc(var(--vh) * 100);
    background-image: none;
    padding: 26.6666666667vw 8vw 8vw;
    box-sizing: border-box;
  }
  div.ddMenu .logo {
    width: 33.3333333333vw;
    top: 5.3333333333vw;
    right: 5.3333333333vw;
  }
  div.ddMenu div.menuWrap {
    width: 100%;
    box-sizing: border-box;
  }
  div.ddMenu nav {
    margin-top: 0;
  }
  div.ddMenu nav ul {
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(4, 1fr);
    justify-content: start;
    gap: 0.8em 0;
    padding: 0 2.6666666667vw;
  }
  div.ddMenu nav ul li {
    writing-mode: horizontal-tb;
    width: calc(50vw - 10.6666666667vw);
  }
  div.ddMenu nav a {
    font-size: 3.7333333333vw;
  }
  div.ddMenu div.gourmetSite {
    margin-top: 6.6666666667vw;
    padding: 4vw 2.6666666667vw;
    gap: 4vw;
  }
  div.ddMenu div.gourmetSite a::before {
    width: 5.8666666667vw;
    height: 5.8666666667vw;
  }
  div.ddMenu div.groupSite {
    padding: 4vw 0 4vw 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
  div.ddMenu div.groupSite a {
    width: 26.1333333333vw;
    height: 6.9333333333vw;
    border-radius: 6.6666666667vw;
    font-size: 2.9333333333vw;
    padding: 0;
  }
  div.ddMenu div.groupSite a::before {
    width: 4.2666666667vw;
    height: 4.2666666667vw;
  }
  div.ddMenu div.groupSite .web a::before {
    width: 3.7333333333vw;
    height: 3.2vw;
  }
  div.ddMenu .privLink {
    position: static;
    margin: 4vw 0 0 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
  div.ddMenu.open {
    overflow: auto;
    flex-direction: column;
    align-items: flex-start;
  }
}
/* ---------------------------
	footer
--------------------------- */
footer {
  background: #231815;
  padding: min(4.0322580645vw, 50px) 0 min(4.0322580645vw, 50px);
  color: #fff;
}
footer .flogo {
  margin: 0 auto;
  width: min(16.1290322581vw, 200px);
}
footer nav {
  margin-top: min(3.2258064516vw, 40px);
}
footer nav ul {
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
  gap: 1em;
}
footer nav ul li {
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 500;
}
footer nav a {
  color: #fff;
  position: relative;
}
footer nav a::before {
  transition: 0.3s all;
  content: "";
  width: 0;
  height: 0;
  border-radius: 50%;
  display: block;
  background: #228038;
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  footer nav a:hover::before {
    width: min(0.4838709677vw, 6px);
    height: min(0.4838709677vw, 6px);
    top: max(-1.2096774194vw, -15px);
    left: calc(50% - min(0.2419354839vw, 3px));
  }
}
footer .btmMenu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: min(0.9677419355vw, 12px);
  margin-top: min(1.2096774194vw, 15px);
  padding: 0 min(8.064516129vw, 100px);
}
footer .btmMenu a {
  color: #fff;
  padding-bottom: min(0.4032258065vw, 5px);
}
footer .btmMenu .cpright {
  font-size: min(0.8064516129vw, 10px);
}

#pageTop {
  position: absolute;
  right: max(-3.2258064516vw, -40px);
  top: max(-1.2096774194vw, -15px);
  cursor: pointer;
  width: min(5.6451612903vw, 70px);
  height: min(5.6451612903vw, 70px);
  background: #f3cf11;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
}
#pageTop img {
  width: min(4.0322580645vw, 50px);
}

@media screen and (max-width: 767px) {
  footer {
    padding: 9.3333333333vw 0 8vw;
  }
  footer .flogo {
    width: 45.3333333333vw;
  }
  footer nav {
    margin-top: 8vw;
  }
  footer nav ul {
    gap: 0.8em;
  }
  footer .btmMenu {
    flex-direction: column;
    font-size: 3.4666666667vw;
    margin-top: 10.6666666667vw;
    padding: 0 8vw;
  }
  footer .btmMenu p {
    width: 100%;
  }
  footer .btmMenu a {
    display: block;
    text-align: right;
    padding-bottom: 0;
  }
  footer .btmMenu .cpright {
    margin-top: 5.3333333333vw;
    font-size: 2.9333333333vw;
    text-align: center;
  }
  #pageTop {
    width: 16vw;
    height: 16vw;
    right: 2.6666666667vw;
    bottom: 0;
    top: auto;
  }
  #pageTop img {
    width: 12.8vw;
  }
}
div.floatingBnr div.pcBnrBox > p {
  position: fixed;
  top: calc(50% - min(10.4838709677vw, 130px));
  right: max(-8.064516129vw, -100px);
  z-index: 10;
  transition: 0.3s all;
}
div.floatingBnr div.pcBnrBox > p.active {
  right: -1px;
}
div.floatingBnr div.pcBnrBox > p a {
  background: #f3cf11;
  border: 1px solid #f3cf11;
  border-right: none;
  width: min(6.4516129032vw, 80px);
  height: min(20.9677419355vw, 260px);
  border-radius: min(1.6129032258vw, 20px) 0 0 min(1.6129032258vw, 20px);
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #f3cf11;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-size: min(1.4516129032vw, 18px);
  font-weight: 700;
  color: #231815;
}
div.floatingBnr div.pcBnrBox > p a::before {
  content: "";
  width: min(3.2258064516vw, 40px);
  height: min(3.2258064516vw, 40px);
  background: url(/img/icon_inq.png) 0 0 no-repeat;
  background-size: cover;
  margin-bottom: 0.75em;
}
div.floatingBnr div.pcBnrBox > p a:hover {
  background: #fff;
  color: #f3cf11;
}

@media screen and (max-width: 767px) {
  div.floatingBnr.active div.spBnrBox {
    bottom: 0;
  }
  div.floatingBnr.toDown div.spBnrBox {
    bottom: -100px;
  }
  div.floatingBnr div.pcBnrBox {
    display: none;
  }
}
/*# sourceMappingURL=layout.css.map */