﻿@charset "UTF-8";
:root {
}

* {
  padding: 0;
  margin: 0;
  box-sizing: unset;
}

body,
header,
section,
footer,
h1,
h2,
h3,
h4,
h5,
h6,
input,
textarea,
button,
select {
  font-family: "Pretendard Variable", "Pretendard", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  letter-spacing: -0.04vw;
}

p {
  word-break: break-all;
  overflow-wrap: break-word;
}

ul,
ol {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

section {
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex-direction: column;
}
.flexcol{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
}

html {
  scroll-behavior: smooth;
}

.flowhid {
  overflow: hidden;
}

.hide {
  display: none !important;
}

.hideopa {
  opacity: 0 !important;
}

.show {
  opacity: 1 !important;
}

@keyframes ddm3 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: rotate(-8deg);
  }
  65% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes ddm4 {
  0% {
    transform: scale(1);
  }
  25% {
    transform: rotate(-2deg);
  }
  50% {
    transform: scale(1.05);
  }
  75% {
    transform: rotate(2deg);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes blk3 {
  0% {
    opacity: 1;
  }
  24% {
    opacity: 1;
  }
  25% {
    opacity: 0;
  }
  99% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes rotate_image {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes scaleOpa {
  100% {
    transform: scale(1.1);
    opacity: 0;
  }
}
@keyframes scaleOpa2 {
  100% {
    transform: scale(1.4);
    opacity: 0;
  }
}
@keyframes ddm {
  0% {
    transform: scale(1);
  }
  50% {
    transform: matrix(1.05, 0.01, 0.01, 1.05, 0, -30);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes rotate_imageY {
  0% {
    transform: rotateY(0);
  }
  100% {
    transform: rotateY(360deg);
  }
}
@keyframes ddm2 {
  0% {
    transform: scale(1);
  }
  50% {
    transform: translateY(20px);
  }
  75% {
    transform: scale(1.02);
    transform: translateY(10px);
  }
  100% {
    transform: scale(1);
    transform: translateY(0px);
  }
}
@keyframes scaleOpa3 {
  100% {
    transform: scale(1.3);
    opacity: 0;
  }
}
@keyframes smoke {
  0% {
    transform: translateY(20%) scale(0.8);
    opacity: 0.3;
  }
  20% {
    opacity: 1;
  }
  100% {
    transform: translateY(-10%) scale(1);
    opacity: 0.3;
  }
}
.smoke {
  animation: smoke 4s infinite linear;
}
.smoke_con06_02 {
  animation: smoke 1.7s infinite linear;
}

@keyframes light {
  0%, 31%, 34%, 39%, 42%, 47% {
    opacity: 0;
  }
  5%, 30%, 35%, 38%, 43%, 46% {
    opacity: 0.4;
  }
  50%, 55%, 60%, 67%, 51%, 54%, 68%, 100% {
    opacity: 1;
  }
  70% {
    opacity: 0.2;
  }
}
@keyframes marqueeX {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
@keyframes marqueeX_r {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}
@keyframes marqueeY {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(-100%);
  }
}
@keyframes marqueeY_r {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(100%);
  }
}
@keyframes opa {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes shakeAndFall {
  0% {
    transform: translate(0, -50%) rotate(0);
    opacity: 0;
  }
}
.shakeTwice {
  animation: shakeTwice 2s ease-in-out infinite;
  transform-origin: center;
}

.shakeTwices {
  animation: shakeTwices 2s ease-in-out infinite;
  transform-origin: center;
}

@keyframes shakeTwice {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(5deg);
  }
  20% {
    transform: rotate(-5deg);
  }
  30% {
    transform: rotate(4deg);
  }
  40% {
    transform: rotate(-4deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes shakeTwices {
  0% {
    transform: rotate(0deg);
  }
  10% {
    transform: rotate(3deg);
  }
  20% {
    transform: rotate(-3deg);
  }
  30% {
    transform: rotate(2deg);
  }
  40% {
    transform: rotate(-2deg);
  }
  50% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
div.swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.swiper-wrapper.flow {
  pointer-events: none;
  transition-timing-function: linear;
}

section {
  font-family: "Pretendard Variable";
  font-weight: 300;
  font-size: calc(var(--px) * 18);
  letter-spacing: -0.04vw;
}

section img {
  width: 100%;
}

section:not(.map_section) img {
  pointer-events: none;
}

.swiper-button-disabled {
  opacity: 0.3;
}

.noto {
  font-family: "Noto Serif", serif;
}

.notokr {
  font-family: "Noto Serif KR", serif;
}

.exbold {
  font-weight: 700;
}

.bold {
  font-weight: 700;
}

.sebold {
  font-weight: 600;
}

.medium {
  font-weight: 500;
}

.regular {
  font-weight: 400;
}

.flight {
  font-weight: 200;
}

.thin {
  font-weight: 100;
}

.animate-blk {
  animation: blk 1s infinite ease-in-out;
}

.scaleOpa {
  animation: scaleOpa infinite 2s;
}

.scaleOpa2 {
  animation: scaleOpa2 infinite 2s;
}

.light {
  animation: light infinite 5s;
}

.rotate_img {
  animation: rotate_image 10s infinite linear;
}

.white {
  color: white;
}

.txct {
  text-align: center;
}

.lh {
  line-height: 1.5;
}

/* reveal ????ъ슜 start */
/* ?쇱そ遺???섑??섍린 */
.clip_off02 {
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
  transition: all 0.8s;
}

/* 媛?대뜲?먯꽌 ?섑??섍린 */
.clip_off {
  clip-path: polygon(50% 0, 50% 0, 50% 100%, 50% 100%);
  transition: all 0.8s;
}

/* gsap?먯꽌 ?ｌ쓣 class */
.clip_on {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%) !important;
}

/* reveal ????ъ슜 end */
.absol_cover {
  width: 100%;
  height: 100%;
  top: 0%;
  left: 0%;
  position: absolute;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}

.max_width {
  width: unset !important;
  max-width: 101%;
}

.back_img {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: top center;
}

/* image_sd */
.image_sd_wrap {
  overflow: hidden;
}

.image_sd {
  animation: marqueeX 6s infinite linear;
}

.image_sd .absol {
  left: 100%;
}

.image_sd_r {
  animation: marqueeX_r 20s infinite linear;
}

.image_sd_r .absol {
  right: 100%;
}

/* image_sd end */
/* y_slide start */
.slide_y_wrap {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 0%;
  overflow: hidden;
}

.slide_y {
  animation: marqueeY 20s infinite linear;
}

.slide_y img.absol {
  top: 100%;
}

.slide_y_r {
  animation: marqueeY_r 20s infinite linear;
}

.slide_y_r img.absol {
  bottom: 100%;
}

/* y_slide end */
/* flow_sd 媛濡?(?щ윭 ?대?吏 留덊? start */
.flow_sd {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
.flow_sd_move {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  animation: marqueeX 20s infinite linear;
}
.flow_sd_move_r {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  animation: marqueeX_r 20s infinite linear;
}
.flow_sd_move_item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.flow_sd_move_item02 {
  left: 100%;
}
.flow_sd_move_item02_r {
  right: 100%;
}
.flow_sd_img {
  display: flex;
  justify-content: center;
  align-items: center;
}
/* flow_sd 媛濡?end */
/* flow_sd ?몃줈 (?щ윭 ?대?吏 留덊? start */
.flow_sd_y {
  height: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  overflow: hidden;
}
.flow_sd_y_move {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  animation: marqueeY 10s infinite linear;
}
.flow_sd_y_move_r {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  animation: marqueeY_r 10s infinite linear;
}
.flow_sd_y_move_item {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
}
.flow_sd_y_move_item02 {
  top: 100%;
}
.flow_sd_y_move_item02_r {
  bottom: 100%;
}
.flow_sd_y_img {
  display: flex;
  justify-content: center;
  align-items: center;
}
/* flow_sd ?몃줈 end */
/* swiper-arr */
.btn_arr {
  z-index: 2;
  cursor: pointer;
}

.arr_next {
  transform: rotateY(180deg);
}

/* swiper-arr */
iframe {
  width: 100%;
  height: 100%;
  pointer-events: none;
}

video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* .swiper-button-lock {
  display: none !important;
} */

.swiper {
  margin: 0;
  z-index: 0;
}

b {
  font-weight: 700;
}

.obj > img {
  height: 100%;
  object-fit: cover;
}

/* 留덉빱?붿옄??*/
.map_marker {
  position: relative;
  display: inline-block;
}

/* 留먰뭾???띿뒪??諛뺤뒪 */
.map_marker_text {
  background: #711835;
  border: 1px solid #fff;
  padding: 9px 19px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);
}

/* 留먰뭾??瑗щ━ (?쇨컖???뚮몢由? */
.map_marker_tail {
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  border-top: 8px solid #fff;
}

/* 留먰뭾??瑗щ━ ?대? (?곗깋 梨꾩슦湲? */
.map_marker_tail::after {
  content: "";
  position: absolute;
  top: -9px;
  left: -7px;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-top: 7px solid #711835;
}

/* ?쇰툝?쒖옉 */

/* ===== .main : con01 (white logo overlay) + con02 (dark hero base) ===== */
.main {
  position: relative;
  width: 100%;
  height: 100vh;
  padding: 0;
  margin-top: -0.8vw;
}

.con02 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  background-image: url('/images/con02_bg.webp');
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  z-index: 5;
  transform: translateY(101%);
}

.con02_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: calc(var(--px) * 600);
}

.con02_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 51);
  aspect-ratio: 1 / 1;
}

.con02_sub {
    font-size: calc(var(--px) * 37);
    color: #fff;
    font-weight: 600;
    margin-top: 1.9vw;
    letter-spacing: -0.05vw;
    text-align: center;
}

.con02_sub b {
  color: #fbb522;
  font-weight: 700;
}

.con02_tt {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 83);
  color: #fff;
  font-weight: 600;
  margin-top: 0.5vw;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con02_desc {
  font-size: calc(var(--px) * 22);
  color: #fff;
  font-weight: 400;
  line-height: 1.5em;
  margin-top: 1.3vw;
  text-align: center;
}

.con02_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 250);
  height: calc(var(--px) * 69);
  background-color: #841c1d;
  border-radius: calc(var(--px) * 50);
  margin-top: 2.9vw;
  gap: calc(var(--px) * 20);
}
.con02_btn:hover .con02_btn_arrow{
  animation: arrow 1.8s infinite;
}
@keyframes arrow {
    0% {
        transform: translateX(0);
    }
    26% {
        transform: translateX(0.3vw);
    }
    40% {
        transform: translateX(0);
    }
    50% {
        transform: translateX(0.3vw);
    }
    60% {
        transform: translateX(0);
    }
    100% {
        transform: translateX(0);
    }
}

.con02_btn_tx {
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: calc(var(--px) * 18);
  color: #fff;
  font-weight: 700;
  letter-spacing: -0.05vw;
}

.con02_btn_arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 24);
  aspect-ratio: 1 / 1;
}

.con01 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #ffffff;
  z-index: 4;
      background: url("/images/con01_bg.webp") no-repeat;
    background-size: cover;
    background-position: center;
}

.con01_01{
  top: 0;
  position: absolute;
}

.con01_inner {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.con01_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 100);
  aspect-ratio: 100 / 180;
}

.con01_label {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 18);
  color: #000;
  font-weight: 500;
  margin-top: 1vw;
  letter-spacing: 0.5vw;
  text-align: center;
}

.con01_02 {
  margin-top: 5vw;
}

.con01_quote {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 22);
  color: #000;
  font-weight: 500;
  margin-top: 1.5vw;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con01_logo img,
.con01_emblem img,
.con02_icon img {
  width: 100%;
}

.main {
  height: auto;
}

.con02,
.con01 {
  height: 100vh;
}

.con03 {
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  padding-top: 4.5vw;
  overflow: hidden;
  background: url('/images/con03_bg.webp') center top / cover no-repeat;
}
.con03_06{
  top: 0;
}

.con03_panel {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 1795);
  aspect-ratio: 1795 / 898;
  background: url('/images/con03_08.webp') center bottom / contain no-repeat;
}

.con03_badge {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 8;
  width: calc(var(--px) * 252);
  aspect-ratio: 1 / 1;
}

.con03_08{
  bottom: 0;
  z-index: 1;
}

.con03_badge img {
  width: 100%;
}

.con03_badge p {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  font-size: calc(var(--px) * 27);
  line-height: 1.3em;
  color: #fff;
  font-weight: 600;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con03_badge b {
  color: #ffc400;
  font-weight: 600;
}

.con03_badge_left {
  left: 21%;
  top: 30%;
}

.con03_badge_right {
  right: 21%;
  top: 30%;
}

.con03_title_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 20%;
  z-index: 9;
  width: calc(var(--px) * 520);
  min-height: calc(var(--px) * 132);
  transform: translateX(-50%);
}

.con03_title {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  opacity: 0;
  text-align: center;
}

.con03_title_01 {
  animation: con03TitleOne 7s ease-in-out infinite;
}

.con03_title_02 {
  animation: con03TitleTwo 7s ease-in-out infinite;
}

.con03_title_main {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 58);
  color: #0f0b06;
  font-weight: 600;
  line-height: 1.2em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con03_title_sub {
  margin-top: calc(var(--px) * 18);
  font-size: calc(var(--px) * 20);
  color: #111;
  font-weight: 500;
  line-height: 1.45em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con03_bowl {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 44%;
  z-index: 6;
  width: calc(var(--px) * 760);
  aspect-ratio: 760 / 520;
  transform: translateX(-50%);
}

.con03_food {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 4%;
  bottom: 0;
  z-index: 2;
  width: calc(var(--px) * 635);
}

.con03_smoke {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 3%;
  top: -58%;
  z-index: 4;
  width: calc(var(--px) * 640);
  opacity: 0;
  pointer-events: none;
  animation: con03SmokeLoop 7s ease-in-out infinite;
}
.con03_smoke img{
  animation: smoke 2.5s infinite;
}

.con03_lid {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 14%;
    top: -13%;
    z-index: 3;
    width: calc(var(--px) * 511);
    transform-origin: 62% 58%;
    animation: con03LidLoop 7s ease-in-out infinite;
}

.con03_food img,
.con03_smoke img,
.con03_lid img {
  width: 100%;
}

.con03_pattern {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  width: calc(var(--px) * 1179);
  transform: translateX(-50%);
}

.con03_pattern img {
  width: 100%;
}

@keyframes con03TitleOne {
  0%,
  41% {
    opacity: 1;
    transform: translateY(0);
  }
  48%,
  91% {
    opacity: 0;
    transform: translateY(calc(var(--px) * -14));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes con03TitleTwo {
  0%,
  41% {
    opacity: 0;
    transform: translateY(calc(var(--px) * 14));
  }
  48%,
  91% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(calc(var(--px) * 14));
  }
}

@keyframes con03LidLoop {
  0%,
  41% {
    transform: translate(0, 0) rotate(0deg);
  }
  48%,
  91% {
    transform: translate(70%, -20%) rotate(13deg);
  }
  100% {
    transform: translate(0, 0) rotate(0deg);
  }
}

@keyframes con03SmokeLoop {
  0%,
  43% {
    opacity: 0;
    transform: translateY(calc(var(--px) * 18)) scale(0.96);
  }
  50%,
  86% {
    opacity: 0.9;
    transform: translateY(0) scale(1);
  }
  93%,
  100% {
    opacity: 0;
    transform: translateY(calc(var(--px) * -16)) scale(1.04);
  }
}

.con04 {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    width: 100%;
    overflow: hidden;
    background-color: #100c09;
    padding-top: 0;
}

.con04_top {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 3;
  width: 100%;
  height: calc(var(--px) * 36);
  gap: calc(var(--px) * 18);
}

.con04_top p {
  font-size: calc(var(--px) * 18);
  color: #fff;
  font-weight: 700;
  letter-spacing: 0;
}

.con04_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 162);
}

.con04_inner {
  display: flex;
  justify-content: center;
  align-items: stretch;
  position: relative;
  z-index: 2;
  width: calc(var(--px) * 1680);
  min-height: calc(var(--px) * 920);
}

.con04_side {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  width: calc(var(--px) * 500);
  padding: calc(var(--px) * 80) 0;
  background: url('/images/con04_bg.webp') center center / cover no-repeat;
}

.con04_center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: calc(var(--px) * 680);
  background-color: #fff;
  text-align: center;
}

.con04_label {
  font-size: calc(var(--px) * 25);
  color: #111;
  font-weight: 700;
  letter-spacing: -0.05vw;
}

.con04_bar {
  width: calc(var(--px) * 118);
  margin-top: calc(var(--px) * 8);
}

.con04_title {
    margin-top: calc(var(--px) * 42);
    font-family: 'MaruBuri', serif;
    font-size: calc(var(--px) * 57);
    color: #111;
    font-weight: 600;
    line-height: 1.28em;
    letter-spacing: -0.05vw;
}

.con04_title b {
    color: #8d171c;
    font-weight: 600;
}

.con04_desc {
    margin-top: calc(var(--px) * 40);
    font-size: calc(var(--px) * 19);
    color: #111;
    font-weight: 400;
    line-height: 1.6em;
    letter-spacing: -0.05vw;
}

.con04_copy {
    margin-top: calc(var(--px) * 28);
    font-size: calc(var(--px) * 20);
    color: #111;
    font-weight: 700;
    line-height: 1.5em;
    letter-spacing: -0.05vw;
}

.con04_copy b {
    color: #6f3b19;
    font-weight: 700;
}

.con04_en {
    position: absolute;
    left: 0;
    bottom: calc(var(--px) * 130);
    width: 100%;
font-family: "joly-headline", sans-serif;
    font-size: calc(var(--px) * 17);
    color: #78736f;
    font-weight: 600;
    letter-spacing: 0;
    text-align: center;
}

.con04_menu {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 375);
  aspect-ratio: 1 / 1;
}

.con04_04,
.con04_04a,
.con04_04b,
.con04_04c,
.con04_03,
.con04_05,
.con04_06,
.con04_06a {
  display: flex;
  justify-content: center;
  align-items: center;
}

.con04_04,
.con04_04a,
.con04_04b,
.con04_04c {
  width: 100%;
  transform: scale(1);
  transition: transform 0.5s ease;
}

.con04_03 {
  position: absolute;
  left: 50%;
  top: 36%;
  z-index: 3;
  width: calc(var(--px) * 350);
  opacity: 0;
  transform: translate(-50%, -38%) scale(0.82);
  animation: con04CoverLoop 12s ease-in-out infinite;
}

.con04_menu_text {
  position: absolute;
  left: 50%;
  top: 44%;
  z-index: 4;
  width: calc(var(--px) * 250);
  opacity: 0;
  transform: translate(-50%, -34%);
  font-size: calc(var(--px) * 25);
  color: #fff;
  font-weight: 600;
  line-height: 1.35em;
  letter-spacing: -0.05vw;
  text-align: center;
  animation: con04TextLoop 12s ease-in-out infinite;
}

.con04_menu_text b {
  color: #fbb522;
  font-weight: 600;
}

.con04_menu_02 .con04_03,
.con04_menu_02 .con04_menu_text {
  animation-delay: 3s;
}

.con04_menu_03 .con04_03,
.con04_menu_03 .con04_menu_text {
  animation-delay: 6s;
}

.con04_menu_04 .con04_03,
.con04_menu_04 .con04_menu_text {
  animation-delay: 9s;
}

.con04_deco {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  top: 50%;
  z-index: 2;
  gap: calc(var(--px) * 28);
  transform: translateY(-50%);
}

.con04_deco_left {
  left: calc(var(--px) * 32);
}

.con04_deco_right {
  right: calc(var(--px) * 32);
}

.con04_deco .con04_06,
.con04_deco .con04_06a {
  width: calc(var(--px) * 58);
}

.con04 img {
  width: 100%;
}

@keyframes con04CoverLoop {
  0%,
  18% {
    opacity: 1;
    transform: translate(-50%, -38%) scale(1);
  }
  25%,
  93% {
    opacity: 0;
    transform: translate(-50%, -30%) scale(0.88);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -38%) scale(1);
  }
}

@keyframes con04TextLoop {
  0%,
  18% {
    opacity: 1;
    transform: translate(-50%, -34%) scale(1);
  }
  25%,
  93% {
    opacity: 0;
    transform: translate(-50%, -28%) scale(0.94);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -34%) scale(1);
  }
}

.con05 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: row;
  position: relative;
  width: 100%;
  min-height: calc(var(--px) * 890);
  overflow: hidden;
  background: url('/images/con05_bg.webp') center center / cover no-repeat;
}
.con05_bg{
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0.4;
}
.con05_line.item1 {
    width: 1px;
    height: 100%;
    left: 50%;
    position: absolute;
    background-color: #fff;
    opacity: 0.2;
}
.con05_line.item2 {
    width: 49.9%;
    height: 1px;
    right: 0;
    top: 37.5%;
    position: absolute;
    background-color: #fff;
    opacity: 0.2;
}

.con05_left {
  position: absolute;
  left: 6%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  /* position: relative; */
  z-index: 3;
  width: calc(var(--px) * 590);
  aspect-ratio: 590 / 580;
  margin-right: calc(var(--px) * 250);
  pointer-events: none;
}

.con05_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

.con05_label {
    position: relative;
    z-index: 2;
    padding: 0.9vw 1.3vw;
    border-radius: 100%;
    background-color: #100c09;
    font-size: calc(var(--px) * 20);
    color: #fff;
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.05vw;
}

.con05_title {
    position: relative;
    z-index: 2;
    margin-top: 3.5vw;
    font-family: 'MaruBuri', serif;
    font-size: calc(var(--px) * 56);
    color: #111;
    font-weight: 600;
    line-height: 1.35em;
    letter-spacing: -0.05vw;
    text-align: center;
    margin-bottom: 4vw;
}

.con05_title b {
  color: #8d171c;
  font-weight: 600;
}

.con05_02 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    /* left: 50%; */
    bottom: -2px;
    z-index: 2;
    width: calc(var(--px) * 124);
    /* transform: translateX(-50%); */
}

.con05_right {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 75.3%;
    margin-left: auto;
    min-height: calc(var(--px) * 420);
}

.con05_slide {
    width: 100%;
    overflow: hidden;
    padding-top: 4vw;
}

.con05_item {
  width: 20vw;
  display: flex;
  flex-direction: column;
  min-height: calc(var(--px) * 420);
  color: #fff;
  position: relative;
  transition: 0.3s;
}
.swiper-slide-active .con05_item{
  opacity: 0;
}

.con05_05, .con05_05a, .con05_05b {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--px) * 46);
    margin-bottom: 0;
    position: absolute;
    left: -3.5vw;
    top: -3.5vw;
}

.con05_item_title {
    font-size: 1.5vw;
    color: #fff;
    font-weight: 600;
    line-height: 1.2em;
    letter-spacing: -0.05vw;
}

.con05_item_desc {
  margin-top: calc(var(--px) * 55);
  font-size: calc(var(--px) * 18);
  color: rgba(255, 255, 255, 0.72);
  font-weight: 400;
  line-height: 1.65em;
  letter-spacing: -0.05vw;
}

.con05_item_desc b {
    color: #fff;
    font-weight: 600;
}

.con05 img {
  width: 100%;
}

.con06 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 100%;
    min-height: calc(var(--px) * 910);
    padding-top: 2vw;
    overflow: hidden;
    background: url('/images/con06_bg.webp') center center / cover no-repeat;
}
.con06_02 {
    bottom: 5%;
    left: -29%;
}
.con06_02 img{
  opacity: 0.6;
}

.con06_left {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 13%;
    top: 29%;
    z-index: 4;
    /* width: calc(var(--px) * 250); */
    /* min-height: calc(var(--px) * 560); */
    transform: translateY(-50%);
}

.con06_11 {
    display: flex;
    justify-content: center;
    align-items: center;
    /* position: absolute; */
    left: calc(var(--px) * 18);
    top: 0;
    z-index: 1;
    width: calc(var(--px) * 277);
}

.con06_side_title {
    display: grid;
    grid-template-columns: repeat(2, calc(var(--px) * 78));
    grid-auto-rows: calc(var(--px) * 75);
    position: absolute;
    left: 22%;
    top: 22.4%;
    z-index: 2;
    font-family: 'MaruBuri', serif;
    font-size: calc(var(--px) * 48);
    color: #111;
    font-weight: 600;
    line-height: 1em;
    letter-spacing: 0;
    text-align: center;
}

.con06_side_title span {
  display: flex;
  justify-content: center;
  align-items: center;
}

.con06_fire_desc {
    right: 0;
    bottom: calc(var(--px) * 18);
    z-index: 2;
    width: auto;
    font-size: calc(var(--px) * 17);
    color: #111;
    font-weight: 400;
    line-height: 1.7em;
    letter-spacing: -0.05vw;
    text-align: right;
    white-space: nowrap;
    margin-right: 1vw;
}

.con06_center {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 900);
  aspect-ratio: 900 / 760;
}

.con06_05 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: calc(var(--px) * 760);
  transform: translate(-50%, -50%);
}

.con06_03 {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 58%;
    top: 54.5%;
    z-index: 4;
    width: calc(var(--px) * 635);
    transform: translate(-50%, -50%);
}

.con06_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: calc(var(--px) * 66);
  z-index: 5;
  width: calc(var(--px) * 142);
  transform: translateX(-50%);
}

.con06_01 p {
    position: absolute;
    left: 0;
    /* top: 50%; */
    width: 100%;
    /* transform: translateY(-50%); */
    font-size: calc(var(--px) * 21);
    color: #fff;
    font-weight: 500;
    letter-spacing: -0.05vw;
    text-align: center;
}

.con06_point {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  z-index: 6;
}

.con06_06 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 8.3465vw !important;
}

.con06_06 p {
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  font-size: calc(var(--px) * 28);
  color: #fff;
  font-weight: 600;
  letter-spacing: -0.05vw;
  text-align: center;
  font-family: 'MaruBuri', serif;
}

.con06_point_line.item1 {
    margin-bottom: -3.5vw;
    margin-right: -2vw;
}
.con06_point_line.item2 {
    margin-bottom: -3.5vw;
    margin-left: -4vw;
}
.con06_point_line.item3 {
    margin-right: -4vw;
}

.con06_point_desc {
    font-size: calc(var(--px) * 17);
    color: #111;
    font-weight: 400;
    line-height: 1.7em;
    letter-spacing: -0.05vw;
    white-space: nowrap;
    margin-left: 1vw;
}

.con06_point_rice {
    right: -24%;
    top: 10%;
}

.con06_point_rice .con06_point_desc {
  left: calc(var(--px) * 185);
  top: calc(var(--px) * 40);
}

.con06_point_fire {
    left: -34%;
    top: 48%;
}

.con06_point_time {
    right: -24%;
    bottom: 21%;
}

.con06_point_time .con06_point_desc {
  left: calc(var(--px) * 170);
  top: calc(var(--px) * 40);
}

.con06_04 {
    left: 22.5%;
    bottom: 18%;
    z-index: 1;
}

.con06_line {
  position: absolute;
  z-index: -1;
  height: 1px;
  background-color: rgba(17, 17, 17, 0.65);
}

.con06_line_rice {
  right: calc(var(--px) * 105);
  top: calc(var(--px) * 70);
  width: calc(var(--px) * 150);
  transform: rotate(-45deg);
  transform-origin: right center;
}

.con06_line_fire {
  left: calc(var(--px) * 118);
  top: calc(var(--px) * 74);
  width: calc(var(--px) * 108);
}

.con06_line_time {
  right: calc(var(--px) * 110);
  top: calc(var(--px) * 74);
  width: calc(var(--px) * 125);
}

.con06_bottom_desc {
    position: absolute;
    left: 50%;
    bottom: 9%;
    z-index: 7;
    width: calc(var(--px) * 600);
    transform: translateX(-50%);
    font-size: calc(var(--px) * 18);
    color: #111;
    font-weight: 400;
    line-height: 1.6em;
    letter-spacing: -0.05vw;
    text-align: center;
}

.con06_bottom_desc b {
  font-size: calc(var(--px) * 19);
  font-weight: 700;
}
.con06_bottom_desc span{
  color: #6f3b19;
}

.con06 img {
  width: 100%;
}

.con07 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  min-height: calc(var(--px) * 980);
  background-color: #eadfd1;
}

.con07_frame {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 94.4%;
   
    box-sizing: border-box;

    background: url("/images/con07_bg.webp") no-repeat;
    background-size: cover;
    background-position: center;
}
.con07_btm_frame{
      width: 94.4%;
   
    box-sizing: border-box;

    background: url("/images/con07_bg2.webp") no-repeat;
    background-size: cover;
    background-position: center;
}
.con07_frame_in {
    width: 97%;
    height: 95%;
    background-color: #fff;
    overflow: hidden;
    height: 42vw;
    margin: 1.2vw 0 0 0;
}
.con07_frame_bg{
  width: calc(var(--px) * 26);
  background-color: #841c1d;
  height: 50%;
  bottom: 0;
  z-index: 5;
}
.con07_frame_bg.left{
  left: -26px;
}
.con07_frame_bg.right{
  right: -26px;
}


.con07_frame::before {
    content: "";
    position: absolute;
    /* left: 0; */
    z-index: 1;
    width: 97%;
    height: 1px;
    background-color: #e2e2e2;
}

.con07_frame::before {
  top: 48%;
}

.con07_frame::after {
  bottom: 0;
}

.con07_bg {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    z-index: 1;
    opacity: 0.12;
    filter: grayscale(1);
}

.con07_bg_top {
    right: 4%;
    top: -40%;
    width: calc(var(--px) * 560);
}

.con07_bg_bottom {
    left: 4%;
    bottom: -40%;
    width: calc(var(--px) * 560);
}

.con07_grid {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 9%;
  top: 4%;
  z-index: 3;
  width: calc(var(--px) * 230);
  height: calc(var(--px) * 350);
}

.con07_04 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--px) * 277);
  transform: translate(-50%, -50%);
  opacity: 0.55;
}

.con07_side_title {
  display: grid;
  grid-template-columns: repeat(2, calc(var(--px) * 79));
  grid-auto-rows: calc(var(--px) * 75);
  position: relative;
  z-index: 2;
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 48);
  color: #111;
  font-weight: 600;
  line-height: 1em;
  letter-spacing: 0;
  text-align: center;
  margin-bottom: 0.5vw;
}

.con07_side_title span {
  display: flex;
  justify-content: center;
  align-items: center;
}

.con07_main_menu {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: calc(var(--px) * 540);
  transform: translate(-50%, -50%);
}

.con07_07 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  opacity: 0;
  transition: 0.3s;
}
.con07_07.on{
  opacity: 1;
}

.con07_menu_caption {
  position: absolute;
  left: 50%;
  bottom: 18%;
  z-index: 2;
  transform: translateX(-50%);
  font-size: calc(var(--px) * 23);
  color: #fff;
  font-weight: 600;
  line-height: 1.35em;
  letter-spacing: -0.05vw;
  text-align: center;
  white-space: nowrap;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5vw;
}

.con07_menu_caption span {
font-family: "joly-headline", sans-serif;
  font-size: calc(var(--px) * 17);
  font-weight: 400;
  letter-spacing: 0;
}

.con07_icon {
  font-size: calc(var(--px) * 18);
  line-height: 1em;
  width: 2.9925vw !important;
}

.con07_categories {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 13%;
    top: 43%;
    z-index: 5;
    gap: calc(var(--px) * 5);
}

.con07_02,
.con07_02a,
.con07_02b {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
}

.con07_text {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: absolute;
    left: 70%;
    top: 63%;
    z-index: 5;
    gap: calc(var(--px) * 25);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}
.con07_btn{
  transition: 0.3s;
  filter:contrast(0.2);
  cursor: pointer;
}
.con07_btn.on{
  filter: contrast(1);
}
.con07_text.on{
  opacity: 1;
  visibility: visible;
}
.con07_01 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--px) * 5);
    margin-top: 4vw;
    /* margin-bottom: 0.5vw; */
}
.con07_text_title {
  font-size: calc(var(--px) * 37);
  color: #111;
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: -0.05vw;
  font-family: 'MaruBuri', serif;
}

.con07_text_desc {
    margin-top: calc(var(--px) * 25);
    font-size: calc(var(--px) * 19);
    color: #111;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: -0.05vw;
}

.con07 img {
  width: 100%;
}

/* ============== con07 硫붾돱 ============== */
.con07_btm_frame {
  padding: 5vw 0;
  background: url("/images/con07_bg2.webp") no-repeat;
    background-size: cover;
    background-position: center;
}

.con07_btm_frame {
    padding: 7vw 0 6vw 0;
    color: #fff;
}
.con07_09 {
    top: -1vw;
    z-index: 5;
}

.con07_btm_title {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 43);
  color: #fff;
  font-weight: 500;
  line-height: 1.2em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con07_btm_btn_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: calc(var(--px) * 86);
  margin-top: calc(var(--px) * 43);
}

.con07_btm_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  min-width: calc(var(--px) * 70);
  height: calc(var(--px) * 34);
  color: #fff;
  font-size: calc(var(--px) * 18);
  font-weight: 500;
  letter-spacing: -0.05vw;
  cursor: pointer;
}

.con07_btm_btn::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -10%;
    width: 0;
    height: 2px;
    background-color: #9b1c21;
    transform: translateX(-50%);
    transition: width 0.25s ease;
}

.con07_btm_btn.active::after {
  width: calc(var(--px) * 80);
}

.con07_btm_content_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
}

.con07_btm_content {
  display: none;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 100%;
}

.con07_btm_content.active {
  display: flex;
}

.con07_btm_visual {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 980);
  margin-top: calc(var(--px) * 35);
}

.con07_btm_big {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 890);
  height: calc(var(--px) * 360);
  overflow: hidden;
  border-radius: calc(var(--px) * 28);
}

.con07_btm_big img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.con07_btm_big p {
  position: absolute;
  left: 0;
  bottom: calc(var(--px) * 45);
  width: 100%;
  color: #fff;
  font-size: calc(var(--px) * 25);
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con07_btm_arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  z-index: 5;
  width: calc(var(--px) * 92);
  height: calc(var(--px) * 55);
  border-radius: calc(var(--px) * 34);
  background-color: #87502b;
  cursor: pointer;
  transform: translateY(-50%);
}

.con07_btm_prev {
  left: 0;
}

.con07_btm_next {
  right: 0;
}

.con07_btm_arrow img {
  width: calc(var(--px) * 24);
}

.con07_btm_prev img {
  transform: rotate(180deg);
}

.con07_btm_thumbs {
  width: calc(var(--px) * 1040);
  margin-top: calc(var(--px) * 31);
  overflow: hidden;
}

.con07_btm_thumb {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
}

.con07_12 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 118);
  height: calc(var(--px) * 118);
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: calc(var(--px) * 25);
  background-color: rgba(255, 255, 255, 0.02);
  transition: border-color 0.25s ease;
}

.con07_12 img {
  width: calc(var(--px) * 90);
}

.con07_btm_thumb.active .con07_12 {
  border-color: rgba(255, 255, 255, 0.55);
}

.con07_btm_thumb p {
  margin-top: calc(var(--px) * 16);
  min-height: calc(var(--px) * 45);
  color: #fff;
  font-size: calc(var(--px) * 17);
  font-weight: 700;
  line-height: 1.35em;
  letter-spacing: -0.05vw;
  text-align: center;

  overflow: hidden;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
}

.con07_btm_empty {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 890);
  height: calc(var(--px) * 520);
  margin-top: calc(var(--px) * 35);
  border-radius: calc(var(--px) * 28);
  background-color: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.72);
  font-size: calc(var(--px) * 24);
  font-weight: 600;
}

.con08 {
    position: relative;
    width: 100%;
    min-height: calc(var(--px) * 1010);
    padding-top: calc(var(--px) * 108);
    overflow: hidden;
    background: url("/images/con08_bg.webp") center top / cover no-repeat;
    box-sizing: border-box;
    padding-bottom: 6vw;
}

.con08_head {
  position: relative;
  z-index: 3;
  text-align: center;
}

.con08_label {
  font-size: calc(var(--px) * 20);
  color: #111;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.05vw;
}

.con08_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 123);
  margin-top: calc(var(--px) * 12);
}

.con08_title {
  margin-top: calc(var(--px) * 24);
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 40);
  color: #111;
  font-weight: 600;
  line-height: 1.35em;
  letter-spacing: -0.05vw;
}

.con08_title b {
  font-size: calc(var(--px) * 50);
  font-weight: 600;
}
.con08_title span{
  color: #8d171c;

}

.con08_desc {
  margin-top: calc(var(--px) * 20);
  font-size: calc(var(--px) * 19);
  color: #111;
  font-weight: 500;
  line-height: 1.65em;
  letter-spacing: -0.05vw;
  text-align: center;
}
.con08_desc b{
  color: #662f0a;
}

.con08_panel_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 4;
    width: 100%;
    gap: 8vw;
    margin-top: calc(var(--px) * 42);
}

.con08_card {
    display: flex;
    align-items: center;
    flex-direction: column;
    position: relative;
    width: calc(var(--px) * 750);
    height: calc(var(--px) * 410);
    border-radius: calc(var(--px) * 26);
    background-color: #fff;
    box-sizing: border-box;
}

.con08_card_left {
    justify-content: flex-start;
    padding-top: calc(var(--px) * 51);
    padding-left: calc(var(--px) * 25);
    padding-right: calc(var(--px) * 165);
    margin-right: calc(var(--px) * -70);
}

.con08_card_right {
    justify-content: flex-start;
    padding-top: calc(var(--px) * 51);
    padding-left: calc(var(--px) * 225);
    padding-right: calc(var(--px) * 98);
    margin-left: calc(var(--px) * -70);
}

.con08_card_title {
  font-size: calc(var(--px) * 21);
  color: #111;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con08_ratio {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 520);
  height: calc(var(--px) * 225);
  margin-top: calc(var(--px) * 28);
}

.con08_08,
.con08_09,
.con08_10 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
}

.con08_08 {
    left: 6%;
    top: 3%;
    width: calc(var(--px) * 213);
    z-index: 5;
}

.con08_09 {
    left: 43%;
    top: -1%;
    width: calc(var(--px) * 155);
    z-index: 4;
}

.con08_10 {
    right: 6%;
    top: 29%;
    width: calc(var(--px) * 137);
}

.con08_source {
    margin-top: 0vw;
    font-size: calc(var(--px) * 16);
    color: #9b9690;
    font-weight: 500;
    line-height: 1.3em;
    letter-spacing: -0.05vw;
}

.con08_center {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 5;

  color: #fff;
  text-align: center;
}

.con08_05 {
  position: absolute;
  z-index: 5;
}
.con08_03_wrap{
  display: flex;
}

.con08_02 {
  position: relative;
  z-index: 2;
  width: calc(var(--px) * 193);
  margin-top: calc(var(--px) * -18);
}

.con08_center_tx {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--px) * 25);
  font-size: calc(var(--px) * 27);
  color: #fff;
  font-weight: 600;
  line-height: 1.25em;
  letter-spacing: -0.05vw;
  font-family: 'MaruBuri', serif;
}

.con08_03 {
  position: relative;
  z-index: 2;
  width: calc(var(--px) * 173) !important;
  margin-top: calc(var(--px) * 3);
}

.con08_center_sub {
    position: relative;
    z-index: 2;
    font-size: calc(var(--px) * 50);
    color: #fff;
    font-family: 'MaruBuri', serif;
    font-weight: 400;
    letter-spacing: -0.05vw;
    transform: translateY(0.9vw);
    margin-left: -0.5vw;
}

.con08_test_grid {
  display: grid;
  grid-template-columns: repeat(2, calc(var(--px) * 194));
  grid-auto-rows: calc(var(--px) * 121);
  gap: calc(var(--px) * 12);
  margin-top: calc(var(--px) * 26);
}

.con08_test_item {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  border: 1px solid #e8e4de;
  border-radius: calc(var(--px) * 10);
  background-color: #fff;
  box-sizing: border-box;
}

.con08_11,
.con08_12,
.con08_13,
.con08_14 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 60);
}

.con08_test_item p {
  margin-top: calc(var(--px) * 15);
  font-size: calc(var(--px) * 15);
  color: #111;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con08_07 {
    position: absolute;
    right: calc(var(--px) * 46);
    bottom: calc(var(--px) * -41);
    width: calc(var(--px) * 218) !important;
    /* transform: rotate(-8deg); */
}

.con08_bottom {
    position: relative;
    z-index: 4;
    margin-top: 2vw;
    font-size: calc(var(--px) * 21);
    color: #fff;
    font-weight: 500;
    line-height: 1.45em;
    letter-spacing: -0.05vw;
    text-align: center;
}

.con08_bottom b {
  color: #f1b522;
  font-weight: 500;
}

.con08_06 {
  position: relative;
  z-index: 4;
  width: calc(var(--px) * 140);
  margin-top: calc(var(--px) * 55);
}

.con08 img {
  width: 100%;
}

.con09 {
    position: relative;
    width: 100%;
    min-height: calc(var(--px) * 1065);
    padding-top: 8vw;
    padding-bottom: 7vw;
    overflow: hidden;
    background: url("/images/con09_bg.webp") center top / cover no-repeat;
    box-sizing: border-box;
}
.con09 .con03_09 {
  bottom: 0;
}

.con09_top_pattern {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

.con09_head {
  position: relative;
  z-index: 3;
  text-align: center;
}

.con09_label {
  font-size: calc(var(--px) * 22);
  color: #fff;
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.05vw;
}

.con09_02 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  margin-top: calc(var(--px) * 12);
}

.con09_title {
  margin-top: calc(var(--px) * 29);
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 45);
  color: #fff;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con09_title b{
font-size: calc(var(--px) * 50);
 font-weight: 600;
}
.con09_title span {
  color: #f1b522;
}

.con09_desc {
  margin-top: calc(var(--px) * 24);
  font-size: calc(var(--px) * 20);
  color: #fff;
  font-weight: 500;
  line-height: 1.45em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con09_sales {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 3;
  width: calc(var(--px) * 1425);
  height: calc(var(--px) * 147);
  margin-top: calc(var(--px) * 50);
}

.con09_sales_box {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: calc(var(--px) * 735);
  height: calc(var(--px) * 147);
  box-sizing: border-box;
  animation-duration: 5.5s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
  transition: 0.3s;
}

.con09_sales_box.on{
  background-color: #f7efe4;
}
.con09_03,
.con09_04 {
  display: flex;
  justify-content: center;
  align-items: baseline;
  font-family: "joly-headline", sans-serif;
  color: #8a8a8a;
  transition: 0.3s;
}
.con09_sales_box.on .con09_03,
.con09_sales_box.on .con09_04{
  color: #1a1a1a;
}
.con09_sales_num{
  font-size: calc(var(--px) * 70);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
}
.con09_sales_won{
  margin-left: calc(var(--px) * 8);
  font-size: calc(var(--px) * 28);
  font-weight: 500;
  line-height: 1;
}

.con09_best {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 4;
  width: calc(var(--px) * 202);
  height: calc(var(--px) * 80);
  border-radius: calc(var(--px) * 45);
  background-color: #841c1d;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: calc(var(--px) * 22);
  font-weight: 600;
  letter-spacing: -0.05vw;
}
.con09_best span{
  opacity: 0;
  transition: 0.3s;
  position: absolute;
}
.con09_best span.on{
  opacity: 1;
}

.con09_copy {
  position: relative;
  z-index: 3;
  margin-top: calc(var(--px) * 58);
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 33);
  color: #fff;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -0.05vw;
  text-align: center;
}
.con09_copy span{
font-size: calc(var(--px) * 42);
}

.con09_store_slide_frame {
    position: relative;
    z-index: 3;
    width: 93%;
    margin-top: calc(var(--px) * 55);
    overflow: hidden;
    background-color: #000;
    padding: 0.5vw 0;
}

.con09_store_slide_frame::before,
.con09_store_slide_frame::after {
  content: "";
  position: absolute;
  top: 0;
  z-index: 4;
  width: calc(var(--px) * 245);
  height: 100%;
  pointer-events: none;
}

.con09_store_slide_frame::before {
  left: 0;
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0));
}

.con09_store_slide_frame::after {
  right: 0;
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.92), rgba(0, 0, 0, 0));
}

.con09_store_row {
  width: 100%;
  overflow: hidden;
}

.con09_store_row + .con09_store_row {
  margin-top: calc(var(--px) * 12);
}

.con09_store_track {
  display: flex;
}

.con09_store_card {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  flex: 0 0 auto;
  width: 15vw;
  padding: 1.3vw 0;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background-color: rgba(0, 0, 0, 0.42);
  box-sizing: border-box;
  color: #fff;
  text-align: center;
}

.con09_store_control {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
    width: 15.3vw;
    height: 100%;
    transform: translate(-50%, -50%);
    pointer-events: none;
    background-color: #000;
}

.con09_store_period {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 181);
  height: calc(var(--px) * 75);
  border-radius: calc(var(--px) * 50);
  font-size: calc(var(--px) * 20);
  font-weight: 600;
  line-height: 1em;
  letter-spacing: -0.05vw;
}

.con09_store_period_top {
  background-color: #fff;
  color: #111;
}

.con09_store_period_bottom {
    background-color: #382a1d;
    color: #fff;
}
.con09_tt{
  font-size: 0.85vw;
  color: #fff;
  margin-top: 1.5vw;
  opacity: 0.7;
}

.con09_store_nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: calc(var(--px) * 48);
  margin: calc(var(--px) * 28) 0;
  pointer-events: auto;
}

.con09_store_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--px) * 28);
    height: calc(var(--px) * 24);
    color: #fff;
    font-size: calc(var(--px) * 30);
    font-weight: 200;
    line-height: 1em;
    cursor: pointer;
}

.con09_store_name {
  font-size: calc(var(--px) * 20);
  color: #fff;
  font-weight: 500;
  line-height: 1.3em;
  letter-spacing: -0.05vw;
}

.con09_store_date {
  margin-top: calc(var(--px) * 7);
  font-size: calc(var(--px) * 16);
  color: rgba(255, 255, 255, 0.7);
  font-weight: 400;
  line-height: 1.3em;
  letter-spacing: -0.05vw;
}

.con09_store_price {
  margin-top: calc(var(--px) * 12);
font-family: "joly-headline", sans-serif;
  font-size: calc(var(--px) * 38);
  color: #fff;
  font-weight: 400;
  line-height: 1em;
  letter-spacing: -0.05vw;
}

.con09_store_price span {
    margin-left: calc(var(--px) * 6);
    font-family: "Pretendard Variable", "Pretendard", sans-serif;
    font-size: calc(var(--px) * 20);
    font-weight: 500;
}

.con09 img {
  width: 100%;
}

@keyframes con09SalesLeft {
  0%,
  45% {
    background-color: #f7efe4;
    opacity: 1;
  }
  50%,
  95% {
    background-color: rgba(0, 0, 0, 0.58);
    opacity: 0.72;
  }
  100% {
    background-color: #f7efe4;
    opacity: 1;
  }
}

@keyframes con09SalesRight {
  0%,
  45% {
    background-color: rgba(0, 0, 0, 0.58);
    opacity: 0.72;
  }
  50%,
  95% {
    background-color: #f7efe4;
    opacity: 1;
  }
  100% {
    background-color: rgba(0, 0, 0, 0.58);
    opacity: 0.72;
  }
}

@keyframes con09TextLeft {
  0%,
  45% {
    opacity: 1;
    filter: none;
  }
  50%,
  95% {
    opacity: 0.28;
    filter: invert(1) grayscale(1);
  }
  100% {
    opacity: 1;
    filter: none;
  }
}

@keyframes con09TextRight {
  0%,
  45% {
    opacity: 0.28;
    filter: invert(1) grayscale(1);
  }
  50%,
  95% {
    opacity: 1;
    filter: none;
  }
  100% {
    opacity: 0.28;
    filter: invert(1) grayscale(1);
  }
}

.con10 {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: stretch;
  flex-direction: row;
  width: 100%;
  height: calc(var(--px) * 930);
  overflow: hidden;
  background: url("/images/con10_bg.webp") center top / cover no-repeat;
}

.con10_left {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 50%;
  height: 100%;
  overflow: hidden;
}

.con10_left_inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: 100%;
  height: 100%;
  padding-top: calc(var(--px) * 190);
  box-sizing: border-box;
  text-align: center;
}

.con10_label {
  font-size: calc(var(--px) * 20);
  color: #111;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.04vw;
  text-align: center;
}

.con10_bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  aspect-ratio: 78 / 5;
  margin-top: calc(var(--px) * 10);
}

.con10_title {
  margin-top: calc(var(--px) * 47);
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 50);
  color: #111;
  font-weight: 600;
  line-height: 1.22em;
  letter-spacing: -0.06vw;
  text-align: center;
}

.con10_title b {
  color: #8f1b1d;
  font-weight: 600;
}

.con10_desc {
  margin-top: calc(var(--px) * 34);
  font-size: calc(var(--px) * 18);
  color: #111;
  font-weight: 500;
  line-height: 1.55em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con10_bowl {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 622);
  aspect-ratio: 622 / 349;
  margin-top: calc(var(--px) * 76);
}

.con10_right {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: 50%;
  height: 100%;
  
  background-color: #d5ccbd;
}

.con10_right_inner {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 100%;

}

.con10_step_nav {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: calc(var(--px) * 95);
    box-sizing: border-box;
    position: absolute;
    left: -2.45vw;
    top: 35%;
    gap: 0.5vw;
}

.con10_step_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 41);
  aspect-ratio: 1 / 1;
  background: url("/images/con10_03.webp") center center / 100% 100% no-repeat;
  color: #fff;
  font-size: calc(var(--px) * 18);
  font-weight: 700;
  line-height: 1em;
  letter-spacing: 0;
  font-family: "joly-headline", sans-serif;
  filter: grayscale(1);
}

/* .con10_step_icon_on {
  margin-top: 0;
  background-image: url("/images/con10_03.webp");
} */

.con10_step_icon span {
  display: block;
}

.con10_step_line {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 3);
  height: 0;
  background-color: #000;
  margin-top: calc(var(--px) * 8);
}

.con10_card_stack {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    width: calc(var(--px) * 776);
    gap: 1.2vw;
    margin: 4vw 0;
}

.con10_card {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: calc(var(--px) * 776);
  aspect-ratio: 776 / 333;
  background-position: center center;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  box-sizing: border-box;
}

.con10_card_01 {
  background-image: url("/images/con10_04.webp");
}

.con10_card_02 {
  background-image: url("/images/con10_05.webp");
}

.con10_card_03 {
  background-image: url("/images/con10_06.webp");
}

.con10_card_04 {
  background-image: url("/images/con10_07.webp");
}

.con10_card_video {
    width: 12vw;
    height: 12vw;
    border-radius: 1vw;
    overflow: hidden;
    left: 62%;
    top: 15%;
}

.con10_card_copy {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  margin-left: calc(var(--px) * 122);
}

.con10_card_01 .con10_card_copy {
  margin-top: calc(var(--px) * 96);
}

.con10_card_02 .con10_card_copy,
.con10_card_03 .con10_card_copy,
.con10_card_04 .con10_card_copy {
  margin-top: calc(var(--px) * 112);
}

.con10_card_copy_light {
  color: #fff;
}

.con10_card_copy_dark {
  color: #111;
}

.con10_card_title {
  font-size: calc(var(--px) * 22);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.05vw;
  text-align: left;
}

.con10_card_rule {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: calc(var(--px) * 58);
  height: calc(var(--px) * 2);
  margin-top: calc(var(--px) * 18);
  background-color: currentColor;
}
.con10_card_rule.this{
  background-color: #f0f0f0;
}

.con10_card_desc {
    margin-top: calc(var(--px) * 20);
    font-size: calc(var(--px) * 17);
    font-weight: 500;
    line-height: 1.65em;
    letter-spacing: -0.05vw;
    text-align: left;
}

.con10_card_02 .con10_card_desc,
.con10_card_03 .con10_card_desc {
  margin-top: calc(var(--px) * 34);
}

.con10 img {
  width: 100%;
}

.con11 {
    position: relative;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    /* min-height: calc(var(--px) * 910); */
    padding: 6vw 0 12vw 0;
    overflow: hidden;
    background-color: #f7efe4;
    box-sizing: border-box;
}

.con11_bg_pattern {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    bottom: 45.9%;
    z-index: 1;
    width: 100%;
    pointer-events: none;
    border-bottom: 1px solid #eadfcf;
}

.con11_head {
  position: relative;
  z-index: 3;
  text-align: center;
}

.con11_label {
  font-size: calc(var(--px) * 20);
  color: #111;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.04vw;
  text-align: center;
}

.con11_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  aspect-ratio: 78 / 5;
  margin-top: calc(var(--px) * 10);
}

.con11_title {
  margin-top: calc(var(--px) * 30);
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 46);
  color: #111;
  font-weight: 600;
  line-height: 1.34em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con11_title b {
  color: #8d171c;
  font-weight: 600;
}

.con11_video_box {
    position: relative;
    z-index: 3;
    width: 42vw;
    height: 23vw;
    margin-top: calc(var(--px) * 35);
    overflow: hidden;
    background-color: #111;
}

.con11_video_box iframe {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 100%;
  height: 120%;
  transform: translate(-50%, -50%);
  pointer-events: all;
}

.con11 img {
  width: 100%;
}

.swiper_con11 {
    width: 105%;
    top: 52%;
    position: absolute;
    z-index: 5;
    overflow: visible;
}
.con11_slide{
  transition: 0.75s;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.swiper-slide-active .con11_slide {
    transform: translateY(12.5vw);
}
.swiper-slide-active .con11_slide_tt01 {
  background-color: #130f0c;

}
.swiper-slide-active .con11_slide_tt02 {
    color: #000;
}
.swiper-slide-active .con11_slide_tt03 {
     color: #000;
}
.con11_slide_tt01{
  width: fit-content;
  background-color: #d7ccbd;
  border-radius: 100%;
  padding: 0.5vw 1.5vw;
  color: #fff;
  font-family: 'MaruBuri', serif;
  transition: 0.5s;
}
.con11_slide_tt02 {
    padding: 1vw 0 0.5vw 0;
    font-size: 1.3vw;
    font-weight: 700;
    transition: 0.5s;
    color: #d7cdbe;
}
.con11_slide_tt03{
  transition: 0.5s;
  color: #d7cdbe;
}





.con12 {
  position: relative;
  width: 100%;
  padding: 8vw 0 12vw 0;
  overflow: hidden;
  background: url("/images/con12_bg.webp") center top / cover no-repeat;
  box-sizing: border-box;
}

.con12_interview_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  width: calc(var(--px) * 610);
  width: 80%;
}

.con12_label_group {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
}

.con12_label {
  color: #fff;
  font-size: calc(var(--px) * 23);
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.04vw;
  text-align: left;
}

.con12_bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  aspect-ratio: 78 / 5;
  margin-top: calc(var(--px) * 12);
}

.con12_title {
  margin-top: calc(var(--px) * 63);
  font-family: 'MaruBuri', serif;
  color: #fff;
  font-size: calc(var(--px) * 54);
  font-weight: 500;
  line-height: 1.22em;
  letter-spacing: -0.06vw;
  text-align: left;
}

.con12_desc {
  margin-top: 1.5vw;
  color: #fff;
  font-size: calc(var(--px) * 19);
  font-weight: 300;
  line-height: 1.45em;
  letter-spacing: -0.05vw;
  text-align: left;
}

.con12_owner_group {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 510);
  margin-top: calc(var(--px) * 54);
  gap: calc(var(--px) * 25);
}

.swiper_con12 {
    width: 27%;
    margin-top: 3vw;
}


.con12_owner {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
  width: 6.5vw;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #6e1718;
  transition: 0.3s;
  cursor: pointer;
}

.con12_owner.on {
  background-color: #fff;
}

.con12_06 {
    left: -0.1vw;
    top: 4vw;
}
.con12_04 {
    right: 1vw;
    bottom: -1vw;
}

.con12_owner p {
  color: rgba(255, 255, 255, 0.42);
  font-size: calc(var(--px) * 17);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
  text-align: center;
  transition: 0.3s;
  font-family: 'MaruBuri', serif;
}

.con12_owner.on p {
  color: #111;
}

.con12 img {
  width: 100%;
}

.con12_03{
  left: 39.5%;
  top: calc(var(--px) * 118);
  width: calc(var(--px) * 991);
  aspect-ratio: 991 / 673;
  overflow: visible;
}

.con12_03 > img {
  width: 100%;
  height: 100%;
}

.con12_03_in {
    display: flex;
    justify-content: space-between;
    align-items: stretch;
    width: 80%;
    height: 75%;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
}
.con12_03_in.on{
  opacity: 1;
  visibility: visible;
}

.con12_03_in_left {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  width: calc(var(--px) * 354);
  height: 100%;
  flex-shrink: 0;
}

.con12_photo {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 17.4803vw;
  height: 19.1601vw;
  overflow: hidden;
}

.con12_photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  aspect-ratio: unset !important;
}

.con12_photo_note {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: calc(var(--px) * 98);
  top: calc(var(--px) * 106);
  width: calc(var(--px) * 162);
  height: calc(var(--px) * 67);
  background-color: #fff500;
}

.con12_photo_note p {
  color: #111;
  font-size: calc(var(--px) * 14);
  font-weight: 700;
  line-height: 1.55em;
  letter-spacing: -0.04vw;
  text-align: center;
}

.con12_store_info {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    margin-top: 1.3vw;
}

.con12_store_name {
  color: #111;
  font-size: calc(var(--px) * 17);
  font-weight: 600;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
}

.con12_store_owner {
  margin-top: calc(var(--px) * 6);
  color: #111;
  font-size: calc(var(--px) * 23);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
}

.con12_slide_controls {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(var(--px) * 8);
  margin-top: 1.5vw;
}

.con12_slide_prev, .con12_slide_next {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 4.5vw;
    height: 2.8vw;
    /* aspect-ratio: 89 / 58; */
    border-radius: calc(var(--px) * 29);
    border: 1px solid #e3e3e3;
    background-color: #f5f5f5;
    cursor: pointer;
}

.con12_slide_prev span,
.con12_slide_next span {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 24);
  height: 1px;
  background-color: #111;
  position: relative;
}

.con12_slide_prev span::before,
.con12_slide_next span::before {
  content: "";
  position: absolute;
  top: calc(var(--px) * -4);
  width: calc(var(--px) * 9);
  aspect-ratio: 1 / 1;
  border-top: 1px solid #111;
  border-left: 1px solid #111;
}

.con12_slide_prev span::before {
  left: 0;
  transform: rotate(-45deg);
}

.con12_slide_next span::before {
  right: 0;
  transform: rotate(135deg);
}

.con12_03_in_right {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  position: relative;
  width: 50%;
  height: 100%;
  overflow: hidden;
  flex-shrink: 0;
}

.con12_03_in_right::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 3;
  width: 100%;
  height: calc(var(--px) * 92);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0), #faf7f7 82%);
  pointer-events: none;
}

.con12_qa_scroll {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.con12_line {
    width: 100%;
    height: 1px;
    background-color: #fff;
    opacity: 0.1;
    top: 67%;
}

.con12_qa_scroll::-webkit-scrollbar {
  display: none;
}

.con12_qa_item {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    width: 100%;
    padding-bottom: 2vw;
    margin-bottom: 2vw;
    border-bottom: 1px solid #ded8d4;
    box-sizing: border-box;
}

/* .con12_qa_item:last-child {
  margin-bottom: 0;
} */

.con12_qa_num {
  width: calc(var(--px) * 42);
  color: #9d2525;
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 18);
  font-weight: 700;
  line-height: 1.2em;
  letter-spacing: -0.02vw;
  flex-shrink: 0;
}

.con12_qa_text {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    margin-top: 0.5vw;
}

.con12_qa_title {
    color: #111;
    font-size: 1.12vw;
    font-weight: 700;
    line-height: 1.25em;
    letter-spacing: -0.04vw;
}

.con12_qa_desc {
    margin-top: 0.7vw;
    color: #111;
    font-size: calc(var(--px) * 18);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: -0.04vw;
}

.con12_qa_desc b {
  font-weight: 700;
}








.con13 {
  position: relative;
  width: 100%;
  padding: calc(var(--px) * 24) 0;
  overflow: hidden;
  background-color: #080808;
  box-sizing: border-box;
}

.con13_in {
  position: relative;
  width: calc(var(--px) * 1840);
  height: calc(var(--px) * 850);
  overflow: hidden;
  background-color: #f0f0f0;
}

.con13_02 {
  left: 0;
  top: 0;
  z-index: 4;
  width: 100%;
}

.con13_review_rows {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: calc(var(--px) * 60);
  z-index: 1;
  width: 100%;
  gap: calc(var(--px) * 22);
}

.con13_review_slide {
  width: 100%;
  overflow: visible;
}

.con13_review_slide .swiper-wrapper {
  transition-timing-function: linear !important;
}

.con13_review_slide .swiper-slide {
  width: calc(var(--px) * 238);
  flex: 0 0 auto;
}

.con13_review_card {
  width: calc(var(--px) * 238);
  height: calc(var(--px) * 374);
  overflow: hidden;
  background-color: #fff;
}

.con13_review_card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.con13_center_box {
  position: absolute;
  left: 50%;
  top: 0;
  z-index: 3;
  width: calc(var(--px) * 455);
  height: 100%;
  transform: translateX(-50%);
}

.con13_03 {
  position: absolute;
  z-index: 1;
}

.con13_03 img {
  width: 100%;
  height: 100%;
}

.con13_center_content {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  text-align: center;
  top: 0;
  justify-content: center;
}

.con13_label {
  color: #111;
  font-size: calc(var(--px) * 21);
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.05vw;
}

.con13_01 {
  width: calc(var(--px) * 79);
  margin-top: calc(var(--px) * 10);
}

.con13_title {
  margin-top: calc(var(--px) * 55);
  font-family: 'MaruBuri', serif;
  color: #111;
  font-size: calc(var(--px) * 44);
  font-weight: 600;
  line-height: 1.32em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con13_desc {
  margin-top: 1.5vw;
  color: #111;
  font-size: calc(var(--px) * 18);
  font-weight: 400;
  line-height: 1.5em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con13_row{
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}
.con13_row_btm{
  position: absolute;
  white-space: nowrap;
  background-color: #000;
  top: 0;
  opacity: 0;
  transition: 0.3s;
}
.con13_row_btm  p.absol{
  top: 0;
  background-color: #000;
}

.con13_keywords {
  width: calc(var(--px) * 286);
  margin-top: calc(var(--px) * 43);
  overflow: hidden;
  border-radius: calc(var(--px) * 20);
  background-color: #1d1d1d;
  cursor: pointer;
}

.con13_keywords p {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: calc(var(--px) * 50);
    padding: 0.8vw 0.5vw 0.8vw 0;
    box-sizing: border-box;
    color: #fff;
    font-size: calc(var(--px) * 17);
    font-weight: 700;
    line-height: 1.35em;
    letter-spacing: -0.05vw;
    text-align: center;
}
.con13_row > p{
  background-color: #202020;
}
.con13_row_btm.on{
  opacity: 1;
}

.con13_keywords p:last-child {
  border-bottom: 0;
}

.con13_en {
    position: absolute;
    bottom: 4vw;
    /* margin-top: auto; */
    /* margin-bottom: calc(var(--px) * 51); */
    font-family: 'MaruBuri', serif;
    color: #918a83;
    font-size: calc(var(--px) * 17);
    font-weight: 500;
    line-height: 1em;
    letter-spacing: 0;
}

.con13 img {
  width: 100%;
}

.con14 {
  position: relative;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(var(--px) * 857);
  overflow: hidden;
    background: url("/images/con14_bg.webp") no-repeat;
    background-size: cover;
    background-position: center;
}

.con14_video {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    overflow: hidden;
    /* clip-path: inset(44% 33% 44% 33%); */
    background-color: #111;
}

.con14_video iframe {
    width: 100%;
    height: 100%;
    object-fit: cover;
    scale: 1.3;
}

.con14_dim {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.52);
}

.con14_mid_line {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: calc(var(--px) * 431);
  width: 100%;
  height: 1px;
}

.con14_content {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 100%;
  height: 100%;
  gap: 17vw;
}

.con14_left_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 632);
  aspect-ratio: 632 / 632;
  flex-shrink: 0;
}
.con14_left_circle::after{
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  border-radius: 100%;
  border: 1px solid #fff;
  opacity: 0.1;
  scale: 1.1;
}

.con14_left_circle > img {
  width: 100%;
  height: 100%;
}

.con14_left_text {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  color: #fff;
  text-align: center;
}

.con14_left_title {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 35);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.04vw;
}

.con14_left_desc {
  margin-top: calc(var(--px) * 78);
  font-size: calc(var(--px) * 18);
  font-weight: 400;
  line-height: 2.05;
  letter-spacing: -0.04vw;
}

.con14_center {
    display: flex;
    align-items: center;
    flex-direction: column;
    position: absolute;
    color: #fff;
    flex-shrink: 0;
    margin-bottom: 25vw;
}

.con14_center_label {
  font-size: calc(var(--px) * 22);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04vw;
}

.con14_bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  aspect-ratio: 78 / 5;
  margin-top: calc(var(--px) * 13);
}

.con14_bar img {
  width: 100%;
}

.con14_center_title {
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 46);
  font-weight: 600;
  line-height: 1.28;
  letter-spacing: -0.04vw;
  position: absolute;
  z-index: 5;
}
.con14_center_title.item1{
  top: 23%;
}
.con14_center_title.item2{
  bottom: 23%;
}

.con14_circle_slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 420);
  height: calc(var(--px) * 857);
  overflow: visible;
  flex-shrink: 0;
  margin-right: 10vw;
}

.con14_circle_slide .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 420);
  height: calc(var(--px) * 405) !important;
}

.con14_slide_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  width: calc(var(--px) * 381);
  aspect-ratio: 381 / 381;
  color: rgba(255, 255, 255, 0.34);
  text-align: center;
  transition: opacity 0.5s, transform 0.5s;
  border-radius: 100%;
}

.con14_slide_circle > img {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  transition: opacity 0.5s;
}

.con14_circle_slide .swiper-slide-active .con14_slide_circle {
  color: #111;
  transform: scale(1);
}
 .swiper-slide-active .con14_badge {
  opacity: 1;
}

.con14_circle_slide .swiper-slide-active .con14_slide_circle > img {
  opacity: 1;
}

.con14_circle_slide .swiper-slide-prev .con14_slide_circle,
.con14_circle_slide .swiper-slide-next .con14_slide_circle {
  background-color: #0000003f;
}

.con14_badge {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 41);
  aspect-ratio: 41 / 41;
  margin-bottom: calc(var(--px) * 28);
  opacity: 0.2;
  transition: 0.3s;
}

.con14_badge img {
  width: 100%;
  height: 100%;
}

.con14_badge span {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: calc(var(--px) * 20);
  font-weight: 600;
  font-family: 'MaruBuri', serif;
}

.con14_slide_title {
  position: relative;
  font-size: calc(var(--px) * 22);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.04vw;
}

.con14_slide_desc {
  position: relative;
  margin-top: calc(var(--px) * 24);
  font-size: calc(var(--px) * 16);
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: -0.04vw;
}

.con14 img {
  max-width: 100%;
}
















.con15 {
  position: relative;
  justify-content: flex-start;
  align-items: center;
  min-height: calc(var(--px) * 772);
  padding-top: calc(var(--px) * 86);
  overflow: hidden;
  background-color: #f4ecdf;
  box-sizing: border-box;
}

.con15_tree {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: calc(var(--px) * 66);
  z-index: 1;
  width: calc(var(--px) * 558);
  aspect-ratio: 558 / 308;
}

.con15_roof {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: calc(var(--px) * 525);
  aspect-ratio: 525 / 711;
}

.con15_head {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 3;
  width: calc(var(--px) * 520);
  text-align: center;
}

.con15_label_text {
  font-size: calc(var(--px) * 20);
  color: #111;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.04vw;
  text-align: center;
}

.con15_bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  aspect-ratio: 78 / 5;
  margin-top: calc(var(--px) * 10);
}

.con15_title {
  margin-top: calc(var(--px) * 26);
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 50);
  color: #111;
  font-weight: 600;
  line-height: 1.28em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con15_title b {
  color: #8b1a1d;
  font-weight: 600;
}

.con15_desc {
  margin-top: calc(var(--px) * 20);
  font-size: calc(var(--px) * 18);
  color: #111;
  font-weight: 500;
  line-height: 1.55em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con15_cards {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: relative;
  z-index: 3;
  width: 75.5906%;
  gap: calc(var(--px) * 16);
  margin-top: calc(var(--px) * 32);
}

.con15_card_cell {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 348);
  transition: 0.5s;
}

.con15_card_cell.on {
  transform: translateY(-1.5vw);
}


.con15_card {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: calc(var(--px) * 348);
  height: calc(var(--px) * 275);
  padding-top: calc(var(--px) * 43);
  border-radius: calc(var(--px) * 34);
  background-color: #fff;
  box-shadow: 0px 8px 24px rgba(54, 38, 19, 0.1);
  box-sizing: border-box;
}

.con15_card_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 53);
  aspect-ratio: 1 / 1;
  filter: brightness(0.6);
  transition: 0.3s;
}
.con15_card_cell.on .con15_card_icon{
  filter: brightness(1);
}

.con15_card_title {
  margin-top: calc(var(--px) * 20);
  font-size: calc(var(--px) * 24);
  color: #111;
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con15_card_desc {
  margin-top: calc(var(--px) * 15);
  font-size: calc(var(--px) * 16);
  color: #111;
  font-weight: 500;
  line-height: 1.55em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con15 img {
  width: 100%;
}

.con16 {
    position: relative;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    min-height: calc(var(--px) * 970);
    padding: 2vw 0 2vw 0;
    overflow: hidden;
    background-color: #100c09;
    box-sizing: border-box;
}

.con16_frame {
    position: relative;
    width: 92%;
    min-height: calc(var(--px) * 910);
    padding-top: 6vw;
    border: 1px solid #fff;
    box-sizing: border-box;
}
.con16_08{
  position: absolute;
}
.con16_08.item1{
  left: -1px;
  top: -1px;
  rotate: 180deg;
}
.con16_08.item2{
  right: -1px;
  top: -2px;
  rotate: -90deg;
}
.con16_08.item3 {
    left: -1px;
    bottom: -2px;
    rotate: 90deg;
}
.con16_08.item4{
  right: -1px;
  bottom: -1px;
}

/* .con16_frame::before,
.con16_frame::after {
  content: "";
  position: absolute;
  width: calc(var(--px) * 72);
  height: calc(var(--px) * 72);
  border: 1px solid rgba(255, 255, 255, 0.55);
  background-color: #100c09;
  box-sizing: border-box;
}

.con16_frame::before {
  left: calc(var(--px) * -1);
  top: calc(var(--px) * -1);
  border-left-color: transparent;
  border-top-color: transparent;
  border-radius: 0 0 calc(var(--px) * 72) 0;
}

.con16_frame::after {
  right: calc(var(--px) * -1);
  bottom: calc(var(--px) * -1);
  border-right-color: transparent;
  border-bottom-color: transparent;
  border-radius: calc(var(--px) * 72) 0 0 0;
} */

.con16_head {
  position: relative;
  z-index: 4;
  text-align: center;
}

.con16_title {
    margin-top: calc(var(--px) * 24);
    font-family: 'MaruBuri', serif;
    color: #fff;
    font-size: calc(var(--px) * 50);
    font-weight: 600;
    line-height: 1.25em;
    letter-spacing: -0.05vw;
}

.con16_desc {
    margin-top: calc(var(--px) * 16);
    color: #fff;
    font-size: calc(var(--px) * 19);
    font-weight: 400;
    line-height: 1.55em;
    letter-spacing: -0.05vw;
    text-align: center;
}

.con16_cost_wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 3;
    width: calc(var(--px) * 968);
    height: calc(var(--px) * 398);
    margin: 0 auto;
    margin-top: 3vw;
}

.con16_03 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  opacity: 0.78;
}

.con16_consult_card {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 4;
    width: calc(var(--px) * 403);
    height: calc(var(--px) * 364);
    padding-top: calc(var(--px) * 50);
    box-sizing: border-box;
    margin-top: -4vw;
}

.con16_02 {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
}

.con16_02a {
    position: relative;
    z-index: 2;
    width: calc(var(--px) * 256);
    margin-top: 5vw;
}

.con16_card_title {
    position: relative;
    z-index: 2;
    margin-top: calc(var(--px) * 17);
    color: #111;
    font-size: calc(var(--px) * 21);
    font-weight: 700;
    line-height: 1.25em;
    letter-spacing: -0.04vw;
}

.con16_card_desc {
    position: relative;
    z-index: 2;
    margin-top: calc(var(--px) * 10);
    color: #111;
    font-size: calc(var(--px) * 16);
    font-weight: 400;
    line-height: 1.35em;
    letter-spacing: -0.04vw;
    text-align: center;
}

.con16_process_head {
    position: relative;
    z-index: 4;
    margin-top: 5vw;
    text-align: center;
}

.con16_process_title {
    font-family: 'MaruBuri', serif;
    color: #fff;
    font-size: calc(var(--px) * 50);
    font-weight: 600;
    line-height: 1.25em;
    letter-spacing: -0.05vw;
}

.con16_process_desc {
    margin-top: calc(var(--px) * 18);
    color: #fff;
    font-size: calc(var(--px) * 19);
    font-weight: 400;
    line-height: 1.55em;
    letter-spacing: -0.05vw;
    text-align: center;
}
.con16_process_grid_line {
    width: 60%;
    height: 3vw;
    background-color: #25201c;
    position: absolute;
    left: 20%;
    z-index: -1;
}
.con16_process_grid_line.item1{
  top: 16%;
}
.con16_process_grid_line.item2{
  bottom: 16%;
}

.con16_process_grid {
    display: grid;
    grid-template-columns: calc(var(--px) * 349) calc(var(--px) * 47) calc(var(--px) * 349) calc(var(--px) * 47) calc(var(--px) * 349);
    grid-auto-rows: calc(var(--px) * 171);
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 4;
    gap: calc(var(--px) * 18) calc(var(--px) * 18);
    margin-top: calc(var(--px) * 45);
    margin-bottom: 13vw;
}

.con16_step_card {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 349);
}

.con16_step_text {
    position: absolute;
    left: 25%;
    top: 10%;
    top: 30%;
    color: #111;
    text-align: left;
}

.con16_step_title {
    font-size: calc(var(--px) * 19);
    font-weight: 700;
    line-height: 1.25em;
    letter-spacing: -0.04vw;
}

.con16_step_desc {
    margin-top: calc(var(--px) * 14);
    font-size: calc(var(--px) * 16);
    font-weight: 500;
    line-height: 1.45em;
    letter-spacing: -0.04vw;
}

.con16_step_arrow {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 23);
  justify-self: center;
}

.con16_food {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  position: absolute;
  left: 50%;
  bottom: 0;
  z-index: 2;
  width: 63.9895vw !important;
  transform: translateX(-50%);
}

.con16_01 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 140);
  height: calc(var(--px) * 58);
}

.con16_01 p {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    transform: translateY(-50%);
    color: #fff;
    font-size: calc(var(--px) * 21);
    font-weight: 500;
    line-height: 1em;
    letter-spacing: -0.05vw;
    text-align: center;
}

.con16_06 {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 50%;
  bottom: calc(var(--px) * -31);
  z-index: 5;
  width: calc(var(--px) * 934);
  transform: translateX(-50%);
}

.con16 img {
  width: 100%;
}

.con17 {
    position: relative;
    width: 100%;
    /* min-height: calc(var(--px) * 969); */
    padding: 6vw 0 4vw 0;
    box-sizing: border-box;
    overflow: hidden;
    background: #f8f8f6 url("/images/con17_bg.webp") center top / cover no-repeat;
}

.con17_head {
  position: relative;
  z-index: 3;
  text-align: center;
}

.con17_02 {
  width: calc(var(--px) * 124);
}

.con17_title {
  margin-top: calc(var(--px) * 22);
  font-family: 'MaruBuri', serif;
  color: #111;
  font-size: calc(var(--px) * 53);
  font-weight: 600;
  line-height: 1em;
  letter-spacing: -0.05vw;
}

.con17_map_frame {
  position: relative;
  z-index: 2;
  width: calc(var(--px) * 1545);
  height: calc(var(--px) * 675);
  margin-top: calc(var(--px) * 45);
  border: 1px solid rgba(17, 17, 17, 0.45);
  box-sizing: border-box;
  background-color: #e8efe2;
}

.con17_map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(26deg, rgba(244, 238, 220, 0.42) 0 2px, transparent 2px 72px),
    linear-gradient(118deg, rgba(219, 174, 85, 0.55) 0 3px, transparent 3px 110px),
    radial-gradient(circle at 70% 35%, rgba(142, 194, 137, 0.28), transparent 34%),
    radial-gradient(circle at 40% 65%, rgba(137, 177, 113, 0.23), transparent 38%),
    #eef3e8;
}

.con17_map_lock {
  display: none;
}

.con17_static_marker {
  position: absolute;
  left: 50%;
  top: 47%;
  z-index: 4;
  width: calc(var(--px) * 69);
  transform: translate(-50%, -100%);
  pointer-events: none;
}

.con17_search {
  position: absolute;
  left: calc(var(--px) * 38);
  top: calc(var(--px) * 55);
  z-index: 5;
  width: calc(var(--px) * 398);
  background-color: #fff;
  box-shadow: 0 calc(var(--px) * 10) calc(var(--px) * 25) rgba(0, 0, 0, 0.08);
}

.con17_search_tabs {
  display: flex;
  width: 100%;
  height: calc(var(--px) * 61);
}

.con17_search_tabs > div {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 50%;
  height: 100%;
  color: #111;
  background-color: #fff;
  font-size: calc(var(--px) * 17);
  font-weight: 700;
  letter-spacing: -0.04vw;
  cursor: pointer;
}

.con17_search_tabs > div.on2 {
  color: #fff;
  background-color: #100c09;
}

.con17_search_input {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: calc(var(--px) * 80);
  padding-left: calc(var(--px) * 32);
  border-bottom: 1px solid rgba(17, 17, 17, 0.35);
  box-sizing: border-box;
  background-color: #f3ecdf;
}

.con17_search_input input {
  width: calc(100% - calc(var(--px) * 86));
  height: 100%;
  border: 0;
  outline: 0;
  background-color: transparent;
  color: #111;
  font-family: "Pretendard Variable";
  font-size: calc(var(--px) * 18);
  font-weight: 500;
  letter-spacing: -0.04vw;
}

.con17_search_input input::placeholder {
  color: #8d8579;
}

.con17_search_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  height: 100%;
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}

.con17_search_btn img {
  width: calc(var(--px) * 40);
}

.con17_store_list {
  width: 100%;
  height: calc(var(--px) * 447);
  padding: 0 calc(var(--px) * 33);
  box-sizing: border-box;
  overflow-y: auto;
  background-color: #fff;
}

.map_mid_map_search_item {
  width: 100%;
  padding: calc(var(--px) * 28) 0 calc(var(--px) * 24);
  border-bottom: 1px solid rgba(17, 17, 17, 0.28);
  box-sizing: border-box;
  cursor: pointer;
}

.map_mid_map_search_item.active .map_mid_map_search_item_title,
.map_mid_map_search_item:hover .map_mid_map_search_item_title {
  color: #8d171c;
}

.map_mid_map_search_item_title {
  color: #111;
  font-size: calc(var(--px) * 20);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
}

.map_mid_map_search_item_address,
.map_mid_map_search_item_tel {
  margin-top: calc(var(--px) * 8);
  color: #111;
  font-size: calc(var(--px) * 16);
  font-weight: 400;
  line-height: 1.25em;
  letter-spacing: -0.04vw;
}

.noshop {
  padding: calc(var(--px) * 30) 0;
  color: #111;
  font-size: calc(var(--px) * 17);
  font-weight: 500;
  text-align: center;
}

.con17_detail {
    position: absolute;
    right: calc(var(--px) * 54);
    bottom: calc(var(--px) * 73);
    z-index: 6;
    display: flex;
    align-items: center;
    width: calc(var(--px) * 811);
    height: calc(var(--px) * 312);
    padding: 1vw 0;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid rgba(17, 17, 17, 0.35);
    box-shadow: 0 calc(var(--px) * 15) calc(var(--px) * 28) rgba(0, 0, 0, 0.08);
}

.con17_06 {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.con17_06 img {
  width: 100%;
  height: 100%;
}

.con17_detail_close {
  position: absolute;
  right: calc(var(--px) * 29);
  top: calc(var(--px) * 29);
  z-index: 3;
  width: calc(var(--px) * 40);
  height: calc(var(--px) * 40);
  padding: 0;
  border: 0;
  background-color: transparent;
  cursor: pointer;
}

.con17_detail_photo {
  position: relative;
  z-index: 2;
  width: calc(var(--px) * 313);
  flex: 0 0 calc(var(--px) * 313);
  height: calc(var(--px) * 237);
  overflow: hidden;
}

.con17_detail_photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.con17_detail_info {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  margin-left: calc(var(--px) * 75);
  color: #111;
}

.con17_detail_title {
  font-size: calc(var(--px) * 27);
  font-weight: 700;
  letter-spacing: -0.05vw;
}

.con17_detail_list {
  margin-top: calc(var(--px) * 28);
}

.con17_detail_list li {
  display: flex;
  align-items: center;
  min-height: calc(var(--px) * 28);
  color: #111;
  font-size: calc(var(--px) * 16);
  font-weight: 500;
  line-height: 1.45em;
  letter-spacing: -0.04vw;
}

.con17_detail_list li + li {
  margin-top: calc(var(--px) * 10);
}

.con17_detail_list li img {
  width: calc(var(--px) * 8);
  height: calc(var(--px) * 8);
  margin-right: calc(var(--px) * 13);
}

.con17_01 {
  position: absolute;
  left: 0;
  width: 100%;
}
.con17_01.item1{
  top: 0;
}
.con17_01.item2{
  bottom: 0;
  rotate: 180deg;
}

.con17 img {
  display: block;
  max-width: 100%;
}

.map_marker {
    position: relative;
    padding: calc(var(--px) * 11) calc(var(--px) * 18);
    border-radius: calc(var(--px) * 20);
    /* background-color: #100c09; */
    color: #fff;
    font-size: calc(var(--px) * 14);
    font-weight: 700;
    letter-spacing: -0.03vw;
    white-space: nowrap;
    /* box-shadow: 0 calc(var(--px) * 8) calc(var(--px) * 18) rgba(0, 0, 0, 0.24); */
}

.map_marker_tail {
  position: absolute;
  left: 50%;
  bottom: calc(var(--px) * -7);
  width: calc(var(--px) * 14);
  height: calc(var(--px) * 14);
  background-color: #100c09;
  transform: translateX(-50%) rotate(45deg);
  display: none;
}

.con18 {
    position: relative;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    /* height: calc(var(--px) * 1075); */
    padding-bottom: 8vw;
    overflow: hidden;
    background: url("/images/con18_bg.webp") center top / cover no-repeat;
    box-sizing: border-box;
}
.con18_line {
    width: 100%;
    height: 1px;
    background-color: #d0cfcf;
    top: 82%;
}

.con18_visuals {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 1422);
  gap: calc(var(--px) * 10);
  margin-top: calc(var(--px) * 110);
}

.con18_visual {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 706);
  aspect-ratio: 706 / 348;
}

.con18_head {
  position: relative;
  z-index: 2;
  margin-top: calc(var(--px) * 75);
  text-align: center;
}

.con18_label {
  color: #111;
  font-size: calc(var(--px) * 20);
  font-weight: 700;
  line-height: 1.25em;
  letter-spacing: -0.04vw;
  text-align: center;
}

.con18_bar {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 78);
  aspect-ratio: 78 / 5;
  margin-top: calc(var(--px) * 10);
}

.con18_title {
  margin-top: calc(var(--px) * 35);
  font-family: 'MaruBuri', serif;
  color: #111;
  font-size: calc(var(--px) * 52);
  font-weight: 600;
  line-height: 1.25em;
  letter-spacing: -0.06vw;
  text-align: center;
}

.con18_title b {
  color: #8f1b1d;
  font-weight: 500;
}

.con18_desc {
  margin-top: calc(var(--px) * 24);
  color: #111;
  font-size: calc(var(--px) * 18);
  font-weight: 500;
  line-height: 1.5em;
  letter-spacing: -0.05vw;
  text-align: center;
}

.con18_food_slide {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: calc(var(--px) * 78);
  overflow: visible;
}

.con18_food_slide .swiper-wrapper {
  transition-timing-function: linear !important;
  pointer-events: none;
}

.con18_food_slide .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto !important;
  margin-right: calc(var(--px) * 126);
}

.con18_food_img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 106);
  aspect-ratio: 106 / 89;
}

.con18 img {
  width: 100%;
}

.con19 {
  position: relative;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: calc(var(--px) * 981);
  background: url("/images/con19_bg.webp") center top / cover no-repeat;
  box-sizing: border-box;
}

.con19_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
  z-index: 3;
  width: calc(var(--px) * 747);
  aspect-ratio: 1 / 1;
  margin-top: calc(var(--px) * -12);
  background: url("/images/con19_03.webp") center center / 100% 100% no-repeat;
  text-align: center;
}

.con19_en {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 140);
  aspect-ratio: 140 / 18;
  margin-top: calc(var(--px) * -22);
}

.con19_title_img {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 536);
  aspect-ratio: 536 / 164;
  margin-top: calc(var(--px) * 34);
}

.con19_desc {
  margin-top: calc(var(--px) * 20);
  color: #fff;
  font-family: 'MaruBuri', serif;
  font-size: calc(var(--px) * 29);
  font-weight: 500;
  line-height: 1.35em;
  letter-spacing: -0.04vw;
  text-align: center;
}

.con19_line {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    z-index: 2;
    width: 1px;
    height: 100%;
    opacity: 1;
}

.con19_line_01 {
  left: 3.1%;
}

.con19_line_02 {
  left: 4.9%;
}

.con19_line_03 {
  left: 6.6%;
}

.con19_line_04 {
  right: 6.6%;
}

.con19_line_05 {
  right: 4.9%;
}

.con19_line_06 {
  right: 3.1%;
}

.con19_bottom {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    position: absolute;
    left: 0;
    bottom: -2.3vw;
    z-index: 4;
    width: 100%;
    height: calc(var(--px) * 74);
}

.con19 img {
  width: 100%;
}

.con20 {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: stretch;
    flex-direction: row;
    width: 100%;
    /* height: calc(var(--px) * 846); */
    padding-bottom: 6vw;
    overflow: hidden;
    background: url("/images/con20_bg.webp") center top / cover no-repeat;
    box-sizing: border-box;
}

.con20_left {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  width: calc(var(--px) * 730);
  height: 100%;
  padding-top: calc(var(--px) * 182);
  box-sizing: border-box;
}

.con20_copy {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  position: relative;
  z-index: 2;
}

.con20_title {
  font-family: 'MaruBuri', serif;
  color: #111;
  font-size: calc(var(--px) * 55);
  font-weight: 600;
  line-height: 1.25em;
  letter-spacing: -0.06vw;
  text-align: left;
}

.con20_desc {
  margin-top: calc(var(--px) * 33);
  color: #111;
  font-size: calc(var(--px) * 18);
  font-weight: 500;
  line-height: 1.55em;
  letter-spacing: -0.05vw;
  text-align: left;
}

.con20_food {
    display: flex;
    justify-content: center;
    align-items: center;
    width: calc(var(--px) * 609);
    aspect-ratio: 609 / 346;
    bottom: 0;
    left: 12%;
    position: absolute;
}

.con20_right {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  width: calc(var(--px) * 625);
  height: 100%;
  padding-top: calc(var(--px) * 145);
  box-sizing: border-box;
}

.con20_form {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-direction: column;
  width: 100%;
}

.con20_field {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
  width: 100%;
  height: calc(var(--px) * 61);
  margin-bottom: calc(var(--px) * 9);
  padding: 0 calc(var(--px) * 39);
  border: 1px solid #efefef;
  border-radius: calc(var(--px) * 8);
  background-color: #fff;
  box-sizing: border-box;
}

.con20_required {
  flex-shrink: 0;
  width: calc(var(--px) * 12);
  margin-right: calc(var(--px) * 10);
  color: #9e2026;
  font-size: calc(var(--px) * 16);
  font-weight: 700;
  line-height: 1em;
}

.con20_field_label {
    flex-shrink: 0;
    width: calc(var(--px) * 140);
    color: #111;
    font-size: calc(var(--px) * 17);
    font-weight: 700;
    line-height: 1.3em;
    letter-spacing: -0.04vw;
    text-align: left;
}

.con20_input,
.con20_select,
.con20_textarea {
  flex: 1;
  width: auto;
  border: 0;
  outline: 0;
  background-color: transparent;
  color: #111;
  font-size: calc(var(--px) * 17);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
  box-sizing: border-box;
}

.con20_select {
  appearance: none;
  cursor: pointer;
}

.con20_select_arrow {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    right: 15%;
    top: 37%;
    width: calc(var(--px) * 14);
    height: calc(var(--px) * 14);
    border-right: 1px solid #111;
    border-bottom: 1px solid #111;
    transform: translateY(calc(var(--px) * -4)) rotate(45deg);
    pointer-events: none;
}

.con20_store_options {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex: 1;
  gap: calc(var(--px) * 52);
}

.con20_radio {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: calc(var(--px) * 8);
  color: #111;
  font-size: calc(var(--px) * 17);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
  cursor: pointer;
}

.con20_radio input {
  width: calc(var(--px) * 16);
  height: calc(var(--px) * 16);
  accent-color: #9e2026;
  cursor: pointer;
}

.con20_textarea_wrap {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: row;
  width: 100%;
  height: calc(var(--px) * 120);
  padding: calc(var(--px) * 24) calc(var(--px) * 45);
  border: 1px solid #efefef;
  border-radius: calc(var(--px) * 8);
  background-color: #fff;
  box-sizing: border-box;
}

.con20_textarea_label {
  flex-shrink: 0;
  width: calc(var(--px) * 140);
  color: #111;
  font-size: calc(var(--px) * 17);
  font-weight: 700;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
  text-align: left;
}

.con20_textarea {
  flex: 1;
  height: 100%;
  resize: none;
}

.con20_agree_row {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  margin-top: calc(var(--px) * 18);
  gap: calc(var(--px) * 10);
}

.con20_agree {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  width: calc(var(--px) * 24);
  aspect-ratio: 1 / 1;
}

.con20_agree input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.con20_agree_icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 1px solid #111;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
}

.con20_agree input:checked + .con20_agree_icon::before {
  content: "";
  display: block;
  width: calc(var(--px) * 14);
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  background-color: #9e2026;
}

.con20_agree_text {
  color: #111;
  font-size: calc(var(--px) * 16);
  font-weight: 500;
  line-height: 1.3em;
  letter-spacing: -0.04vw;
}

.con20_submit {
  display: flex;
  justify-content: center;
  align-items: center;
  width: calc(var(--px) * 296);
  height: calc(var(--px) * 78);
  margin-top: 2vw;
  border-radius: calc(var(--px) * 80);
  background-color: #9e2a2f;
  color: #fff;
  font-size: calc(var(--px) * 22);
  font-weight: 700;
  line-height: 1em;
  letter-spacing: -0.05vw;
  cursor: pointer;
}

.con20 img {
  width: 100%;
}

@keyframes con15CardLift {
  0%,
  18%,
  100% {
    transform: translateY(0);
  }
  8%,
  10% {
    transform: translateY(calc(var(--px) * -75));
  }
}
