/* ----------------------------font---------------------------- */
body {
  font-family: "Cormorant Garamond", serif;
}
/* ----------------------------Normalize start---------------------------- */
body,ul,li,h1,h2,h3,h4,h5,h6,p {
  margin: 0;
  padding: 0;
  list-style: none;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  display: block;
  width: 100%;
  object-fit: cover;
}

strong {
  display: inline-block;
}
/* ----------------------------Normalize end---------------------------- */
/* ----------------------------custom start---------------------------- */
html,body {
  overflow-x: hidden;    /* 가로 스크롤만 */
  overflow-y: hidden; 
}
/* ----------------------------scroll-container start---------------------------- */
.scroll-container {
  flex: 1;
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  height: 100vh; 
}

.scroll-container section {
  flex: 0 0 3000px;        /* 화면 너비 100% */
  height: 100%;           /* 컨테이너 높이 100% */
}
/* ----------------------------header start---------------------------- */
header {
  display: flex;
  width: 100%;
  height: 100px;
  align-items: center;
  justify-content: space-between;
  padding: 0 20px;
  box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}

header > .header-img-box {
  width: 208px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

header > .menu-box {
  display: flex;
}

header > .menu-box > li > a {
  padding: 10px 41px;
  color: #FDFBF6;
  font-size: 20px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}

header > .menu-box > li > a::after {
  content: "";
  width: 0%;
  height: 2px;
  background-color: #FDFBF6;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all .5s;
}

header.black > .menu-box > li > a::after {
  background-color: #2A3D45;
}

header > .menu-box > li > a:hover::after {
  width: 100%;
}

header.black > .menu-box > li > a {
  color: #2A3D45;
  position: relative;
}

header > .ico-box {
  display: flex;
  width: 208px;
  height: 30px;
  align-items: center;
  justify-content: flex-end;
}

header > .ico-box > div {
  width: 24px;
  height: 24px;
  padding-left: 28px;
}

header > .ico-box > div > img {
  cursor: pointer;
}

header > .ico-box > div > img:last-child {
  display: none;
}

header.black > .ico-box > div > img:first-child {
  display: none;
}

header.black > .ico-box > div > img:last-child {
  display: block;
}
/* ----------------------------header end---------------------------- */

/* ----------------------------allmenu start---------------------------- */
.allmenu {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1001;
  width: 100%;
  height: 100%;
  opacity: 0;
  visibility: hidden;
  transition: all .5s;
}

.allmenu.active {
  opacity: 1;
  visibility: visible;
}

.allmenu > .container {
  display: flex;
  position: relative;
}

.allmenu > .container > .close-btn {
  position: absolute;
  right: 1%;
  top: 3%;
  z-index: 50;
  width: 36px;
  cursor: pointer;
}

.allmenu > .container > .menu-bg {
  width: 50%;
}

.allmenu > .container > .menu-bg > img {
  height: 100%;
}

.allmenu > .container > .menu {
  position: relative;
  width: 50%;
  height: 100vh;
  padding: 5% 8.3%;
  display: flex;
  align-items: center;
  background: #fff;
  box-sizing: border-box;
  white-space: nowrap;
}

.allmenu > .container > .menu > ul > li {
  margin-bottom: 70px;
}

.allmenu > .container > .menu > ul > li:first-child {
  transform: translateY(40px);
  opacity: 0;
  transition: all .5s;
}
.allmenu > .container > .menu > ul > li:nth-child(2) {
  transform: translateY(40px);
  opacity: 0;
  transition: all .5s .1s;
}
.allmenu > .container > .menu > ul > li:nth-child(3) {
  transform: translateY(40px);
  opacity: 0;
  transition: all .5s .2s;
}
.allmenu > .container > .menu > ul > li:last-child {
  transform: translateY(40px);
  opacity: 0;
  transition: all .5s .3s;
}

.allmenu.active > .container > .menu > ul > li:first-child {
  transform: translateY(0);
  opacity: 1;
}
.allmenu.active > .container > .menu > ul > li:nth-child(2) {
  transform: translateY(0);
  opacity: 1;
}
.allmenu.active > .container > .menu > ul > li:nth-child(3) {
  transform: translateY(0);
  opacity: 1;
}
.allmenu.active > .container > .menu > ul > li:last-child {
  transform: translateY(0);
  opacity: 1;
}

.allmenu > .container > .menu > ul > li:last-child {
  margin-bottom: 0;
}

.allmenu > .container > .menu > ul > li > a {
  font-size: 56px;
  color: #2A3D45;
  margin-bottom: 40px;
  display: block;
} 

.allmenu > .container > .menu > ul > li > ul {
  display: flex;
}

.allmenu > .container > .menu > ul > li > ul > li > a {
  margin-right: 30px;
  font-size: 20px;
  position: relative;
  color: #000;
  opacity: .4;
  transition: all .3s;
}

.allmenu > .container > .menu > ul > li > ul > li > a:hover {
  color: #2A3D45;
  opacity: 1;
}

.allmenu > .container > .menu > ul > li > ul > li > a::after {
  display: inline-block;
  content: "";
  width: 1px;
  height: 12px;
  background: #b2b2b2;
  right: -15px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}

.allmenu > .container > .menu > ul > li > ul > li:last-child > a::after {
  display: none;
}
/* ----------------------------allmenu end---------------------------- */

/* ----------------------------search start---------------------------- */
.search {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 950;
  background-color: #FDFBF6;
  width: 100%;
  padding: 100px 120px;
  display: flex;
  align-items: center;
  flex-direction: column;
  box-sizing: border-box;
  transform: translateY(-100%);
  transition: all .6s;
}

.search.active {
  transform: translateY(0);
}

.search > .search-box {
  margin-bottom: 24px;
  width: 554px;
  display: flex;
  justify-content: center;
  border-bottom: 1px solid #2A3D45;
  padding: 4px 0;
  position: relative;
}

.search > .search-box::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  white-space: nowrap;
  display: block;
  background-position: center center;
  background-size: cover;
  cursor: pointer;
  width: 24px;
  height: 24px;
  background-image: url(/img/imgi_32_search_b.svg);
}

.search > .search-box > input {
  width: 100%;
  border: 0;
  background: transparent;
}

.search > .search-box > input:focus {
  outline: none;
}

.search > ul {
  display: flex;
  gap: 12px;
}

.search > ul > li > a {
  padding: 4px 14px;
  background-color:  #E99F7E;
  border-radius: 20px;
  color: #FDFBF6;
  display: block;
  font-family: 'Lato', sans-serif;
}

.search-bg {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: #000;
  z-index: 900;
  opacity: 0;
  visibility: hidden;
}

.search-bg.active {
  opacity: .5;
  visibility: visible;
}

/* ----------------------------search end---------------------------- */

/* ----------------------------left-btn start---------------------------- */
.left-btn {
  position: fixed;
  bottom: 40px;
  right: 40px;
  padding: 10px 15px;
  border-radius: 30px;
  background: #E99F7E;
  cursor: pointer;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  transition: transform 0.3s;
  opacity: 1;
  transform: translateX(150%);
  pointer-events: none;
  z-index: 500;
}

.left-btn.show {
  pointer-events: auto;
  transform: translateX(0);
}
/* ----------------------------left-btn end---------------------------- */

/* ----------------------------scroll start---------------------------- */
.scroll-container {
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: thin;              
  scrollbar-color: #E99F7E #f5f5f5;
}

.scroll-container::-webkit-scrollbar {
  height: 8px; 
}

.scroll-container::-webkit-scrollbar-track {
  background: #f5f5f5;
  border-radius: 10px;
}

.scroll-container::-webkit-scrollbar-thumb {
  background: #bbb;
  border-radius: 10px;
  transition: background 0.3s ease;
}

.scroll-container::-webkit-scrollbar-thumb:hover {
  background: #E99F7E;
}

.scroll-container::-webkit-scrollbar-button:single-button {
  display: none;
  width: 0;
  height: 0;
}
/* ----------------------------scroll end---------------------------- */

/* ----------------------------section-1 start---------------------------- */
.section-1 {
  width: 100vw;
}

.section-1 > iframe {
  pointer-events: none;
}
/* ----------------------------section-1 end---------------------------- */

/* ----------------------------section-2 start---------------------------- */
.section-2 {
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-right: 300px;
  box-sizing: border-box;
  position: relative;
}

.section-2 > .txt-box-2 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  position: sticky; /* 화면에 고정 */
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 10;
  font-family: 'Lato', sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: all .5s;
}

.section-2 > .txt-box-2.show {
  opacity: 1;
  visibility: visible;
}

.section-2 > .txt-box-2 > h1 {
  margin-bottom: 30px;
  font-size: 80px;
  font-weight: 700;
  color: #2A3D45;
  font-family: "Cormorant Garamond", serif;
}

.section-2 > .txt-box-2 > span {
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 400;
  display: block;
}

.section-2 > .txt-box-2 > span:nth-child(3) {
  color: #000;
  opacity: .4;
  font-size: 20px;
  line-height: 32px;
}

.section-2 > .txt-box-2 > div {
  display: flex;
  gap: 50px;
  align-items: center;
  cursor: pointer;
}

.section-2 > .txt-box-2 > div > span {
  font-size: 22px;
  font-weight: 400;
}

.section-2 > .txt-box-2 > div > .img-2 {
  width: 52px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-2 > .swiper-box-2 {
  width: 1397px;
  position: absolute;
  top: 0;
  right: 17%;
}

.section-2 > .swiper-box-2 .swiper-slide {
  height: 100vh;
}

.section-2 > .swiper-box-2 img {
  height: 100%;
}

.section-2 > .img-box-2 {
  width: 300px;
  height: 300px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
  transition: all .3s;
  background-color: #F0D6C8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-2 > .img-box-2:hover {
  border-radius: 50%;
}

.section-2 > .img-box-2 > img {
  height: 100%;
  transition: all .3s;
}

.section-2 > .swiper-box-2 > .swiper-pagination {
  top: 0;
  left: 0;
  position: absolute;
}
/* ----------------------------section-2 end---------------------------- */

/* ----------------------------section-3 start---------------------------- */
.section-3 {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-right: 300px;
  box-sizing: border-box;
  position: relative;
}

.section-3 > .txt-box-3 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  position: sticky; /* 화면에 고정 */
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 10;
  font-family: 'Lato', sans-serif;
  opacity: 0;
  visibility: visible;
  transition: all .5s;
}

.section-3 > .txt-box-3.show {
  opacity: 1;
  visibility: visible;
}

.section-3 > .txt-box-3 > h1 {
  margin-bottom: 30px;
  font-size: 80px;
  font-weight: 700;
  color: #2A3D45;
  font-family: "Cormorant Garamond", serif;
}

.section-3 > .txt-box-3 > span {
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 400;
  display: block;
}

.section-3 > .txt-box-3 > span:nth-child(3) {
  color: #000;
  opacity: .4;
  font-size: 20px;
  line-height: 32px;
}

.section-3 > .txt-box-3 > div {
  display: flex;
  gap: 50px;
  align-items: center;
  cursor: pointer;
}

.section-3 > .txt-box-3 > div > span {
  font-size: 22px;
  font-weight: 400;
}

.section-3 > .txt-box-3 > div > .img-3 {
  width: 52px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-3 > .swiper-box-3 .swiper-slide {
  height: 100vh;
}

.section-3 > .swiper-box-3 img {
  height: 100%;
}

.section-3 > .swiper-box-3 {
  width: 1397px;
  position: absolute;
  top: 0;
  right: 17%;
}

.section-3 > .img-box-3 {
  width: 300px;
  height: 300px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 10;
  transition: all .3s;
  background-color: #F0D6C8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-3 > .img-box-3:hover {
  border-radius: 50%;
}

.section-3 > .img-box-3 > img {
  height: 100%;
  transition: all .3s;
}
/* ----------------------------section-3 end---------------------------- */

/* ----------------------------section-4 start---------------------------- */
.section-4 {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-right: 300px;
  box-sizing: border-box;
  position: relative;
}

.section-4 > .txt-box-4 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  position: sticky; /* 화면에 고정 */
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 10;
  font-family: 'Lato', sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: all .5s;
}

.section-4 > .txt-box-4.show {
  opacity: 1;
  visibility: visible;
}

.section-4 > .txt-box-4 > h1 {
  margin-bottom: 30px;
  font-size: 80px;
  font-weight: 700;
  color: #2A3D45;
  font-family: "Cormorant Garamond", serif;
}

.section-4 > .txt-box-4 > span {
  margin-bottom: 20px;
  font-size: 26px;
  font-weight: 400;
  display: block;
}

.section-4 > .txt-box-4 > span:nth-child(3) {
  color: #000;
  opacity: .4;
  font-size: 20px;
  line-height: 32px;
}

.section-4 > .txt-box-4 > div {
  display: flex;
  gap: 50px;
  align-items: center;
  cursor: pointer;
}

.section-4 > .txt-box-4 > div > span {
  font-size: 22px;
  font-weight: 400;
}

.section-4 > .txt-box-4 > div > .img-3 {
  width: 52px;
  height: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-4 > .swiper-box-4 .swiper-slide {
  height: 100vh;
}

.section-4 > .swiper-box-4 img {
  height: 100%;
}

.section-4 > .swiper-box-4 {
  width: 1397px;
  position: absolute;
  top: 0;
  right: 17%;
}

.section-4 > .img-box-4 {
  width: 300px;
  height: 300px;
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 10;
  transition: all .3s;
  background-color: #F0D6C8;
  display: flex;
  align-items: center;
  justify-content: center;
}

.section-4 > .img-box-4:hover {
  border-radius: 50%;
}

.section-4 > .img-box-4 > img {
  height: 100%;
  transition: all .3s;
}
/* ----------------------------section-4 end---------------------------- */

/* ----------------------------section-5 start---------------------------- */
.section-5 {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-right: 300px;
  box-sizing: border-box;
  position: relative;
}

.section-5 > .txt-box-5 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  position: sticky; /* 화면에 고정 */
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 10;
  font-family: 'Lato', sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: all .5s;
}

.section-5 > .txt-box-5.show {
  opacity: 1;
  visibility: visible;
}

.section-5 > .txt-box-5 > h1 {
  margin-bottom: 30px;
  font-size: 80px;
  font-weight: 700;
  color: #2A3D45;
  font-family: "Cormorant Garamond", serif;
}

.section-5 > .txt-box-5 > span {
  margin-bottom: 40px;
  font-size: 20px;
  font-weight: 400;
  display: block;
  line-height: 32px;
  opacity: .4;
}

.section-5 > .txt-box-5 > .tap-menu {
  display: flex;
  gap: 20px;
  flex-direction: column;
}

.section-5 > .txt-box-5 > .tap-menu > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  cursor: pointer;
  letter-spacing: -2%;
}

.section-5 > .txt-box-5 > .tap-menu > div > span {
  font-size: 22px;
  font-weight: 600;
}

.section-5 > .txt-box-5 > .tap-menu > div.active > span {
  color: #E99F7E;
}

.section-5 > .txt-box-5 > .tap-menu > div > span:last-child {
  font-size: 17px;
}

.section-5 > .img-box-5 {
  width: 1397px;
  position: absolute;
  top: 0;
  right: 17%;
  background-color: #fff;
  height: 100vh;
}

.section-5 > .img-box-5 > a {
  width: 100%;
  height: 100vh;
  display: block;
}

.section-5 > .img-box-5 > a > img {
  height: 100%;
}
/* ----------------------------section-5 end---------------------------- */

/* ----------------------------section-6 start---------------------------- */
.scroll-container section.section-6 {
  flex: 0 0 3500px;
}

.section-6 {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-right: 500px;
  box-sizing: border-box;
  position: relative;
}

.section-6 > .txt-box-6 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  position: sticky; /* 화면에 고정 */
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 10;
  font-family: 'Lato', sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: all .5s;
}

.section-6 > .txt-box-6.show {
  opacity: 1;
  visibility: visible;
}

.section-6 > .txt-box-6 > h1 {
  margin-bottom: 30px;
  font-size: 80px;
  font-weight: 700;
  color: #2A3D45;
  font-family: "Cormorant Garamond", serif;
}

.section-6 > .txt-box-6 > span {
  font-size: 20px;
  font-weight: 400;
  display: block;
  line-height: 32px;
  opacity: .4;
}

.section-6 > .img-box-6 {
  width: 544px;
  position: absolute;
  top: 0;
  right: 50%;
  background-color: #F5F1EE;
  height: 100vh;
  display: flex;
  align-items: center;
  flex-direction: column;
  font-family: 'Lato', sans-serif;
  transition: all .3s;
}

.section-6 > .img-box-6:hover {
  background-color: #F0D6C8;
}

.section-6 > .img-box-6 > div {
  overflow: hidden;
}

.section-6 > .img-box-6 > div > img {
  transition: all .3s;
}

.section-6 > .img-box-6 > div:hover > img {
  transform: scale(1.2);
}

.section-6 > .img-box-6.second {
  right: 25%;
  justify-content: flex-end;
}

.section-6 > .img-box-6.third {
  right: 0;
} 

.section-6 > .img-box-6 > .txt-box-6 {
  flex-direction: column;
  display: flex;
  padding: 50px 0;
}

.section-6 > .img-box-6 > .txt-box-6 > span {
  font-size: 50px;
  letter-spacing: -2%;
  line-height: 80px;
  margin-bottom: 24px;
}

.section-6 > .img-box-6 > .txt-box-6 > span:last-child {
  font-size: 22px;
  line-height: 35.2px;
  margin-bottom: 0;
}
/* ----------------------------section-6 end---------------------------- */

/* ----------------------------section-7 start---------------------------- */
.section-7 {
  width: 100vw;
  height: 100%;
  display: flex;
  align-items: center;
  padding-left: 40px;
  margin-right: 500px;
  box-sizing: border-box;
  position: relative;
}

.section-7 > .txt-box-7 {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  position: sticky; /* 화면에 고정 */
  top: 50%;
  left: 40px;
  transform: translateY(-50%);
  z-index: 10;
  font-family: 'Lato', sans-serif;
  opacity: 0;
  visibility: hidden;
  transition: all .5s;
}

.section-7 > .txt-box-7.show {
  opacity: 1;
  visibility: visible;
}

.section-7 > .txt-box-7 > h1 {
  margin-bottom: 30px;
  font-size: 80px;
  font-weight: 700;
  color: #2A3D45;
  font-family: "Cormorant Garamond", serif;
}

.section-7 > .txt-box-7 > span {
  font-size: 20px;
  font-weight: 400;
  display: block;
  line-height: 32px;
  opacity: .4;
}

.section-7 > .sns {
  width: 302px;
  height: 302px;
  display: block;
  position: absolute;
}

.section-7 > .sns-1 {
  top: 0;
  right: 48%;
}

.section-7 > .sns-2 {
  top: 33.333%;
  right: 38%;
}

.section-7 > .sns-3 {
  top: 66.66%;
  right: 31%;
}

.section-7 > .sns-4 {
  top: 0;
  right: 31%;
}

.section-7 > .sns-5 {
  top: 66.666%;
  right: 8%;
}

.section-7 > .sns-6 {
  top: 66.66%;
  right: 65%;
}

.section-7 > .sns-7 {
  top: 0%;
  right: 65%;
}

.section-7 > .sns-8 {
  top: 33.33%;
  right: 55%;
}

.section-7 > .sns-9 {
  top: 66.66%;
  right: 48%;
}

.section-7 > .sns-10 {
  top: 0%;
  right: 15%;
}

.section-7 > .sns-11 {
  top: 33.33%;
  right: 23%;
}

.section-7 > .sns > img {
  height: 100%;
}
/* ----------------------------section-7 end---------------------------- */

/* ----------------------------footer---------------------------- */
footer {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1920px;
  color: #2A3D45;
}

footer > .footer-box {
  display: flex;
  width: 1266px;
}

footer > .footer-box > .f-footer {
  flex-grow: 1;
}

footer > .footer-box > .f-footer > .footer-logo {
  width: 157px;
  height: 27px;
  margin-bottom: 241px;
}

footer > .footer-box > .f-footer > .copyright {
  white-space: nowrap;
  font-size: 17px;
}

footer > .footer-box > .s-footer > .footer-txt-box {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 135px;
  font-family: 'Lato', sans-serif;
}

footer > .footer-box > .s-footer > .footer-txt-box > .footer-txt {
  display: flex;
  gap: 10px;
  font-size: 17px;
  font-weight: 400;
}

footer > .footer-box > .s-footer > .sns-box > ul {
  display: flex;
  gap: 121px;
}

footer > .footer-box > .s-footer > .sns-box > ul > li > a {
  width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
}