@charset "UTF-8";
@font-face {
  font-family: "zen-kaku-gothic-new";
  src: url("path-to-font.woff2") format("woff2");
  unicode-range: U+0000-FFFF;
}
/* color
===================================================== */
/* 共通
===================================================== */
html,
body {
  font-family: YakuHanJPs, zen-kaku-gothic-new, "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
  width: 100%;
  font-size: 16px;
  letter-spacing: 0.04em;
  margin: 0 auto;
  transition: all 1s ease 1s;
  background-color: transparent;
  color: #232323;
  background-color: #ebe6dd;
  position: relative;
}

body {
  overflow-x: hidden;
  position: relative;
}

img,
video {
  width: 100%;
  display: block;
}

@media screen and (min-width: 769px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .spNone {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .pcNone {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .pcNone {
    display: block;
  }
}
/* vw計算(pc用)
===================================================== */
/* vw変換(SP用)
===================================================== */
/* a
===================================================== */
a {
  display: block;
  text-decoration: none;
  transition: all 0.6s;
  color: #232323;
}

a:hover {
  opacity: 0.6;
  transition: all 0.6s;
  cursor: pointer;
}

a[href=""] {
  pointer-events: none;
}

/* font
===================================================== */
.en_1 {
  font-family: YakuHanMPs, the-seasons, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.ja_1 {
  font-family: YakuHanMPs, zen-old-mincho, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.ja_2 {
  font-family: YakuHanJPs, dnp-shuei-gothic-gin-std, sans-serif;
  font-weight: 400;
  font-style: normal;
}

/* 流れる文字
========================================================= */
.loop_area {
  width: 100%;
  overflow: hidden;
}
@keyframes loop_left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.loop_area .loop_wrap {
  display: flex;
}
.loop_area .loop_wrap .loop_left {
  animation: loop_left 40s infinite linear 1s both;
  display: flex;
  margin: 0;
  padding: 0;
}
.loop_area .loop_wrap .loop_left .loop_txt {
  font-size: 18.6666666667vw;
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0.2;
  color: #B89F89;
}
@media screen and (min-width: 769px) {
  .loop_area .loop_wrap .loop_left .loop_txt {
    font-size: min(9.2592592593vw, 100px);
  }
}

/* 背景指定 ===================================================== */
.bgWrap {
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  pointer-events: none;
  width: 100%;
}
.bgWrap .bg_item {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  transition: all 0.8s ease-in-out;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
@media screen and (min-width: 769px) {
  .bgWrap .bg_item {
    transition: all 0.6s ease-in-out;
  }
}
.bgWrap .bg_item.active {
  opacity: 1;
}
.bgWrap .bg_item.bg_item--1 {
  background-image: url(../images/bg1_sp.jpg);
}
@media screen and (min-width: 769px) {
  .bgWrap .bg_item.bg_item--1 {
    background-image: url(../images/bg1_pc.jpg);
  }
}
.bgWrap .bg_item.bg_item--2 {
  background-image: url(../images/bg2_sp.jpg);
}
@media screen and (min-width: 769px) {
  .bgWrap .bg_item.bg_item--2 {
    background-image: url(../images/bg2_pc.jpg);
  }
}
.bgWrap .bg_item.bg_item--3 {
  background-image: url(../images/bg3_sp.jpg);
}
@media screen and (min-width: 769px) {
  .bgWrap .bg_item.bg_item--3 {
    background-image: url(../images/bg3_pc.jpg);
  }
}
.bgWrap .bg_item.bg_item--4 {
  background-color: rgba(143, 132, 112, 0.5);
}

header,
footer,
section {
  position: relative;
}

/* 流れる文字
========================================================= */
.loop_area {
  width: 100%;
  overflow: hidden;
}
@keyframes loop_left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.loop_area .loop_wrap {
  display: flex;
}
.loop_area .loop_wrap .loop_left {
  animation: loop_left 40s infinite linear 1s both;
  display: flex;
  margin: 0;
  padding: 0;
}
.loop_area .loop_wrap .loop_left .loop_txt {
  font-size: 18.6666666667vw;
  letter-spacing: 0.04em;
  white-space: nowrap;
  opacity: 0.2;
  color: #d5c4b1;
}
@media screen and (min-width: 769px) {
  .loop_area .loop_wrap .loop_left .loop_txt {
    font-size: min(9.2592592593vw, 100px);
  }
}

/* 共通
===================================================== */
.line1 {
  width: 100%;
  height: 0.16vw;
  background-color: #232323;
}
@media screen and (min-width: 769px) {
  .line1 {
    height: min(0.0925925926vw, 1px);
  }
}

/* loading 
===================================================== */
/* fv
===================================================== */
.fv {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 769px) {
  .fv {
    width: 83.3333333333%;
    margin: 0 auto;
    margin-top: 4.8611111111%;
  }
}
.fv h1 {
  position: absolute;
  width: 72vw;
  top: 27.4666666667vw;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .fv h1 {
    width: 25%;
    top: 13.8888888889%;
  }
}
.fv .scroll {
  font-size: 3.2vw;
  position: absolute;
  left: 50%;
  bottom: 0vw;
  transform: translate(-50%, 0);
  z-index: 1;
  color: #fdfcfa;
  overflow: hidden;
  padding-bottom: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .fv .scroll {
    font-size: min(1.2962962963vw, 14px);
    padding-bottom: min(3.7037037037vw, 40px);
    transform: translate(-50%, 25%);
  }
}
.fv .scroll span:nth-child(1) {
  width: 0.2666666667vw;
  height: 8vw;
  background-color: #fdfcfa;
  position: absolute;
  left: 50%;
  bottom: 10.6666666667vw;
  transform: translate(-50%, 10.6666666667vw);
  opacity: 0.2;
}
@media screen and (min-width: 769px) {
  .fv .scroll span:nth-child(1) {
    width: min(0.0925925926vw, 1px);
    height: min(2.7777777778vw, 30px);
    bottom: min(3.7037037037vw, 40px);
    transform: translate(-50%, min(3.7037037037vw, 40px));
  }
}
.fv .scroll span:nth-child(2) {
  width: 0.1333333333vw;
  height: 8vw;
  background-color: #fdfcfa;
  position: absolute;
  left: 50%;
  bottom: 0vw;
  transform: translate(-50%, 10.6666666667vw);
  animation: down 3s ease infinite;
}
@media screen and (min-width: 769px) {
  .fv .scroll span:nth-child(2) {
    width: min(0.0925925926vw, 1px);
    height: min(2.7777777778vw, 30px);
    bottom: min(0vw, 0px);
    transform: translate(-50%, min(3.7037037037vw, 40px));
    animation: down 3s ease infinite;
  }
}

/* lead
===================================================== */
.lead {
  width: 78.6666666667vw;
  margin: 24vw auto 18.1333333333vw;
}
@media screen and (min-width: 769px) {
  .lead {
    width: min(83.3333333333vw, 900px);
    margin: min(12.962962963vw, 140px) auto min(9.2592592593vw, 100px);
    display: flex;
    gap: min(10.7407407407vw, 116px);
  }
}
.lead h2 {
  font-size: 10.6666666667vw;
  margin-bottom: 8.5333333333vw;
}
@media screen and (min-width: 769px) {
  .lead h2 {
    font-size: min(5.5555555556vw, 60px);
    margin-bottom: 0;
  }
}
.lead h2 span {
  font-size: 2.6666666667vw;
  display: block;
  margin-top: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .lead h2 span {
    font-size: min(1.0185185185vw, 11px);
    margin-top: min(1.4814814815vw, 16px);
  }
}
.lead div:nth-child(2) p {
  font-size: 3.2vw;
  line-height: 2.1666666667;
}
@media screen and (min-width: 769px) {
  .lead div:nth-child(2) p {
    font-size: min(1.3425925926vw, 14.5px);
  }
}
.lead div:nth-child(2) p:nth-child(2) {
  letter-spacing: 0;
}
.lead p + p {
  margin-top: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  .lead p + p {
    margin-top: min(2.7777777778vw, 30px);
  }
}

.sche {
  width: 78.6666666667vw;
  margin: 0 auto 21.3333333333vw;
}
@media screen and (min-width: 769px) {
  .sche {
    width: min(83.3333333333vw, 900px);
    margin: 0 auto min(12.962962963vw, 140px);
  }
}
.sche .sche_wrap {
  padding: 9.6vw 2.6666666667vw 8vw;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap {
    padding: min(1.8518518519vw, 20px) min(1.8518518519vw, 20px);
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: min(14.8148148148vw, 160px);
  }
}
.sche .sche_wrap h3 {
  position: relative;
  font-size: 7.4666666667vw;
  margin-bottom: 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap h3 {
    font-size: min(3.3333333333vw, 36px);
    margin-bottom: 0;
    width: min(24.8148148148vw, 268px);
    padding-bottom: min(5.5555555556vw, 60px);
  }
}
.sche .sche_wrap h3::after {
  content: "";
  display: block;
  background-color: #232323;
  position: absolute;
  bottom: -5.3333333333vw;
  left: 0;
  width: 5.3333333333vw;
  height: 0.16vw;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap h3::after {
    width: min(0.0740740741vw, 0.8px);
    height: min(13.8888888889vw, 150px);
    right: min(1.3888888889vw, 15px);
    top: 52%;
    left: auto;
    bottom: auto;
    transform: translateY(-50%);
  }
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap > div {
    width: min(48.6111111111vw, 525px);
  }
}
.sche .sche_wrap > div .sche_ttl {
  font-size: 2.9333333333vw;
  display: block;
  margin-top: 2.6666666667vw;
  margin-bottom: 3.2vw;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap > div .sche_ttl {
    font-size: min(1.2037037037vw, 13px);
    margin-top: min(0.3703703704vw, 4px);
    margin-bottom: min(0vw, 0px);
    padding-bottom: min(1.8518518519vw, 20px);
    box-sizing: border-box;
  }
}
.sche .sche_wrap > div p:nth-child(2) {
  font-size: 4.2666666667vw;
  margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap > div p:nth-child(2) {
    font-size: min(1.7777777778vw, 19.2px);
    margin-bottom: min(2.4074074074vw, 26px);
  }
}
.sche .sche_wrap > div p:nth-child(2) span {
  font-size: 6.9333333333vw;
  letter-spacing: 0;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap > div p:nth-child(2) span {
    font-size: min(2.8888888889vw, 31.2px);
  }
}
.sche .sche_wrap > div p:nth-child(3),
.sche .sche_wrap > div p:nth-child(4) {
  font-size: 2.9333333333vw;
  line-height: 1.8181818182;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap > div p:nth-child(3),
  .sche .sche_wrap > div p:nth-child(4) {
    font-size: min(1.2037037037vw, 13px);
  }
}
.sche .sche_wrap > div p:nth-child(3) a,
.sche .sche_wrap > div p:nth-child(4) a {
  display: inline;
  text-decoration: underline;
  text-underline-offset: 0.5333333333vw;
  text-decoration-thickness: 0.16vw;
}
@media screen and (min-width: 769px) {
  .sche .sche_wrap > div p:nth-child(3) a,
  .sche .sche_wrap > div p:nth-child(4) a {
    text-underline-offset: min(0.3703703704vw, 4px);
    text-decoration-thickness: min(0.0740740741vw, 0.8px);
  }
}

/* main
===================================================== */
main .item_wrap {
  width: 80vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  main .item_wrap {
    width: min(73.6111111111vw, 1060px);
    display: flex;
    justify-content: space-between;
    margin: 0 auto min(4.1666666667vw, 60px);
  }
}
main .item_wrap .item_slide {
  margin-bottom: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_slide {
    width: min(36.1111111111vw, 520px);
    margin-bottom: min(0vw, 0px);
  }
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info {
    width: min(30.5555555556vw, 440px);
  }
}
main .item_wrap .item_info .item_link {
  margin-bottom: 6.9333333333vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_link {
    margin-bottom: min(2.0833333333vw, 30px);
  }
}
main .item_wrap .item_info .item_name p:nth-child(1) {
  font-size: 5.8666666667vw;
  margin-bottom: 4vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_name p:nth-child(1) {
    font-size: min(1.6666666667vw, 24px);
    margin-bottom: min(0.8333333333vw, 12px);
  }
}
main .item_wrap .item_info .item_name p:nth-child(2) {
  font-size: 8.5333333333vw;
  margin-bottom: 3.2vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_name p:nth-child(2) {
    font-size: min(2.7777777778vw, 40px);
    margin-bottom: min(0.5555555556vw, 8px);
  }
}
main .item_wrap .item_info .item_name p:nth-child(3) {
  font-size: 2.6666666667vw;
  letter-spacing: 0;
  margin-bottom: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_name p:nth-child(3) {
    font-size: min(0.8333333333vw, 12px);
    margin-bottom: min(1.7361111111vw, 25px);
  }
}
main .item_wrap .item_info .item_price {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
main .item_wrap .item_info .item_price p:nth-child(1) {
  font-size: 3.4666666667vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_price p:nth-child(1) {
    font-size: min(1.0416666667vw, 15px);
  }
}
main .item_wrap .item_info .item_price p:nth-child(2) {
  font-size: 4.2666666667vw;
  display: inline;
  text-decoration: underline;
  text-underline-offset: 0.5333333333vw;
  text-decoration-thickness: 0.16vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_price p:nth-child(2) {
    font-size: min(1.25vw, 18px);
    text-underline-offset: min(0.2777777778vw, 4px);
    text-decoration-thickness: min(0.0740740741vw, 0.8px);
  }
}
main .item_wrap .item_info .item_txt {
  padding: 8.5333333333vw 0.6666666667vw 6.6666666667vw;
  font-size: 3.3066666667vw;
  line-height: 2;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_txt {
    padding: min(1.6666666667vw, 24px) 0 min(3.3333333333vw, 48px);
    font-size: min(0.9722222222vw, 14px);
    letter-spacing: 0.04em;
  }
}
main .item_wrap .item_info .item_tri {
  width: 100%;
  margin: 0 auto 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  main .item_wrap .item_info .item_tri {
    width: min(22.2222222222vw, 320px);
    margin: 0 auto;
  }
}
main .buy_btn {
  text-align: center;
  display: block;
  margin: 0 auto;
  width: 64vw;
  height: 14.9333333333vw;
  line-height: 14.4vw;
  color: #fdfcfa;
  border-radius: 100vw;
  font-size: 3.7333333333vw;
  position: relative;
  box-shadow: 0 0.5333333333vw 2.6666666667vw rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
  letter-spacing: 0.08em;
}
@media screen and (min-width: 769px) {
  main .buy_btn {
    width: min(25vw, 360px);
    height: min(5vw, 72px);
    line-height: min(4.8611111111vw, 70px);
    font-size: min(1.1111111111vw, 16px);
    box-shadow: 0 min(0.1851851852vw, 2px) min(0.9259259259vw, 10px) rgba(0, 0, 0, 0.2);
  }
}
main .buy_btn:hover {
  box-shadow: none;
  transform: translateY(3%);
  transition: all 0.3s;
}
main .buy_btn svg {
  width: 2.1333333333vw;
  position: absolute;
  right: 7.4666666667vw;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  main .buy_btn svg {
    width: min(0.6944444444vw, 10px);
    right: min(3.4722222222vw, 50px);
  }
}
main .buy_btn:hover {
  opacity: 1;
}
main .buy_btn:hover svg {
  transform: translate(60%, -50%);
  transition: all 0.3s;
}
main #sec1 {
  padding: 13.3333333333vw 0 21.3333333333vw;
  color: #232323;
}
@media screen and (min-width: 769px) {
  main #sec1 {
    padding: min(6.9444444444vw, 100px) 0 min(9.7222222222vw, 140px);
  }
}
main #sec1 a {
  color: #232323;
}
main #sec1 .buy_btn {
  color: #fdfcfa;
  background-color: #959CA6;
}
main #sec2 {
  padding: 13.3333333333vw 0 21.3333333333vw;
  color: #fdfcfa;
}
@media screen and (min-width: 769px) {
  main #sec2 {
    padding: min(6.9444444444vw, 100px) 0 min(9.7222222222vw, 140px);
  }
}
main #sec2 a {
  color: #fdfcfa;
}
main #sec2 .line1 {
  background-color: #fdfcfa;
}
main #sec2 .buy_btn {
  background-color: #5B473E;
}
main #sec2 .item_wrap {
  flex-direction: row-reverse;
}
main #sec3 {
  z-index: 5;
  padding: 5.3333333333vw 0 44.8vw;
}
@media screen and (min-width: 769px) {
  main #sec3 {
    padding: min(5.5555555556vw, 60px) 0 min(22.2222222222vw, 240px);
  }
}
main #sec3 .campaign {
  text-align: center;
  margin-bottom: 32vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign {
    margin-bottom: min(22.2222222222vw, 240px);
  }
}
main #sec3 .campaign .loop_area {
  margin-bottom: 13.3333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .loop_area {
    margin-bottom: min(9.2592592593vw, 100px);
  }
}
main #sec3 .campaign .cam_ttl {
  margin-bottom: 13.3333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_ttl {
    margin-bottom: min(7.4074074074vw, 80px);
  }
}
main #sec3 .campaign .cam_ttl p:nth-child(1) {
  font-size: 3.7333333333vw;
  letter-spacing: 0.08em;
  text-decoration: underline;
  text-underline-offset: 2.1333333333vw;
  text-decoration-thickness: 0.16vw;
  margin-bottom: 9.6vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_ttl p:nth-child(1) {
    font-size: min(1.6666666667vw, 18px);
    text-underline-offset: min(1.1111111111vw, 12px);
    text-decoration-thickness: min(0.0740740741vw, 0.8px);
    margin-bottom: min(5.1851851852vw, 56px);
  }
}
main #sec3 .campaign .cam_ttl p:nth-child(2) {
  font-size: 6.4vw;
  line-height: 1.5833333333;
  margin-bottom: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_ttl p:nth-child(2) {
    font-size: min(3.7037037037vw, 40px);
    margin-bottom: min(3.1481481481vw, 34px);
  }
}
main #sec3 .campaign .cam_ttl p:nth-child(3),
main #sec3 .campaign .cam_ttl p:nth-child(4) {
  padding: 2.1333333333vw 0 0;
  font-size: 3.4666666667vw;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_ttl p:nth-child(3),
  main #sec3 .campaign .cam_ttl p:nth-child(4) {
    padding: min(1.1111111111vw, 12px) 0 0;
    font-size: min(1.3888888889vw, 15px);
    letter-spacing: 0.04em;
  }
}
main #sec3 .campaign .cam_area p:nth-child(1) {
  position: relative;
  font-size: 3.2vw;
  letter-spacing: 0.08em;
  width: fit-content;
  margin: 0 auto 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_area p:nth-child(1) {
    font-size: min(1.4814814815vw, 16px);
    margin: 0 auto min(3.7037037037vw, 40px);
  }
}
main #sec3 .campaign .cam_area p:nth-child(1)::before {
  content: "";
  display: block;
  background-color: #232323;
  width: 0.16vw;
  height: 4.2666666667vw;
  position: absolute;
  bottom: -1.0666666667vw;
  left: -4.2666666667vw;
  transform: rotate(-30deg);
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_area p:nth-child(1)::before {
    width: min(0.0740740741vw, 0.8px);
    height: min(1.6666666667vw, 18px);
    bottom: max(-0.462962963vw, -5px);
    left: max(-1.8518518519vw, -20px);
  }
}
main #sec3 .campaign .cam_area p:nth-child(1)::after {
  content: "";
  display: block;
  background-color: #232323;
  width: 0.16vw;
  height: 4.2666666667vw;
  position: absolute;
  bottom: -1.0666666667vw;
  right: -3.7333333333vw;
  transform: rotate(30deg);
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_area p:nth-child(1)::after {
    width: min(0.0740740741vw, 0.8px);
    height: min(1.6666666667vw, 18px);
    bottom: max(-0.462962963vw, -5px);
    right: max(-1.8518518519vw, -20px);
  }
}
main #sec3 .campaign .cam_area a:nth-child(2) {
  width: 85.3333333333vw;
  margin: 0 auto;
  position: relative;
  box-shadow: 0 0.5333333333vw 2.6666666667vw rgba(0, 0, 0, 0.2);
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_area a:nth-child(2) {
    width: min(55.5555555556vw, 600px);
    box-shadow: 0 min(0.1851851852vw, 2px) min(0.9259259259vw, 10px) rgba(0, 0, 0, 0.2);
  }
}
main #sec3 .campaign .cam_area a:nth-child(2):hover {
  box-shadow: none;
  transform: translateY(3%);
  transition: all 0.3s;
}
main #sec3 .campaign .cam_area a:nth-child(2) svg {
  width: 2.3466666667vw;
  position: absolute;
  right: 2.6666666667vw;
  top: 50%;
  transform: translate(0, -50%);
  transition: all 0.3s;
}
@media screen and (min-width: 769px) {
  main #sec3 .campaign .cam_area a:nth-child(2) svg {
    width: min(1.2962962963vw, 14px);
    right: min(2.8703703704vw, 31px);
  }
}
main #sec3 .campaign .cam_area a:nth-child(2):hover {
  opacity: 1;
}
main #sec3 .campaign .cam_area a:nth-child(2):hover svg {
  transform: translate(60%, -50%);
  transition: all 0.3s;
}
main #sec3 .producer .producer_ttl {
  width: 85.3333333333vw;
  margin: 0 auto 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .producer_ttl {
    width: min(83.3333333333vw, 900px);
    margin: min(0vw, 0px) auto min(9.2592592593vw, 100px);
  }
}
main #sec3 .producer .producer_ttl h3 {
  font-size: 4.8vw;
  margin-bottom: 4.2666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .producer_ttl h3 {
    font-size: min(2.037037037vw, 22px);
    margin-bottom: min(1.8518518519vw, 20px);
  }
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .producer_wrap {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: min(83.3333333333vw, 900px);
    margin: 0 auto;
  }
}
main #sec3 .producer .prof_wrap {
  width: 78.6666666667vw;
  margin: 0 auto 16vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap {
    width: min(33.3333333333vw, 360px);
    margin: 0 auto 0 min(0.9259259259vw, 10px);
  }
}
main #sec3 .producer .prof_wrap .prof_box {
  display: flex;
  align-items: center;
  gap: 8vw;
  margin-bottom: 8vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_box {
    gap: min(4.4444444444vw, 48px);
    margin-bottom: min(3.7037037037vw, 40px);
  }
}
main #sec3 .producer .prof_wrap .prof_box > img {
  width: 42.6666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_box > img {
    width: min(16.6666666667vw, 180px);
  }
}
main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(1) {
  font-size: 7.4666666667vw;
  margin-bottom: 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(1) {
    font-size: min(2.962962963vw, 32px);
    margin-bottom: min(1.8518518519vw, 20px);
  }
}
main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(2) {
  font-size: 3.4666666667vw;
  letter-spacing: 0;
  position: relative;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(2) {
    font-size: min(1.2962962963vw, 14px);
  }
}
main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(2) img {
  width: 4.2666666667vw;
  display: inline;
  transform: translateY(30%);
  margin-right: 1.6vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(2) img {
    width: min(1.6666666667vw, 18px);
    margin-right: min(0.7962962963vw, 8.6px);
  }
}
main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(2)::after {
  content: "";
  width: 100%;
  height: 0.16vw;
  background-color: #A78D6B;
  position: absolute;
  left: 0;
  bottom: -2.1333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_box .prof_info p:nth-child(2)::after {
    height: min(0.0740740741vw, 0.8px);
    bottom: max(-0.9259259259vw, -10px);
  }
}
main #sec3 .producer .prof_wrap .prof_txt {
  font-size: 2.9333333333vw;
  line-height: 2;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_txt {
    font-size: min(1.1111111111vw, 12px);
    padding-left: min(0.9259259259vw, 10px);
  }
}
main #sec3 .producer .prof_wrap .prof_txt p + p {
  margin-top: 1.3333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .prof_wrap .prof_txt p + p {
    margin-top: min(1.2962962963vw, 14px);
  }
}
main #sec3 .producer .message_wrap {
  width: 90.6666666667vw;
  margin: 0 auto;
  position: relative;
  padding: 8.5333333333vw 0 9.6vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .message_wrap {
    width: min(40.7407407407vw, 440px);
    padding: min(5.7407407407vw, 62px) 0 min(6.2037037037vw, 67px);
    margin: min(1.8518518519vw, 20px) min(0.9259259259vw, 10px) 0 auto;
  }
}
main #sec3 .producer .message_wrap::before {
  content: "";
  width: 100%;
  height: 100%;
  background-color: #fdfcfa;
  border-radius: 1.3333333333vw;
  filter: blur(5px);
  opacity: 0.6;
  position: absolute;
  inset: 0;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .message_wrap::before {
    border-radius: min(0.462962963vw, 5px);
    filter: blur(5px);
  }
}
main #sec3 .producer .message_wrap p {
  position: relative;
  font-size: 3.2vw;
  letter-spacing: 0;
  line-height: 1.8333333333;
  width: 68vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .message_wrap p {
    font-size: min(1.3425925926vw, 14.5px);
    width: min(28.7037037037vw, 310px);
  }
}
main #sec3 .producer .message_wrap p + p {
  margin-top: 3.2vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .message_wrap p + p {
    margin-top: min(2.2222222222vw, 24px);
  }
}
main #sec3 .producer .message_wrap .message_frame img {
  position: absolute;
}
main #sec3 .producer .message_wrap .message_frame img:nth-child(1) {
  width: 25.3333333333vw;
  top: -4.2666666667vw;
  left: 2.6666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .message_wrap .message_frame img:nth-child(1) {
    width: min(10.4814814815vw, 113.2px);
    top: max(-1.8518518519vw, -20px);
    left: min(1.8518518519vw, 20px);
  }
}
main #sec3 .producer .message_wrap .message_frame img:nth-child(2) {
  width: 19.3066666667vw;
  right: 2.6666666667vw;
  bottom: -4.2666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec3 .producer .message_wrap .message_frame img:nth-child(2) {
    width: min(8.1851851852vw, 88.4px);
    right: min(1.8518518519vw, 20px);
    bottom: max(-1.8518518519vw, -20px);
  }
}
main #sec4 {
  padding: 0vw;
}
main #sec4 .gallery .gallery_item {
  position: relative;
  padding-top: 262.9333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item {
    padding-top: min(190vw, 2052px);
    width: min(96.2962962963vw, 1040px);
    margin: 0 auto;
  }
}
main #sec4 .gallery .gallery_item img {
  position: absolute;
}
main #sec4 .gallery .gallery_item p {
  position: absolute;
  font-size: 2.1333333333vw;
  line-height: 1.75;
  letter-spacing: 0.08em;
  color: #6b6154;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item p {
    font-size: min(0.9259259259vw, 10px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(1) {
  width: 37.3333333333vw;
  top: 2.6666666667vw;
  left: 52.5333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(1) {
    width: min(18.5185185185vw, 200px);
    top: min(3.2407407407vw, 35px);
    left: min(62.962962963vw, 680px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(2) {
  width: 34.6666666667vw;
  top: 0;
  left: 5.8666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(2) {
    width: min(31.4814814815vw, 340px);
    top: min(0vw, 0px);
    left: min(7.4074074074vw, 80px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(3) {
  width: 37.3333333333vw;
  top: 37.0666666667vw;
  left: 52.2666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(3) {
    width: min(33.3333333333vw, 360px);
    top: min(20.8333333333vw, 225px);
    left: min(55.5555555556vw, 600px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(4) {
  width: 50.6666666667vw;
  top: 69.6vw;
  left: 15.4666666667vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(4) {
    width: min(42.5925925926vw, 460px);
    top: min(45.8333333333vw, 495px);
    left: min(22.2222222222vw, 240px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(5) {
  width: 40vw;
  top: 118.1333333333vw;
  left: 6.4vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(5) {
    width: min(35.1851851852vw, 380px);
    top: min(85.2777777778vw, 921px);
    left: min(7.4074074074vw, 80px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(6) {
  width: 37.3333333333vw;
  top: 149.8666666667vw;
  left: 56.8vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(6) {
    width: min(31.4814814815vw, 340px);
    top: min(100.9259259259vw, 1090px);
    left: min(57.4074074074vw, 620px);
  }
}
main #sec4 .gallery .gallery_item img:nth-child(7) {
  width: 50.6666666667vw;
  top: 200.2666666667vw;
  left: 18.1333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item img:nth-child(7) {
    width: min(38.8888888889vw, 420px);
    top: min(144.2592592593vw, 1558px);
    left: min(33.3333333333vw, 360px);
  }
}
main #sec4 .gallery .gallery_item p:nth-child(8) {
  text-align: left;
  top: 48.8vw;
  left: 6.9333333333vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item p:nth-child(8) {
    top: min(64.4444444444vw, 696px);
    left: min(12.1296296296vw, 131px);
  }
}
main #sec4 .gallery .gallery_item p:nth-child(9) {
  text-align: right;
  top: 124.2666666667vw;
  left: 62.3466666667vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item p:nth-child(9) {
    top: min(88.8888888889vw, 960px);
    left: min(74.0740740741vw, 800px);
  }
}
main #sec4 .gallery .gallery_item p:nth-child(10) {
  text-align: left;
  top: 178.4vw;
  left: 8vw;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .gallery_item p:nth-child(10) {
    top: min(152.7777777778vw, 1650px);
    left: min(11.2962962963vw, 122px);
  }
}
main #sec4 .gallery .line1 {
  width: 80vw;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  main #sec4 .gallery .line1 {
    width: min(86.6666666667vw, 1040px);
  }
}

/* footer
===================================================== */
footer {
  position: relative;
  z-index: 5;
  padding: 20.2666666667vw 0 13.3333333333vw;
}
@media screen and (min-width: 769px) {
  footer {
    padding: min(10.9259259259vw, 118px) 0 min(6.0185185185vw, 65px);
  }
}
footer .footer_sns {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6.6666666667vw;
  margin: 0 auto 14.9333333333vw;
}
@media screen and (min-width: 769px) {
  footer .footer_sns {
    gap: 40px;
    margin: 0 auto 60px;
  }
}
footer .footer_sns li:nth-child(1) {
  width: 6.1333333333vw;
}
@media screen and (min-width: 769px) {
  footer .footer_sns li:nth-child(1) {
    width: 28px;
  }
}
footer .footer_sns li:nth-child(2) {
  width: 5.3333333333vw;
}
@media screen and (min-width: 769px) {
  footer .footer_sns li:nth-child(2) {
    width: 24px;
  }
}
footer .footer_sns li:nth-child(3) {
  width: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  footer .footer_sns li:nth-child(3) {
    width: 36px;
  }
}
footer .footer_logo {
  width: 49.8666666667vw;
  margin: 0 auto 10.6666666667vw;
}
@media screen and (min-width: 769px) {
  footer .footer_logo {
    width: 210px;
    margin: 0 auto 50px;
  }
}
footer .copyright {
  color: #232323;
  font-size: 2.1333333333vw;
  letter-spacing: 0.08em;
  text-align: center;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  footer .copyright {
    font-size: 10px;
    margin: 0 auto;
  }
}

/* 共通
===================================================== */
.slide_fv .swiper-wrapper,
.slide1 .swiper-wrapper {
  overflow: hidden;
}

.fade {
  overflow: hidden;
}

.skewAnim {
  transform-origin: center;
  will-change: transform;
}

/* totop
===================================================== */
.totop {
  width: 20.2666666667vw;
  position: fixed;
  bottom: -5.6vw;
  right: -4vw;
  z-index: 100;
  opacity: 1;
  transition: all 0.6s;
}
@media screen and (min-width: 769px) {
  .totop {
    width: min(8.3333333333vw, 90px);
    bottom: max(-1.9444444444vw, -21px);
    right: max(-1.3888888889vw, -15px);
  }
}
.totop img {
  display: block;
  animation: spin 15s linear infinite;
  transform-origin: center center;
  mix-blend-mode: multiply;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* 下矢印
===================================================== */
/* animation
===================================================== */
.up_text {
  display: inline-block;
  overflow: hidden;
}
.up_text span {
  display: inline-block;
  will-change: transform, opacity;
}

/* loading
===================================================== */
.load2 {
  opacity: 0;
}

.loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1000;
  width: 100%;
  height: 100vh;
  background-color: #D9D1BC;
}

.loading-container {
  text-align: center;
  color: white;
}

.logo-svg {
  width: 69.3333333333vw;
  position: absolute;
  top: 45%;
  left: 51%;
  transform: translate(-50%, -50%);
}
@media screen and (min-width: 769px) {
  .logo-svg {
    width: min(46.2962962963vw, 500px);
  }
}

/* 各文字のパスアニメーション */
.draw-path {
  fill: white;
  stroke: white;
  stroke-width: 0.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: 0;
  animation: drawAndFill 7.6s ease-in-out infinite;
}

/* 個別の文字に異なる遅延を設定 */
.draw-path:nth-child(1) {
  animation-delay: 0s;
}

/* U */
.draw-path:nth-child(2) {
  animation-delay: 0.2s;
}

/* n */
.draw-path:nth-child(3) {
  animation-delay: 0.3s;
}

/* s */
.draw-path:nth-child(4) {
  animation-delay: 0.6s;
}

/* c */
.draw-path:nth-child(5) {
  animation-delay: 0.8s;
}

/* e */
.draw-path:nth-child(6) {
  animation-delay: 0.8s;
}

/* n */
.draw-path:nth-child(7) {
  animation-delay: 1s;
}

/* t */
/* アニメーション：描画 → フェードイン → 維持 → フェードアウト */
@keyframes drawAndFill {
  0% {
    opacity: 0;
    fill: transparent;
    stroke-dasharray: 1000;
    stroke-dashoffset: 1000;
  }
  15% {
    opacity: 1;
    fill: transparent;
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
  }
  25% {
    opacity: 1;
    fill: white;
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
  }
  85% {
    opacity: 1;
    fill: white;
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
  }
  100% {
    opacity: 0;
    fill: white;
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
  }
}
@keyframes down {
  0% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(100%);
  }
}/*# sourceMappingURL=style.css.map */