@charset "UTF-8";
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

:root {
  --font-en: "Cormorant Garamond", serif;
  --font-ja: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  --padding-inline: 80px;
  --padding-inline: clamp(80px, -2.0586281588px + 6.0072202166vw, 113.28px);
  --sec-color: #F0FAF3;
}
@media (max-width: 1365px) {
  :root {
    --padding-inline: min(4.16%, 80px);
    --padding-inline: clamp(32px, -29.5652173913px + 8.0267558528vw, 80px);
  }
}
@media screen and (max-width: 767px) {
  :root {
    --padding-inline: min(8%, 30px);
  }
}

html,
body {
  font-size: 16px;
}

html {
  min-height: 100%;
}

body {
  font-family: "Zen Old Mincho", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  color: #333333;
  line-height: 1.3;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, picture, video, canvas, svg {
  max-width: 100%;
  height: auto;
  display: block;
}

img, picture, svg {
  display: block;
}

a {
  color: inherit;
}

.u-sp {
  display: none !important;
}
@media screen and (max-width: 767px) {
  .u-sp {
    display: revert !important;
  }
}

@media screen and (max-width: 767px) {
  .u-pc {
    display: none !important;
  }
}

@media screen and (max-width: 1180px) {
  .u-gt-item {
    display: none !important;
  }
}

.u-lte-item {
  display: none;
}
@media screen and (max-width: 1180px) {
  .u-lte-item {
    display: revert !important;
  }
}

.u-small {
  display: none !important;
}
@media screen and (max-width: 374px) {
  .u-small {
    display: revert !important;
  }
}

.main {
  max-width: 100%;
  overflow-x: clip;
}

.anim-blur {
  --blur-opacity: 0;
  --blur-duration: 1.5s;
  --blur-delay: 0s;
  --blur-filter: blur(10px);
  --blur-transform: none;
  opacity: var(--blur-opacity);
  filter: var(--blur-filter);
}
.anim-blur.js-animate, .js-animate .anim-blur {
  animation-name: keyBlur;
  animation-duration: var(--blur-duration);
  animation-delay: var(--blur-delay);
  animation-timing-function: ease;
  animation-fill-mode: forwards;
}
html:not(.js-enabled) .anim-blur {
  opacity: 1;
  filter: none;
}
@media print {
  .anim-blur {
    opacity: 1;
    filter: none;
  }
}

@keyframes keyBlur {
  0% {
    opacity: var(--blur-opacity);
    filter: var(--blur-filter);
    transform: var(--blur-transform);
  }
  99% {
    filter: blur(0px);
  }
  100% {
    opacity: 1;
    filter: none;
    transform: none;
  }
}
.anim-fade {
  opacity: 0;
  --fade-transform: none;
  --fade-duration: 1.8s;
  --fade-delay: 0s;
}
.anim-fade.js-animate, .js-animate .anim-fade {
  animation-name: keyFade;
  animation-duration: var(--fade-duration);
  animation-delay: var(--fade-delay);
  animation-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  animation-fill-mode: forwards;
}
html:not(.js-enabled) .anim-fade {
  opacity: 1;
}
@media print {
  .anim-fade {
    opacity: 1;
  }
}

@keyframes keyFade {
  0% {
    opacity: 0;
    transform: var(--fade-transform);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0);
  }
}
.anim-clip, .mv__text::before,
.mv__text::after,
.item__ttl:not(.item__ttl--quote)::before, .mv__ttl::before {
  --clip-opacity: 0;
  --clip-path: inset(0 100% 0 0);
  --clip-transform: none;
  --clip-transform-after: translate(0, 0);
  --clip-duration: 1.4s;
  --clip-delay: 0s;
  --clip-timing-function: ease;
  opacity: var(--clip-opacity);
}
.anim-clip.js-animate, .js-animate.mv__text::before,
.js-animate.mv__text::after,
.js-animate.item__ttl:not(.item__ttl--quote)::before, .js-animate.mv__ttl::before, .js-animate .anim-clip, .js-animate .mv__text::before,
.js-animate .mv__text::after,
.js-animate .item__ttl:not(.item__ttl--quote)::before, .js-animate .mv__ttl::before {
  animation-name: keyClip;
  animation-duration: var(--clip-duration);
  animation-delay: var(--clip-delay);
  animation-timing-function: var(--clip-timing-function);
  animation-fill-mode: forwards;
}
html:not(.js-enabled) .anim-clip, html:not(.js-enabled) .mv__text::before,
html:not(.js-enabled) .mv__text::after,
html:not(.js-enabled) .item__ttl:not(.item__ttl--quote)::before, html:not(.js-enabled) .mv__ttl::before {
  opacity: 1;
}
@media print {
  .anim-clip, .mv__text::before,
  .mv__text::after,
  .item__ttl:not(.item__ttl--quote)::before, .mv__ttl::before {
    opacity: 1;
  }
}

@keyframes keyClip {
  0% {
    opacity: var(--clip-opacity);
    clip-path: var(--clip-path);
    transform: var(--clip-transform);
  }
  100% {
    opacity: 1;
    clip-path: inset(0 0 0 0);
    transform: var(--clip-transform-after);
  }
}
.anim-paper {
  opacity: 0;
  transform-origin: center center;
  --paper-transform: translate(-1%, -2%) rotate(-1.5deg) scale(1.04);
  --paper-duration: 2.4s;
  --paper-delay: 0s;
}
.anim-paper.js-animate, .js-animate .anim-paper {
  animation-name: keyRotate;
  animation-duration: var(--paper-duration);
  animation-delay: var(--paper-delay);
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: forwards;
}
html:not(.js-enabled) .anim-paper {
  opacity: 1;
}
@media print {
  .anim-paper {
    opacity: 1;
  }
}

@keyframes keyRotate {
  0% {
    opacity: 0;
    transform: var(--paper-transform);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) rotate(0deg) scale(1);
  }
}
.anim-flip {
  perspective: 1000px;
}
.anim-flip > .anim-flip-target {
  opacity: 0;
  transform-origin: center center;
  backface-visibility: hidden;
}
html:not(.js-enabled) .anim-flip > .anim-flip-target {
  opacity: 1;
}
@media print {
  .anim-flip > .anim-flip-target {
    opacity: 1;
  }
}
.anim-flip.js-animate > .anim-flip-target, .js-animate .anim-flip > .anim-flip-target {
  animation: keyFlip 1.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
html:not(.js-enabled) .anim-flip {
  opacity: 1;
}
@media print {
  .anim-flip {
    opacity: 1;
  }
}

@keyframes keyFlip {
  0% {
    opacity: 0;
    transform: rotateX(300deg);
  }
  100% {
    opacity: 1;
    transform: rotateX(0deg);
  }
}
.anim-clip-grad {
  --clip-delay: 0s;
  --clip-transform: none;
  position: relative;
  overflow: hidden;
  transition: translate 2s ease var(--clip-delay);
  translate: var(--clip-translate);
}
.anim-clip-grad::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -50%;
  width: 150%;
  height: 100%;
  background: #fff;
  background: linear-gradient(90deg, rgb(255 255 255 / 0) 0%, rgb(255 255 255 / 1) 33%, rgb(255 255 255 / 1) 100%);
  z-index: 10;
  transition: left 2s ease var(--clip-delay);
}
.anim-clip-grad.js-animate {
  translate: none;
}
.anim-clip-grad.js-animate::after {
  left: 101%;
}
html:not(.js-enabled) .anim-clip-grad {
  translate: none;
}
html:not(.js-enabled) .anim-clip-grad::after {
  display: none;
}
@media print {
  .anim-clip-grad {
    translate: none;
  }
  .anim-clip-grad::after {
    display: none;
  }
}

.mv__bg img {
  opacity: 0;
  --scale-transform: scale(1.07);
}
.mv__bg img.js-animate, .js-animate .mv__bg img {
  animation-name: keyMvBg;
  animation-duration: 6s;
  animation-timing-function: cubic-bezier(0, 0.57, 0.44, 0.88);
  animation-fill-mode: forwards;
}
html:not(.js-enabled) .mv__bg img {
  opacity: 1;
}
@media print {
  .mv__bg img {
    opacity: 1;
  }
}

@keyframes keyMvBg {
  0% {
    opacity: 0;
    transform: var(--scale-transform);
  }
  20% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
.mv__ttl::before {
  opacity: 0;
  will-change: clip-path, opacity;
  --clip-opacity: 1;
  --clip-duration: 3.6s;
  --clip-delay: 1s;
  --clip-timing-function: ease;
}

.mv__ttl-img {
  opacity: 0;
  will-change: opacity, transform, filter;
}
.js-animate .mv__ttl-img {
  animation-name: keyMvLetter;
  animation-duration: 2.8s;
  animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
  animation-fill-mode: forwards;
}
html:not(.js-enabled) .mv__ttl-img {
  opacity: 1;
}
@media print {
  .mv__ttl-img {
    opacity: 1;
  }
}
.mv__ttl-img--01 {
  animation-delay: 0.8s;
}
.mv__ttl-img--02 {
  animation-delay: 1.2s;
}
.mv__ttl-img--03 {
  animation-delay: 1.6s;
}
.mv__ttl-img--04 {
  animation-delay: 2s;
}
.mv__ttl-img--05 {
  animation-delay: 2.4s;
}
.mv__ttl-img--06 {
  animation-delay: 2.8s;
}
.mv__ttl-img--01 {
  --mv-letter-transform: translate(-4%, -10%) rotate(2.5deg) scale(1.15);
}
.mv__ttl-img--02 {
  --mv-letter-transform: translate(-1%, 4%) rotate(-2deg) scale(1.15);
}
.mv__ttl-img--03 {
  --mv-letter-transform: translate(-8%, -5%) rotate(8deg) scale(1.1);
}
.mv__ttl-img--04 {
  --mv-letter-transform: translate(-4%, 8%) rotate(4deg) scale(1.1);
}
.mv__ttl-img--05 {
  --mv-letter-transform: translate(3%, -6%) rotate(-2.5deg) scale(1.1);
}
.mv__ttl-img--06 {
  --mv-letter-transform: translate(5%, -10%) rotate(-3deg) scale(1.1);
}

@keyframes keyMvLetter {
  0% {
    opacity: 0;
    filter: blur(10px);
    transform: var(--mv-letter-transform);
  }
  999% {
    filter: blur(0px);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) rotate(0deg) scale(1);
    filter: none;
  }
}
.mv__lead {
  opacity: 0;
  --clip-opacity: 1;
  --fade-delay: 3.8s;
  --fade-duration: 1.5s;
  will-change: opacity;
}

.mv__en {
  --paper-duration: 3s;
  --paper-delay: 4.5s;
  --paper-transform: translate(0, 0) rotate(-1.5deg) scale(1.02);
  transform-origin: center top;
  will-change: transform, opacity;
}

.mv__logo {
  --fade-delay: 2s;
}

.mv__text::before,
.mv__text::after,
.item__ttl:not(.item__ttl--quote)::before {
  --clip-opacity: 0;
  --clip-path: inset(0 50% 0 50%);
  --clip-transform: none;
  --clip-transform-after: translate(0, 0);
  --clip-duration: 1s;
}

.mv__text::after {
  --clip-transform: scaleY(-1);
  --clip-transform-after: scaleY(-1);
}

.item__desc::after {
  top: -50%;
  transform: none;
  left: 0;
  width: 100%;
  height: 150%;
  background: linear-gradient(to bottom, rgb(255 255 255 / 0) 0%, rgb(255 255 255 / 1) 33%, rgb(255 255 255 / 1) 100%);
  transition: top 2s ease var(--clip-delay);
}
.item__desc.js-animate::after {
  left: 0;
  top: 101%;
}

.mv__main {
  position: relative;
  overflow: hidden;
}
.mv__main img {
  display: block;
}
.mv__bg {
  --blur-transform: scale(1.02);
}
.mv__bg img {
  width: 100%;
}
.mv__txt-area {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .mv__txt-area {
    top: auto;
    bottom: 0;
    left: 0;
    align-items: center;
  }
}
.mv__ttl {
  position: relative;
  display: flex;
  margin-right: 10.24vw;
  margin-top: 9.51vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl {
    margin-top: 0;
    margin-right: 0;
    margin-left: -0.8vw;
  }
}
.mv__ttl::before {
  position: absolute;
  bottom: -1.1vw;
  left: -0.81vw;
  content: "";
  width: 46.77vw;
  height: 8.71vw;
  background: center center/contain no-repeat url("../img/mv_line.svg");
  mix-blend-mode: overlay;
}
@media screen and (max-width: 767px) {
  .mv__ttl::before {
    bottom: -2.14vw;
    left: -4.54vw;
    width: 102.93vw;
    height: 19.14vw;
  }
}
.mv__ttl-img {
  position: relative;
}
.mv__ttl-img--01 {
  margin-top: -3.37vw;
  margin-right: 0.29vw;
  width: 8.41vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl-img--01 {
    margin-top: -14.67vw;
    margin-right: -1.6vw;
    width: 18.4vw;
    filter: drop-shadow(0px 0px 1.6vw rgb(255 255 255 / 1));
  }
}
.mv__ttl-img--02 {
  margin-top: 3.44vw;
  margin-right: 3.8vw;
  width: 8.19vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl-img--02 {
    margin-right: 5.06vw;
    width: 18.06vw;
  }
}
.mv__ttl-img--03 {
  margin-top: 4.53vw;
  margin-right: 2.78vw;
  width: 2.48vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl-img--03 {
    margin-top: 5.33vw;
    margin-right: 5.06vw;
    width: 5.46vw;
  }
}
.mv__ttl-img--04 {
  margin-top: 7.32vw;
  margin-right: 2.92vw;
  width: 3.22vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl-img--04 {
    margin-top: 10.4vw;
    margin-right: 5.6vw;
    width: 6.97vw;
  }
}
.mv__ttl-img--05 {
  margin-top: 5.12vw;
  margin-right: 1.68vw;
  width: 4.68vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl-img--05 {
    margin-top: 7.73vw;
    margin-right: 3.2vw;
    width: 10.27vw;
  }
}
.mv__ttl-img--06 {
  margin-top: 3.44vw;
  width: 4.24vw;
}
@media screen and (max-width: 767px) {
  .mv__ttl-img--06 {
    margin-top: 5.6vw;
    width: 9.2vw;
  }
}
.mv__lead {
  margin-top: 4.24vw;
  margin-right: 9.8vw;
}
@media screen and (max-width: 767px) {
  .mv__lead {
    margin-top: 6.93vw;
    margin-right: 1.33vw;
  }
}
.mv__lead img {
  width: 41.06vw;
}
@media screen and (max-width: 767px) {
  .mv__lead img {
    width: 81.9vw;
    filter: drop-shadow(0px 0px 1.06vw rgb(0 0 0 / 0.8));
  }
}
.mv__en {
  margin-top: 2.19vw;
  margin-right: 4.17vw;
}
@media screen and (max-width: 767px) {
  .mv__en {
    margin: 1.33vw 0 4vw 14.93vw;
  }
}
.mv__en img {
  width: 41.72vw;
}
@media screen and (max-width: 767px) {
  .mv__en img {
    width: 77.13vw;
  }
}
.mv__logo {
  position: absolute;
  top: 2.19vw;
  left: 2.19vw;
}
@media screen and (max-width: 767px) {
  .mv__logo {
    top: 3.46vw;
    left: 3.2vw;
  }
}
.mv__logo img {
  width: 5.78vw;
}
@media screen and (max-width: 767px) {
  .mv__logo img {
    width: 13.33vw;
  }
}
.mv__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 49px;
  row-gap: 2.72em;
  margin-top: 106px;
  margin-top: clamp(106px, -1.8992057762px + 7.8989169675vw, 149.76px);
  font-size: 1.12rem;
  font-size: clamp(18px, 5.6714801444px + 0.9025270758vw, 23px);
  line-height: 2.444;
  text-align: center;
}
@media (max-width: 1365px) {
  .mv__text {
    font-size: clamp(17px, 15.7173913043px + 0.1672240803vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  .mv__text {
    margin-top: 60px;
    font-size: clamp(16px, 15.0433673469px + 0.2551020408vw, 17px);
    line-height: 2.625;
    row-gap: 1.87em;
  }
}
@media screen and (max-width: 374px) {
  .mv__text {
    font-size: clamp(13.76px, 0.4859259259px + 4.1481481481vw, 16px);
  }
}
@media screen and (max-width: 319px) {
  .mv__text {
    padding-inline: var(--padding-inline);
    text-align: left;
  }
}
.mv__text::before, .mv__text::after {
  content: "";
  display: block;
  width: 8.33em;
  height: 2.33em;
  background: center center/contain no-repeat url("../img/ornament_lead.svg");
}
@media screen and (max-width: 767px) {
  .mv__text::before, .mv__text::after {
    width: 9.37em;
    height: 2.62em;
  }
}
@media screen and (max-width: 319px) {
  .mv__text::before, .mv__text::after {
    width: 40vw;
    height: 11.2vw;
  }
}
.mv__text::after {
  transform: scaleY(-1);
}
.mv__text p {
  overflow: hidden;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
}
@media screen and (max-width: 319px) {
  .mv__text br {
    display: none !important;
  }
}

.sec {
  position: relative;
  margin-top: 200px;
  margin-top: clamp(200px, 1.9546570397px + 14.4981949458vw, 280.32px);
  padding-top: 87px;
  padding-top: clamp(87px, -1.4694584838px + 6.476534296vw, 122.88px);
}
@media (max-width: 1365px) {
  .sec {
    margin-top: clamp(150px, 85.8695652174px + 8.3612040134vw, 200px);
  }
}
@media screen and (max-width: 767px) {
  .sec {
    margin-top: 73px;
    margin-top: clamp(73px, -0.2445790816px + 19.5318877551vw, 149.565px);
    padding-top: 74px;
    padding-top: clamp(74px, 49.1275510204px + 6.6326530612vw, 100px);
  }
}
.sec__bg {
  --fade-transform: none;
  --fade-duration: 2.2s;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-bottom: min(42.45%, 816px);
  background: linear-gradient(to bottom, rgb(240 250 243 / 1), rgb(240 250 243 / 0));
  z-index: 0;
}
@media screen and (max-width: 767px) {
  .sec__bg {
    padding-bottom: 507px;
  }
}
.sec--lace {
  margin-top: 106px;
  margin-top: clamp(106px, -1.8992057762px + 7.8989169675vw, 149.76px);
}
@media screen and (max-width: 767px) {
  .sec--lace {
    margin-top: 70px;
  }
}
.sec--sheer {
  --sec-color: #E8F2FA;
}
.sec--sheer .sec__bg {
  background: linear-gradient(to bottom, rgb(232 242 250 / 1), rgb(232 242 250 / 0));
}
.sec--pin-tuck {
  --sec-color: #F7F4ED;
}
.sec--pin-tuck .sec__bg {
  background: linear-gradient(to bottom, rgb(247 244 237 / 1), rgb(247 244 237 / 0));
}

.sec-header {
  position: relative;
}
.sec-header__en {
  position: relative;
  width: fit-content;
  margin-inline: auto;
}
.sec-header__en-bg {
  position: absolute;
  inset: 0;
  background: center center/contain no-repeat url("../img/ornament_hl.svg");
}
.sec-header__en-txt {
  --fade-duration: 1.5s;
  --fade-delay: 0.4s;
  position: relative;
  width: 8.14em;
  height: 6.42em;
  display: grid;
  place-content: center;
  font-size: 1.75rem;
  font-size: clamp(28px, 10.7400722022px + 1.2635379061vw, 35px);
  font-family: var(--font-en);
  font-weight: 500;
  line-height: 1.429;
  text-align: center;
}
@media screen and (max-width: 319px) {
  .sec-header__en-txt {
    width: 71.25vw;
    height: 71.25vw;
    font-size: 8.75vw;
  }
}
.sec-header__ttl, .sec-header__lead {
  --fade-transform: translateY(5px);
}
.sec-header__ttl {
  margin-block: 1.76em 0.5em;
  text-align: center;
  font-weight: normal;
  font-size: 1.87rem;
  font-size: clamp(30px, -0.1802166065px + 2.2093862816vw, 42.24px);
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .sec-header__ttl {
    margin-block: 1.35em 0.64em;
    font-size: 1.75rem;
    font-size: clamp(28px, 26.0867346939px + 0.5102040816vw, 30px);
    line-height: 1.5;
  }
}
@media screen and (max-width: 319px) {
  .sec-header__ttl {
    padding-inline: var(--padding-inline);
  }
}
@media screen and (max-width: 319px) {
  .sec-header__ttl br {
    display: none !important;
  }
}
.sec-header__lead {
  text-align: center;
  font-size: 1.12rem;
  font-size: clamp(18px, 0.838700361px + 1.2563176895vw, 24.96px);
  line-height: 1.625;
}
@media screen and (max-width: 767px) {
  .sec-header__lead {
    font-size: 1rem;
    font-size: clamp(16px, 14.0867346939px + 0.5102040816vw, 18px);
  }
}
@media screen and (max-width: 319px) {
  .sec-header__lead {
    padding-inline: var(--padding-inline);
  }
}
@media screen and (max-width: 319px) {
  .sec-header__lead br {
    display: none !important;
  }
}

.item {
  --item-inner-second-offset: 109px;
  --item-inner-second-offset: clamp(109px, -0.9703971119px + 8.0505415162vw, 153.6px);
  --item-inner-landscape-offset: 60px;
  --item-inner-landscape-offset: clamp(60px, -0.360433213px + 4.4187725632vw, 84.48px);
  position: relative;
  margin-top: 160px;
  margin-top: clamp(160px, 0.6168953069px + 11.6678700361vw, 224.64px);
  margin-inline: auto;
  width: 1920px;
  max-width: 100%;
}
@media (max-width: 1365px) {
  .item {
    margin-top: clamp(130px, 91.5217391304px + 5.016722408vw, 160px);
  }
}
@media screen and (max-width: 767px) {
  .item {
    --item-inner-second-offset: 0px;
    --item-inner-landscape-offset: 0px;
    margin-top: 76px;
    margin-top: clamp(76px, -0.2445790816px + 20.3318877551vw, 155.701px);
  }
}
.sec-header + .item {
  margin-top: 202px;
  margin-top: clamp(202px, -0.5822382671px + 14.8303249097vw, 284.16px);
}
@media (max-width: 1365px) {
  .sec-header + .item {
    margin-top: clamp(130px, 37.652173913px + 12.0401337793vw, 202px);
  }
}
@media screen and (max-width: 767px) {
  .sec-header + .item {
    margin-top: 76px;
    margin-top: clamp(76px, -0.2445790816px + 20.3318877551vw, 155.701px);
  }
}
.item--lace-02, .item--pin-tuck-02 {
  margin-top: 88px;
  margin-top: clamp(88px, 1.9962454874px + 6.2960288809vw, 122.88px);
}
@media screen and (max-width: 767px) {
  .item--lace-02, .item--pin-tuck-02 {
    margin-top: 76px;
    margin-top: clamp(76px, -0.2445790816px + 20.3318877551vw, 155.701px);
  }
}
.item__inner {
  padding-inline: var(--padding-inline);
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  column-gap: 8.78%;
}
@media (max-width: 1365px) {
  .item__inner {
    column-gap: clamp(40px, -44.652173913px + 11.0367892977vw, 106px);
  }
}
@media screen and (max-width: 767px) {
  .item__inner {
    flex-direction: column;
    padding-inline: 0;
  }
}
.item__photo-area {
  flex: 1 1 0;
  min-width: 0;
}
.item__photo-main, .item__photo-sub, .item__photo-landscape {
  display: block;
  overflow: hidden;
}
.item__photo-main img, .item__photo-sub img, .item__photo-landscape img {
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  .item__photo-main {
    margin-top: 35px;
    margin-top: clamp(35px, 0.2445790816px + 9.2681122449vw, 71.331px);
  }
}
.item__photo-main .anim-fade {
  --fade-transform: scale(1.04);
}
@media print {
  .item__photo-main .swiper,
  .item__photo-main .swiper-wrapper {
    width: 100% !important;
    transform: none !important;
  }
}
.item__photo-main .swiper-slide,
.item__photo-main picture {
  width: 100%;
}
@media print {
  .item__photo-main .swiper-slide {
    transform: none !important;
    opacity: 1 !important;
    width: 100% !important;
  }
}
html:not(.js-enabled) .item__photo-main .swiper-slide:nth-child(n+2) {
  display: none !important;
}
@media print {
  .item__photo-main .swiper-slide:nth-child(n+2) {
    opacity: 0 !important;
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .item__photo-sub {
    margin-top: 54px;
    margin-top: clamp(54px, 0px + 14.4vw, 110.448px);
  }
}
.item__photo-sub img {
  --clip-transform: translateX(3%);
  --clip-path: inset(0 0 0 100%);
  --clip-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
}
.item__photo-landscape {
  width: 76.94%;
}
@media screen and (max-width: 767px) {
  .item__photo-landscape {
    margin-top: 35px;
    margin-top: clamp(35px, 0.2445790816px + 9.2681122449vw, 71.331px);
    width: 100%;
  }
}
.item__txt-area {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.item__ttl {
  margin-bottom: 0.66em;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 1.87rem;
  font-size: clamp(30px, -0.1802166065px + 2.2093862816vw, 42.24px);
  font-weight: normal;
  line-height: 1.8;
  text-align: center;
  row-gap: 1em;
}
@media (max-width: 1365px) {
  .item__ttl {
    font-size: clamp(23px, 14.0217391304px + 1.1705685619vw, 30px);
  }
}
@media screen and (max-width: 767px) {
  .item__ttl {
    font-size: 1.62rem;
    font-size: clamp(26px, 22.1734693878px + 1.0204081633vw, 30px);
    line-height: 1.615;
  }
}
@media screen and (max-width: 374px) {
  .item__ttl {
    font-size: max(22.08px, 6.93vw);
  }
}
@media screen and (max-width: 319px) {
  .item__ttl {
    padding-inline: var(--padding-inline);
  }
}
.item__ttl::before {
  content: "";
  width: 6.66em;
  height: 1em;
  display: block;
  background: center center/contain no-repeat url("../img/ornament_item.svg");
}
@media screen and (max-width: 767px) {
  .item__ttl::before {
    width: 7.69em;
    height: 1.15em;
  }
}
@media screen and (max-width: 319px) {
  .item__ttl::before {
    width: 53.33vw;
    height: 8vw;
  }
}
@media screen and (max-width: 319px) {
  .item__ttl br {
    display: none !important;
  }
}
.item__ttl--quote {
  position: relative;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  margin-bottom: 1.03em;
  flex-direction: row;
  column-gap: 0.1em;
}
@media screen and (max-width: 767px) {
  .item__ttl--quote {
    margin-block: 1.34em 0.65em;
    column-gap: 0.38em;
  }
}
@media screen and (max-width: 319px) {
  .item__ttl--quote {
    column-gap: 3.12vw;
  }
}
.item__ttl--quote::before, .item__ttl--quote::after {
  flex-shrink: 0;
  width: 0.8em;
  height: 0.66em;
  display: block;
  background: center center/contain no-repeat url("../img/icon_quote_lace.svg");
}
@media screen and (max-width: 767px) {
  .item__ttl--quote::before, .item__ttl--quote::after {
    width: 0.92em;
    height: 0.75em;
  }
}
@media screen and (max-width: 319px) {
  .item__ttl--quote::before, .item__ttl--quote::after {
    width: 7.5vw;
    height: 6.09vw;
  }
}
.item__ttl--quote::before {
  margin: -0.27em 0.36em auto 0;
}
@media screen and (max-width: 767px) {
  .item__ttl--quote::before {
    margin-top: 0.3em;
  }
}
.item__ttl--quote::after {
  margin: auto 0 0.13em 0;
  content: "";
  display: block;
  transform: scale(-1, -1);
}
.item__desc {
  text-align: center;
  font-size: 1.12rem;
  font-size: clamp(18px, 0.838700361px + 1.2563176895vw, 24.96px);
  line-height: 2.444;
}
@media (max-width: 1365px) {
  .item__desc {
    font-size: clamp(14px, 8.8695652174px + 0.6688963211vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  .item__desc {
    --fade-transform: translateY(5px);
    text-align: left;
    padding-inline: var(--padding-inline);
    font-size: 1rem;
    font-size: clamp(16px, 13.1301020408px + 0.7653061224vw, 19px);
    line-height: 2;
    width: 600px;
    max-width: 100%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 374px) {
  .item__desc {
    font-size: max(13.76px, 4.26vw);
  }
}
@media screen and (max-width: 767px) {
  .item__desc br {
    display: none !important;
  }
}
.item .link {
  margin-top: 74px;
  margin-top: clamp(74px, 0.8179061372px + 5.357400722vw, 103.68px);
  width: min(94%, 400px);
  max-width: 100%;
  margin-inline: auto;
}
@media (max-width: 1365px) {
  .item .link {
    margin-top: clamp(48px, 14.652173913px + 4.347826087vw, 74px);
  }
}
@media screen and (max-width: 767px) {
  .item .link {
    margin-top: 41px;
    margin-inline: auto;
    width: 500px;
    padding-inline: var(--padding-inline);
  }
}
.item .link:first-child {
  margin-top: 0;
}
@media screen and (max-width: 767px) {
  .item .link:first-child {
    margin-top: 40px;
  }
}
.item__inner--first .item__txt-area {
  padding-bottom: calc(var(--item-inner-second-offset) + 9.12%);
}
.item__inner--second {
  margin-top: calc(var(--item-inner-second-offset) * -1);
}
.item__inner--second .item__txt-area {
  padding-top: calc(var(--item-inner-second-offset) + 104px);
  padding-top: calc(var(--item-inner-second-offset) + clamp(104px, 0.6376895307px + 7.5667870036vw, 145.92px));
}
.item__inner--reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .item__inner--reverse {
    flex-direction: column;
  }
}
.item__inner--landscape-btm {
  margin-top: calc(var(--item-inner-landscape-offset) * -1);
}
.item__inner--landscape-btm .item__txt-area {
  padding-top: calc(var(--item-inner-landscape-offset) + 65px);
  padding-top: calc(var(--item-inner-landscape-offset) + 5.38%);
  justify-content: flex-start;
}
@supports (display: contents) {
  @media screen and (max-width: 767px) {
    .item__txt-area, .item__inner--landscape-btm {
      display: contents !important;
    }
    .item__ttl {
      order: 1;
    }
    .item__desc {
      order: 2;
    }
    .item__photo-area {
      order: 3;
    }
    .item .link {
      order: 4;
    }
    .item__inner--second {
      flex-direction: column;
    }
    .item__inner--second .link {
      order: 1;
    }
    .item__inner--second .item__photo-area {
      order: 2;
    }
    .item__inner--second .item__ttl {
      order: 3;
    }
    .item__inner--second .item__desc {
      order: 4;
    }
    .item:has(.item__inner--landscape-btm) {
      display: flex;
      flex-direction: column;
    }
    .item__inner--landscape-top {
      order: 3;
    }
    .item__inner--landscape-btm .item__photo-area {
      order: 5;
    }
  }
}
@supports not (display: contents) {
  .item .item__ttl {
    margin-top: 30px;
  }
  .item .item__inner--second .item__txt-area {
    padding-top: 0;
  }
}

.link {
  --link-text-color: #333;
  --link-bg-color: var(--sec-color);
  --link-border-color: var(--sec-color);
  --link-text-color-hover: #333;
  --link-bg-color-hover: var(--sec-color);
  --link-border-color-hover: var(--sec-color);
  --link-arrow-url: url("../img/link_arrow_black.svg");
  --link-item-duration: 1.1s;
  --link-item-easing: linear;
}
.link__list {
  padding-left: 0;
  list-style-type: none;
  font-size: clamp(14px, 9.0685920578px + 0.3610108303vw, 16px);
}
@media (max-width: 1365px) {
  .link__list {
    font-size: clamp(13px, 11.7173913043px + 0.1672240803vw, 14px);
  }
}
@media screen and (max-width: 767px) {
  .link__list {
    font-size: 0.87rem;
    font-size: 0.87rem;
    font-size: clamp(14px, 13.0433673469px + 0.2551020408vw, 15px); /* 14px @375px - 15px @767px */
  }
}
@media screen and (max-width: 374px) {
  .link__list {
    font-size: max(11.84px, 3.73vw);
  }
}
.link__item {
  padding-bottom: 0.6em;
  font-size: inherit;
  position: relative;
}
.link a {
  font-size: inherit;
  display: flex;
  align-items: center;
  text-decoration: none;
  row-gap: 3px;
}
@media screen and (max-width: 319px) {
  .link a {
    flex-wrap: wrap;
    justify-content: flex-end;
  }
}
.link a > span {
  display: inline-block;
}
.link__name {
  flex: 1;
  font-size: inherit;
}
@media screen and (max-width: 319px) {
  .link__name {
    width: 100%;
    flex: 0 1 auto;
  }
}
.link__price {
  position: relative;
  margin-right: 0.62em;
  font-size: 1.14em;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .link__price {
    margin-right: 0.25em;
  }
}
.link__item--l .link__price, .link__item--s .link__price {
  min-width: 5.37em;
}
.link__price::before {
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: 0.06em;
  transform: translateY(-50%);
  display: block;
  width: 0.93em;
  height: 0.93em;
  background: center center/contain no-repeat none;
}
.link__item--l .link__price::before {
  content: "";
  background-image: url("../img/link_l.svg");
}
.link__item--s .link__price::before {
  content: "";
  background-image: url("../img/link_s.svg");
}
.link__tax {
  margin-right: 0.78em;
  font-size: 1em;
}
@media screen and (max-width: 767px) {
  .link__tax {
    font-size: 0.78em;
  }
}
.link__btn {
  position: relative;
  width: 7.81em;
  height: 2.54em;
  font-size: 0.78em;
  letter-spacing: 0.05em;
  background-color: var(--link-bg-color);
  border: 1px solid var(--link-border-color);
  text-align: center;
  line-height: 2.36em;
  color: var(--link-text-color);
  transition: padding-right 0.3s ease, background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}
.link__btn::before {
  content: "";
  display: block;
  width: 1.16em;
  height: 0.36em;
  background: center center/contain no-repeat var(--link-arrow-url);
  position: absolute;
  top: 50%;
  right: 1.1em;
  opacity: 0;
  transform: translate(0, -50%);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.link a:hover .link__btn {
  padding-right: 1.1em;
  color: var(--link-text-color-hover);
  background-color: var(--link-bg-color-hover);
  border-color: var(--link-border-color-hover);
}
.link a:hover .link__btn::before {
  transform: translate(0.3em, -50%);
  opacity: 1;
}
.link__list--sub {
  position: relative;
  margin-top: 0.28em;
  padding-top: 0.85em;
  --link-text-color: #333333;
  --link-bg-color: transparent;
  --link-border-color: #625549;
  --link-text-color-hover: #fff;
  --link-bg-color-hover: #625549;
  --link-border-color-hover: #625549;
  --link-arrow-url: url("../img/link_arrow_white.svg");
}
.link__list--sub::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: block;
  height: 1px;
  background-color: #D0D0D0;
}
.link__list--sub .link__item:last-child {
  padding-bottom: 0;
}

.btm-bnr {
  margin-top: 240px;
  margin-top: clamp(240px, -1.441732852px + 17.6750902527vw, 337.92px);
  padding-inline: var(--padding-inline);
}
@media (max-width: 1365px) {
  .btm-bnr {
    margin-top: clamp(160px, 57.3913043478px + 13.3779264214vw, 240px);
  }
}
@media screen and (max-width: 767px) {
  .btm-bnr {
    margin-top: 98px;
    margin-top: clamp(98px, 0.2445790816px + 26.0681122449vw, 200.187px);
  }
}
.btm-bnr__hl {
  text-align: center;
  font-size: 1.12rem;
  font-size: clamp(18px, 0.838700361px + 1.2563176895vw, 24.96px);
  margin-bottom: 2.22em;
  font-weight: normal;
}
@media (max-width: 1365px) {
  .btm-bnr__hl {
    font-size: clamp(16px, 13.4347826087px + 0.3344481605vw, 18px);
  }
}
@media screen and (max-width: 767px) {
  .btm-bnr__hl {
    margin-bottom: 1.31em;
  }
}
.btm-bnr__inner {
  position: relative;
  width: 600px;
  width: clamp(600px, 1.1298194946px + 43.8411552347vw, 842.88px);
  max-width: 100%;
  margin-inline: auto;
  container-type: inline-size;
}
.btm-bnr__img img {
  width: 100%;
  display: block;
}
.btm-bnr__txt {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
  color: #fff;
  font-family: var(--font-en);
  row-gap: 0.73em;
  font-size: 1.87rem;
  font-size: clamp(30px, -0.1802166065px + 2.2093862816vw, 42.24px);
}
@media screen and (max-width: 767px) {
  .btm-bnr__txt {
    row-gap: 0.41em;
    font-size: 1.5rem;
    font-size: 7.61cqw;
  }
}
.btm-bnr__ttl {
  margin-left: -0.24em;
  font-size: inherit;
  line-height: 1;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .btm-bnr__ttl {
    margin-left: 0;
    margin-top: 0.33em;
  }
}
.btm-bnr__ttl span {
  margin-left: 0.07em;
  letter-spacing: 0.05em;
}
.btm-bnr__info {
  font-size: 1.12rem;
  font-size: clamp(18px, 0.838700361px + 1.2563176895vw, 24.96px);
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  column-gap: 0.38em;
}
@media screen and (max-width: 767px) {
  .btm-bnr__info {
    font-size: 0.81rem;
    font-size: 4.12cqw;
  }
}
.btm-bnr__info-date img {
  width: 4.77em;
}
@media screen and (max-width: 767px) {
  .btm-bnr__info-date img {
    width: 4.92em;
  }
}
.btm-bnr__info-ja {
  font-family: var(--font-ja);
}

/* end-block------------------ */
.end-block {
  position: relative;
  margin-top: 0;
  background-color: #fff;
  overflow: hidden;
}
.end-block .flex-box {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}

.end-block .bgi-photo {
  position: absolute;
  top: 0;
  left: 0;
}

/*banner-block-----------------------------*/
.banner-block {
  margin: 220px auto 51px;
  margin-top: clamp(220px, 0.2564620939px + 16.0866425993vw, 309.12px);
  position: relative;
  width: 1920px;
  max-width: 100%;
}
@media (max-width: 1365px) {
  .banner-block {
    margin-top: clamp(150px, 60.2173913043px + 11.7056856187vw, 220px);
  }
}

.banner-block a {
  display: block;
  transition: 0.6s ease-in-out;
}

.banner-block a:hover {
  background: rgba(255, 255, 255, 0.4);
}

.banner-block .c-btn01 {
  width: 36%;
  min-width: 600px;
  margin: 0 auto 1rem;
  border: 1px solid #000;
  transition: 0.3s;
  display: block;
}
.banner-block .c-btn01 img {
  width: 100%;
}

.banner-block .line {
  display: block;
  width: 100%;
  max-width: 1200px;
  height: 1px;
  margin: 5% auto 0;
  background: #000;
}

.banner-block .flex-box {
  padding-left: 0;
  justify-content: space-between;
  width: 36%;
  min-width: 600px;
  margin: 4.5% auto 0;
}

.banner-block .flex-box .c-btn01 {
  width: 48%;
  min-width: 290px;
  margin: 0;
}

/* ページトップボタン---------------------------- */
#pagetop {
  position: fixed;
  right: 15px;
  bottom: 15px;
  width: 50px;
  height: 50px;
  display: block;
  z-index: 99;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
#pagetop.is-show, html:not(.js-enabled) #pagetop {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
@media print {
  #pagetop {
    display: none !important;
  }
}

#pagetop .btn-loading {
  display: inline-flex;
  text-decoration: none;
  font-weight: 700;
  color: #111;
  width: 100%;
  height: 100%;
  position: relative;
  opacity: 1 !important;
  transition: all 0.3s;
  background-color: #CCC;
  border-radius: 100%;
  transition: color 0.2s;
  overflow: hidden;
}

#pagetop .btn-loading01:before,
#pagetop .btn-loading01:after {
  content: "";
  display: block;
  position: absolute;
  width: 50%;
  height: 0;
  background-color: #231815;
  pointer-events: none;
}

#pagetop .btn-loading:before {
  bottom: 0;
  left: 0;
}

#pagetop .btn-loading:after {
  top: 0;
  right: 0;
}

#pagetop:hover .btn-loading {
  color: #65A04D;
}

#pagetop:hover .btn-loading:before,
#pagetop:hover .btn-loading:after {
  height: 100%;
}

#pagetop:hover .btn-loading:before {
  transition: height 0.1s 0.1s linear;
}

#pagetop:hover .btn-loading:after {
  transition: height 0.1s linear;
}

#pagetop .btn-loading span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 1px);
  height: calc(100% - 1px);
  background-color: #FFF;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 99;
}

#pagetop .btn-loading span img {
  width: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* フッター--------------------------------------------- */
.footer {
  letter-spacing: 0.3em;
  position: relative;
  text-align: center;
  padding: 0 0 30px 0;
}

.footer img {
  transition: 0.3s;
}

.footer img:hover {
  opacity: 0.6;
  transition: 0.3s;
}

.footer_sns .instagram {
  display: block;
  width: 2.34%;
  min-width: 30px;
  margin: 0 auto min(2%, 20px);
  opacity: 1;
  transition: 0.3s;
}

.f-ow {
  width: 7.96%;
  min-width: 102px;
  margin: 25px auto 0 auto;
}

.footer_copyright {
  font-family: "Helvetica", sans-serif;
  font-size: max(0.6vw, 10px);
  letter-spacing: 0.02em;
  margin: 1.71% 0 0;
}

@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .flex-box {
    flex-direction: column;
  }
  /* バナー--------------------------- */
  .banner-block {
    margin-top: 81px;
    margin-top: clamp(81px, 0px + 21.6vw, 165.672px);
    margin-bottom: 16vw;
  }
  .banner-block .c-btn01 {
    width: 80%;
    max-width: 460px;
    min-width: auto;
  }
  .banner-block .line {
    display: none;
  }
  .banner-block .flex-box {
    flex-direction: row;
    width: 80%;
    min-width: auto;
    margin: 0 auto;
  }
  .banner-block .flex-box .c-btn01 {
    min-width: auto;
  }
  /* ページトップボタン--------------------------- */
  #pagetop {
    position: fixed;
    right: 10px;
    width: 35px;
    height: 35px;
    display: block;
    z-index: 30;
  }
  #pagetop .btn-loading {
    display: inline-flex;
    text-decoration: none;
    font-weight: 700;
    color: #111;
    width: 100%;
    height: 100%;
    position: relative;
    opacity: 1 !important;
    transition: all 0.3s;
    background-color: #CCC;
    border-radius: 100%;
    transition: color 0.2s;
    overflow: hidden;
  }
  #pagetop .btn-loading01:before,
  #pagetop .btn-loading01:after {
    content: "";
    display: block;
    position: absolute;
    width: 50%;
    height: 0;
    background-color: #231815;
    pointer-events: none;
  }
  #pagetop .btn-loading:before {
    bottom: 0;
    left: 0;
  }
  #pagetop .btn-loading:after {
    top: 0;
    right: 0;
  }
  #pagetop:hover .btn-loading {
    color: #65A04D;
  }
  #pagetop:hover .btn-loading:before,
  #pagetop:hover .btn-loading:after {
    height: 100%;
  }
  #pagetop:hover .btn-loading:before {
    transition: height 0.1s 0.1s linear;
  }
  #pagetop:hover .btn-loading:after {
    transition: height 0.1s linear;
  }
  #pagetop .btn-loading span {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: calc(100% - 1px);
    height: calc(100% - 1px);
    background-color: #FFF;
    border-radius: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 99;
  }
  #pagetop .btn-loading span img {
    width: 18px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  /* フッター--------------------------- */
  .footer {
    padding-bottom: 20px;
  }
  .footer_sns {
    margin: 0 auto;
  }
  .footer_sns .instagram {
    width: 2.73%;
    min-width: 35px;
  }
  .f-ow {
    margin-top: 5.86vw;
    width: 9.37%;
    min-width: 120px;
  }
  .footer_copyright {
    margin-top: 5.33vw;
  }
  .footer_copyright img {
    width: 72vw;
  }
}