/*---------- reset ----------*/
.main-inner {
  width: 100% !important;
}

/*---------- reset ----------*/
/*---------- all common ----------*/
html {
  font-size: 62.5%;
  box-sizing: border-box;
}

.LB0110 img,
.LB0110 svg {
  width: 100%;
  height: auto;
}
.LB0110 a, .LB0110 picture {
  display: block;
}
.LB0110 .pc-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .LB0110 .pc-only {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  .LB0110 .sp-only {
    display: none;
  }
}

/*---------- all common ----------*/
/*---------- animation ----------*/
.js-fade-Vr-first,
.js-fade-Vr {
  opacity: 0;
  transform: translateY(50px);
  transition-duration: 1s;
}

.js-fade-Vr-first.active,
.js-fade-Vr.active {
  opacity: 1;
  transform: translateY(0);
}

.arrow-js {
  overflow: hidden;
  transform: scale(0, 1);
  transition-duration: 0.8s;
}

.arrow-js.active {
  transform: scale(1, 1);
}

.firstviewArea__ttl--arrow-l {
  transform-origin: left;
}

.firstviewArea__ttl--arrow-r {
  transform-origin: right;
}

.LB0110 .slide-dots {
  display: flex;
  justify-content: center;
  gap: calc(10 *(100vw / 750));
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  margin-top: calc(13 *(100vw / 750));
}
.LB0110 .slide-dots li {
  margin: 0;
}
.LB0110 .slide-dots li button {
  padding: 0;
  width: 10px;
  height: 9px;
  background-image: url(../img/heart-white.svg);
  background-size: 100%;
  background-repeat: no-repeat;
  text-indent: -9999px;
}
.LB0110 .slide-dots li.slick-active button {
  background-image: url(../img/heart-red.svg);
}
@media screen and (min-width: 768px) {
  .LB0110 .slide-dots {
    gap: 1rem;
    margin-top: 2.2rem;
  }
  .LB0110 .slide-dots li button {
    width: 2rem;
    height: 1.8rem;
  }
}

/*---------- animation ----------*/
/*---------- font ----------*/
.firstviewArea__ttl--main {
  font-family: campaign-serif, sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #C92639;
  font-size: calc(60 *(100vw / 750));
  line-height: 1.4;
}
.firstviewArea__ttl--sub {
  font-family: aptly, sans-serif;
  font-weight: 300;
  font-style: italic;
  color: #C92639;
  font-size: calc(40 *(100vw / 750));
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .firstviewArea__ttl--main {
    font-size: 6rem;
  }
  .firstviewArea__ttl--sub {
    font-size: 4rem;
  }
}

.firstviewArea__lead,
.sec-lead {
  font-family: iroha-23kaede-stdn, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #5D341B;
  font-size: calc(26 *(100vw / 750));
  letter-spacing: -0.1rem;
  line-height: 1.6923076923;
  font-feature-settings: "palt";
}
@media screen and (min-width: 768px) {
  .firstviewArea__lead,
.sec-lead {
    font-size: 2rem;
    line-height: 1.8;
  }
}

/*---------- font ----------*/
/*
//////////////////////////////////////////////////////////////////////////////////////////////
                                          for mobile
//////////////////////////////////////////////////////////////////////////////////////////////
*/
/*---------- image-size ----------*/
.firstviewArea__img {
  width: 100%;
}

.sec-image101 {
  width: 100%;
}

.image-box102 {
  width: calc(666 *(100vw / 750));
}

.sec-image102 {
  width: calc(500 *(100vw / 750));
}

.image-box201 {
  width: calc(602 *(100vw / 750));
}

.sec-image202 {
  width: calc(425 *(100vw / 750));
}

.image-box301 {
  width: calc(600 *(100vw / 750));
}

.sec-image302 {
  width: calc(500 *(100vw / 750));
}

.sec-image303 {
  width: calc(408 *(100vw / 750));
}

.image-box401 {
  width: calc(490 *(100vw / 750));
}

.sec-image401 {
  width: calc(460 *(100vw / 750));
}

.sec-image402 {
  width: calc(600 *(100vw / 750));
}

.sec-image403 {
  width: calc(468 *(100vw / 750));
}

.sec-image501 {
  width: calc(515 *(100vw / 750));
}

.image-box502 {
  width: calc(704 *(100vw / 750));
}

.sec-image502 {
  width: calc(606 *(100vw / 750));
}

.image-box601 {
  width: 100%;
}

.image-box701 {
  width: calc(636 *(100vw / 750));
}

.sec-image702 {
  width: calc(675 *(100vw / 750));
}

.js-fade-img801 {
  width: calc(660 *(100vw / 750));
}

/*---------- image-size ----------*/
/*---------- common ----------*/
.sec01 .sec-ttl,
.sec02 .sec-ttl,
.sec03 .sec-ttl,
.sec06 .sec-ttl,
.sec07 .sec-ttl {
  position: absolute;
}

.secWrap {
  background-repeat: no-repeat;
  background-size: cover;
}

.image-box,
.sec-image {
  position: relative;
  z-index: 5;
}

.firstviewArea__lead,
.sec-lead {
  text-align: center;
}

.sectionArea__btn {
  margin: 0 auto;
  width: calc(400 *(100vw / 750));
}

.sec-ttl {
  position: relative;
  z-index: 10;
}

.flex-wrap {
  position: relative;
}

.image-box102,
.image-box502 {
  margin: 0 auto;
}
.image-box102::before, .image-box102::after,
.image-box502::before,
.image-box502::after {
  display: block;
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  content: "";
  z-index: -1;
}
.image-box102::before,
.image-box502::before {
  left: 0;
}
.image-box102::after,
.image-box502::after {
  right: 0;
}

/*---------- common ----------*/
.firstviewArea__imgArea {
  position: relative;
}
.firstviewArea__ttl {
  text-align: center;
  position: absolute;
  top: calc(74 *(100vw / 750));
  left: 0;
  right: 0;
  margin: auto;
}
.firstviewArea__ttl span {
  display: inline-block;
}
.firstviewArea__ttl--main {
  position: relative;
  margin-bottom: calc(8 *(100vw / 750));
}
.firstviewArea__ttl--main-heart {
  position: absolute;
  top: calc(52 *(100vw / 750));
  right: calc(-55 *(100vw / 750));
  width: calc(88 *(100vw / 750));
}
.firstviewArea__ttl--sub {
  position: relative;
}
.firstviewArea__ttl--arrow-l, .firstviewArea__ttl--arrow-r {
  position: absolute;
  top: calc(10 *(100vw / 750));
}
.firstviewArea__ttl--arrow-l {
  left: calc(-190 *(100vw / 750));
}
.firstviewArea__ttl--arrow-l img {
  width: calc(172 *(100vw / 750));
}
.firstviewArea__ttl--arrow-r {
  right: calc(-190 *(100vw / 750));
}
.firstviewArea__ttl--arrow-r img {
  width: calc(173 *(100vw / 750));
}
.firstviewArea__txtArea {
  position: relative;
  z-index: 5;
  margin-top: calc(-392 *(100vw / 750));
}
.firstviewArea__lead {
  margin-bottom: calc(40 *(100vw / 750));
}
.firstviewArea__logo {
  margin: 0 auto;
  width: calc(210 *(100vw / 750));
}
.firstviewArea__bg {
  margin-top: calc(100 *(100vw / 750));
  width: 100%;
}

.secWrap01 {
  padding-bottom: calc(160 *(100vw / 750));
  background-image: url(../img/bg-image01_sp.jpg);
}

.secWrap02 {
  padding-top: calc(116 *(100vw / 750));
  padding-bottom: calc(160 *(100vw / 750));
}

.secWrap03 {
  padding-top: calc(134 *(100vw / 750));
  padding-bottom: calc(120 *(100vw / 750));
  background-image: url(../img/bg-image02_sp.jpg);
}
.secWrap03 .sectionArea__btn {
  margin-bottom: calc(80 *(100vw / 750));
}

.sec01 {
  padding-bottom: calc(156 *(100vw / 750));
}
.sec01 .sec-image101 {
  margin-bottom: calc(60 *(100vw / 750));
}
.sec01 .image-box102 {
  padding: calc(76 *(100vw / 750)) calc(84 *(100vw / 750));
}
.sec01 .image-box102::before {
  background-color: #fff;
}
.sec01 .image-box102::after {
  background-color: #EA8075;
}
.sec01 .sec-ttl101 {
  top: calc(38 *(100vw / 750));
  right: calc(24 *(100vw / 750));
  width: calc(29.7 *(100vw / 750));
}
.sec01 .sec-ttl102 {
  left: calc(28 *(100vw / 750));
  bottom: calc(42 *(100vw / 750));
  width: calc(24.7 *(100vw / 750));
}

.sec02 {
  padding-bottom: calc(160 *(100vw / 750));
}
.sec02 .image-box201 {
  margin-bottom: calc(104 *(100vw / 750));
  box-sizing: border-box;
  border-right: calc(4 *(100vw / 750)) solid #fff;
}
.sec02 .sec-image202 {
  margin-left: auto;
}
.sec02 .sec-image202::after {
  display: block;
  position: absolute;
  top: calc(-50 *(100vw / 750));
  left: calc(-478 *(100vw / 750));
  width: calc(582 *(100vw / 750));
  height: calc(617 *(100vw / 750));
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url(../img/bg-image-sec02.png);
  z-index: -1;
}
.sec02 .sec-ttl201 {
  top: calc(4 *(100vw / 750));
  right: calc(-46 *(100vw / 750));
  width: calc(30 *(100vw / 750));
}

.sec03 {
  padding-bottom: calc(160 *(100vw / 750));
}
.sec03 .image-box301 {
  margin: 0 auto;
  margin-bottom: calc(100 *(100vw / 750));
}
.sec03 .sec-image302 {
  margin-left: calc(23 *(100vw / 750));
}
.sec03 .sec-image303 {
  margin-top: calc(-213 *(100vw / 750));
  margin-left: auto;
  margin-right: calc(25 *(100vw / 750));
}
.sec03 .sec-ttl301 {
  top: calc(-21 *(100vw / 750));
  left: calc(58 *(100vw / 750));
  width: calc(127 *(100vw / 750));
  transform: rotate(8deg);
}

.sec04 {
  padding-bottom: calc(118 *(100vw / 750));
}
.sec04 .image-box401 {
  margin: 0 auto;
  margin-bottom: calc(100 *(100vw / 750));
  padding: calc(17 *(100vw / 750)) 0;
  box-sizing: border-box;
}
.sec04 .image-box401::after {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 100%;
  height: 100%;
  content: "";
  background-repeat: no-repeat;
  background-size: cover;
  background-image: url(../img/sec-image401-frame.png);
  z-index: 10;
  pointer-events: none;
}
.sec04 .sec-image401 {
  margin: 0 auto;
}
.sec04 .sec-image402 {
  margin-bottom: calc(108 *(100vw / 750));
}
.sec04 .sec-image403 {
  margin: 0 auto;
}
.sec04 .sec04-bg {
  position: absolute;
  bottom: calc(5 *(100vw / 750));
}

.sec05 {
  padding-bottom: calc(120 *(100vw / 750));
}
.sec05 .sec-image501 {
  margin: 0 auto;
  margin-bottom: calc(80 *(100vw / 750));
}
.sec05 .image-box502 {
  margin: 0 auto;
  padding: calc(47 *(100vw / 750)) calc(50 *(100vw / 750));
}
.sec05 .image-box502::before {
  background-color: #B26D73;
}
.sec05 .image-box502::after {
  background-color: #9E483F;
}
.sec05 .sec-ttl501 {
  margin-left: calc(58 *(100vw / 750));
  margin-bottom: calc(40 *(100vw / 750));
  width: calc(662 *(100vw / 750));
}
.sec05 .sec-lead {
  margin-bottom: calc(70 *(100vw / 750));
}

.sec06 {
  padding-bottom: calc(120 *(100vw / 750));
}
.sec06 .sec-ttl601 {
  left: calc(19 *(100vw / 750));
  bottom: calc(19 *(100vw / 750));
  width: calc(37 *(100vw / 750));
}

.sec07 {
  padding-bottom: calc(120 *(100vw / 750));
}
.sec07 .image-box701 {
  margin-bottom: calc(10 *(100vw / 750));
}
.sec07 .sec-image702 {
  margin-left: auto;
}
.sec07 .sec-ttl701 {
  top: calc(-18 *(100vw / 750));
  right: calc(-32 *(100vw / 750));
  width: calc(148 *(100vw / 750));
}

.sec08 {
  padding-bottom: calc(70 *(100vw / 750));
}
.sec08 .js-fade-img801 {
  position: relative;
  margin: 0 auto;
  z-index: 5;
}
.sec08 .js-fade-img801::after {
  display: block;
  position: absolute;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
  width: 107%;
  height: 108%;
  content: "";
  border: calc(3 *(100vw / 750)) solid #fff;
  z-index: -1;
}
.sec08 .sec-ttl801 {
  margin: 0 auto;
  margin-bottom: calc(40 *(100vw / 750));
  width: calc(409 *(100vw / 750));
}
.sec08 .sec-lead {
  padding-bottom: calc(70 *(100vw / 750));
}

/*
//////////////////////////////////////////////////////////////////////////////////////////////
                                          for desktop
//////////////////////////////////////////////////////////////////////////////////////////////
*/
@media screen and (min-width: 768px) {
  /*---------- image-size ----------*/
  .firstviewArea__img {
    width: 114rem;
  }
  .sec-image101 {
    width: 57rem;
  }
  .image-box102 {
    width: 53.4rem;
  }
  .sec-image102 {
    width: 42.7rem;
  }
  .image-box201 {
    width: 52.8rem;
  }
  .sec-image202 {
    width: 36rem;
  }
  .image-box301 {
    width: 50rem;
  }
  .sec-image302 {
    width: 50rem;
  }
  .sec-image303 {
    width: 40.8rem;
  }
  .image-box401 {
    width: 49rem;
  }
  .sec-image401 {
    width: 46rem;
  }
  .sec-image402 {
    width: 45rem;
  }
  .sec-image403 {
    width: 46.8rem;
  }
  .sec-image501 {
    width: 47.3rem;
  }
  .image-box502 {
    width: 64.5rem;
  }
  .sec-image502 {
    width: 54.6rem;
  }
  .image-box601 {
    width: 55rem;
  }
  .image-box701 {
    width: 52rem;
  }
  .sec-image702 {
    width: 58.3rem;
  }
  .js-fade-img801 {
    width: 80rem;
  }
  /*---------- image-size ----------*/
  /*---------- common ----------*/
  .sec01__wrapper,
.sec02__wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: row-reverse;
  }
  .sec06__wrapper,
.sec07__wrapper {
    margin: 0 auto;
    width: 140rem;
  }
  .flex-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .sectionArea__btn {
    width: 40rem;
  }
  .image-box102,
.image-box502 {
    margin: 0;
    box-sizing: border-box;
  }
  /*---------- common ----------*/
  .LB0110 {
    padding-top: 1.4rem;
  }
  .firstviewArea__imgArea {
    margin: 0 auto;
    margin-bottom: 5.1rem;
    width: 114rem;
  }
  .firstviewArea__ttl {
    top: 6.5rem;
    left: 9.4rem;
    right: auto;
    margin: 0;
  }
  .firstviewArea__ttl--main {
    margin-bottom: 1rem;
  }
  .firstviewArea__ttl--main-heart {
    top: 5.8rem;
    right: -5.2rem;
    width: 8.8rem;
  }
  .firstviewArea__ttl--arrow-l, .firstviewArea__ttl--arrow-r {
    top: 1rem;
  }
  .firstviewArea__ttl--arrow-l {
    left: -19rem;
  }
  .firstviewArea__ttl--arrow-l img {
    width: 17.2rem;
  }
  .firstviewArea__ttl--arrow-r {
    right: -19rem;
  }
  .firstviewArea__ttl--arrow-r img {
    width: 17.3rem;
  }
  .firstviewArea__txtArea {
    margin-top: 0;
    margin-bottom: 6rem;
  }
  .firstviewArea__lead {
    margin-bottom: 3rem;
  }
  .firstviewArea__logo {
    width: 17.5rem;
  }
  .firstviewArea__bg {
    margin-top: 0;
  }
  .secWrap01 {
    padding-top: 5rem;
    padding-bottom: 20.3rem;
    background-image: url(../img/bg-image01_pc.jpg);
  }
  .secWrap02 {
    padding-top: 17.2rem;
    padding-bottom: 16rem;
  }
  .secWrap03 {
    position: relative;
    padding-top: 11.2rem;
    padding-bottom: 24.6rem;
    background-image: url(../img/bg-image02_pc.jpg);
  }
  .secWrap03__bgBottom {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
  }
  .secWrap03 .sectionArea__btn {
    margin-bottom: 5rem;
  }
  .sec01 {
    padding-bottom: 0;
  }
  .sec01__wrapper {
    gap: 3.3rem;
  }
  .sec01 .sec-image101 {
    margin-bottom: 0;
  }
  .sec01 .image-box102 {
    margin-top: 28rem;
    padding: 4.4rem 5.5rem;
  }
  .sec01 .image-box102::before {
    background-color: #EA8075;
  }
  .sec01 .image-box102::after {
    background-color: #fff;
  }
  .sec01 .sec-image102 {
    margin: 0 auto;
  }
  .sec01 .sec-ttl101 {
    top: 4.4rem;
    right: 1.1rem;
    width: 2.53rem;
  }
  .sec01 .sec-ttl102 {
    left: 2rem;
    bottom: 4.2rem;
    width: 2.1rem;
  }
  .sec02 {
    padding-top: 16rem;
    padding-bottom: 0;
  }
  .sec02__wrapper {
    gap: 7rem;
  }
  .sec02 .image-box201 {
    margin-bottom: 0;
    border-right: 0.4rem solid #fff;
  }
  .sec02 .sec-image202 {
    margin-top: 33.5rem;
    margin-left: 11rem;
  }
  .sec02 .sec-image202::after {
    top: -43.5rem;
    left: -18rem;
    width: 58.2rem;
    height: 61.7rem;
  }
  .sec02 .sec-ttl201 {
    top: 0.3rem;
    right: -4rem;
    width: 3rem;
  }
  .sec03 {
    padding-top: 16rem;
    padding-bottom: 16rem;
  }
  .sec03 .flex-wrap {
    gap: 7rem;
  }
  .sec03 .image-box301 {
    margin-bottom: 12.3rem;
  }
  .sec03 .sec-image302 {
    margin-left: -3rem;
  }
  .sec03 .sec-image303 {
    margin-top: 0;
    margin-left: 0;
    margin-right: 0;
    border: 0.3rem solid #fff;
    border-radius: 50%;
    box-sizing: border-box;
  }
  .sec03 .sec-ttl301 {
    top: -1rem;
    left: 2rem;
    width: 12.6rem;
    transform: rotate(0deg);
  }
  .sec04 {
    padding-bottom: 16rem;
  }
  .sec04 .flex-wrap {
    gap: 9.6rem;
  }
  .sec04 .image-box401 {
    margin-bottom: 12rem;
    padding: 1.7rem 0;
  }
  .sec04 .sec-image402 {
    margin-left: 5rem;
    margin-bottom: 0;
  }
  .sec04 .sec-image403 {
    margin: 0;
  }
  .sec04 .sec04-bg {
    bottom: 1rem;
  }
  .sec05 {
    padding-bottom: 10rem;
  }
  .sec05 .sec-image501 {
    position: relative;
    margin-bottom: 0;
    z-index: 10;
  }
  .sec05 .image-box502 {
    margin-top: -2.4rem;
    padding: 4.7rem 5rem;
  }
  .sec05 .sec-ttl501 {
    margin: 0 auto;
    margin-bottom: 4rem;
    width: 69rem;
    transform: translateX(1.7rem);
  }
  .sec05 .sec-lead {
    margin-bottom: 7rem;
  }
  .sec06 {
    padding-bottom: 0;
  }
  .sec06 .image-box601 {
    margin-left: auto;
    margin-right: 12.9rem;
  }
  .sec06 .sec-ttl601 {
    left: 1.2rem;
    bottom: 1.4rem;
    width: 3.34rem;
  }
  .sec07 {
    margin-top: -12.8rem;
    padding-bottom: 12rem;
  }
  .sec07 .image-box701 {
    margin-left: 13rem;
    margin-bottom: 2rem;
  }
  .sec07 .sec-image702 {
    margin-left: 18.9rem;
  }
  .sec07 .sec-ttl701 {
    top: -2rem;
    right: -1.5rem;
    width: 16rem;
  }
  .sec08 {
    padding-bottom: 11rem;
  }
  .sec08 .js-fade-img801::after {
    width: 106%;
    height: 110%;
    border: 0.3rem solid #fff;
  }
  .sec08 .sec-ttl801 {
    margin: 0 auto;
    margin-bottom: 4rem;
    width: 40.9rem;
  }
  .sec08 .sec-lead {
    padding-bottom: 8.5rem;
  }
  .sec08 .sec-lead span {
    display: inline-block;
    margin-bottom: 2rem;
  }
}
/*
//////////////////////////////////////////////////////////////////////////////////////////////
                                          for tablet
//////////////////////////////////////////////////////////////////////////////////////////////
*/
@media (max-width: 1400px) and (min-width: 768px) {
  html {
    font-size: 0.7142857143vw;
  }
}/*# sourceMappingURL=style.css.map */