@charset "UTF-8";
html {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 62.5%;
}

body {
  width: 100%;
}

#main-container img,
#main-container video {
  width: 100%;
}

.fade {
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
  opacity: 0;
}

.fade.onView {
  opacity: 1;
}

.fadein {
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
  opacity: 0;
  -webkit-transform: translateY(5rem);
          transform: translateY(5rem);
}

.fadein.onView {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

.lp-sec__caption-wrap, .lp-sec__staff {
  font-family: 'Crimson Text', serif;
  font-weight: 400;
  font-style: normal;
}

@media screen and (max-device-width: 767px) {
  #breadcrumb .cateList {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }
}

/* ===============================
              button
=============================== */
.lp-sec__btn {
  max-width: 60rem;
  width: 100%;
  margin: 9rem auto 0;
}

@media screen and (max-device-width: 767px) {
  .lp-sec__btn {
    max-width: calc(618* (100vw / 750));
    margin: 7rem auto 0;
  }
}

.lp-sec__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 60rem;
  width: 100%;
  height: 6.4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  font-size: 1.1rem;
  font-family: "Crimson Text", serif;
  font-weight: 400;
  line-height: 1.5454545;
  border: 1px solid #000;
}

@media screen and (max-device-width: 767px) {
  .lp-sec__btn a {
    max-width: calc(618* (100vw / 750));
    height: calc(126* (100vw / 750));
    font-size: calc(22* (100vw / 750));
  }
}

/* ===================
	　　 for all
=================== */
.main-container {
  width: 100%;
  margin: 4rem auto 0;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-size: 1.4rem;
  line-height: 2;
  letter-spacing: 0.01em;
  overflow: hidden;
  background-size: 100%;
}

.lp-mv__ttl {
  width: 100rem;
  margin: 0 auto;
}

.lp-mv__lead {
  margin: 5.5rem auto 0;
  text-align: center;
}

.lp-mv__sub {
  width: 100%;
  background-color: #f8f6f2;
}

.lp-mv__sub--lead {
  font-family: 'Noto Serif JP',serif;
  font-size: 1.7rem;
  font-weight: bold;
  padding: 2.7rem;
  margin: 10rem auto 13.5rem;
  width: 48rem;
  position: relative;
}

.lp-mv__sub--lead::before {
  content: "";
  position: absolute;
  background-image: url(../img/arrow_left.png);
  background-size: 100%;
  width: 8.2rem;
  height: 5rem;
  top: -1.5rem;
  left: -6.5rem;
}

.lp-mv__sub--lead::after {
  content: "";
  position: absolute;
  background-image: url(../img/arrow_right.png);
  background-size: 100%;
  width: 11.2rem;
  height: 7rem;
  top: 15.5rem;
  right: -6.5rem;
}

.lp-sec {
  margin: 0 auto;
}

.lp-sec--01 {
  margin-top: 23.8rem;
}

.lp-sec--02 {
  margin-top: 27rem;
}

.lp-sec__blk-look {
  width: 120rem;
  margin: 0 auto;
  position: relative;
}

.lp-sec__blk-look--01::before {
  content: "";
  position: absolute;
  background-image: url(../img/line_01_pc.png);
  background-size: 100%;
  width: 37rem;
  height: 9.7rem;
  top: -7.5rem;
  left: 58.5rem;
}

.lp-sec__blk-look--01::after {
  content: "";
  position: absolute;
  background-image: url(../img/line_02_pc.png);
  background-size: 100%;
  width: 25.6rem;
  height: 12.7rem;
  top: 16.5rem;
  left: 27.5rem;
}

.lp-sec__blk-look--02::before {
  content: "";
  position: absolute;
  background-image: url(../img/line_03_pc.png);
  background-size: 100%;
  width: 37rem;
  height: 9.7rem;
  top: -7.5rem;
  left: 24.5rem;
}

.lp-sec__blk-look--02::after {
  content: "";
  position: absolute;
  background-image: url(../img/line_04_pc.png);
  background-size: 100%;
  width: 25.6rem;
  height: 12.7rem;
  top: 16.5rem;
  left: 69.5rem;
}

.lp-sec__blk-look .num--01 {
  position: absolute;
  width: 6rem;
  height: 11.1rem;
  top: -10.3rem;
  left: 25.5rem;
}

.lp-sec__blk-look .num--02 {
  position: absolute;
  width: 7.3rem;
  height: 11.1rem;
  top: -10.3rem;
  left: 87.5rem;
}

@media screen and (min-device-width: 561px) {
  .lp-sec__blk-look .look--01 {
    width: 25rem;
    margin-left: -3.5rem;
    margin-top: 7rem;
  }
  .lp-sec__blk-look .look--03 {
    width: 23rem;
    margin-right: -2rem;
    margin-top: 7rem;
  }
}

@media screen and (min-device-width: 561px) {
  .lp-sec__blk-look .fdrr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    width: 60rem;
    margin-left: 35.5rem;
  }
}

@media screen and (min-device-width: 561px) {
  .lp-sec__blk-look .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 58.3rem;
    margin-left: 26rem;
    text-align: right;
  }
}

.lp-sec__blk-other--01 {
  margin-top: 9rem;
}

.lp-sec__blk-other--02 {
  margin-top: 7.5rem;
}

.lp-sec__blk-other .ttl {
  font-family: 'Noto Serif JP',serif;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
  border-bottom: solid 1px #000;
  width: 13.5rem;
  margin: 0 auto;
  padding-bottom: 0;
}

.lp-sec__blk-other .look {
  margin: 2rem auto;
}

.lp-sec__blk-other .look--02 {
  width: 21.2rem;
  padding-right: 2rem;
}

.lp-sec__blk-other .look--04 {
  width: 16.3rem;
}

.lp-sec__blk {
  margin-top: 13rem;
}

@media screen and (min-device-width: 561px) {
  .lp-sec__blk--01 .lp-sec__list-wrap {
    width: 76.3rem;
    margin-left: 8.2rem;
  }
  .lp-sec__blk--02 .lp-sec__list-wrap {
    width: 57rem;
    margin-left: 9.5rem;
  }
  .lp-sec__blk--03 {
    margin-top: 12rem;
  }
  .lp-sec__blk--03 .lp-sec__list-wrap {
    width: 76.2rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .lp-sec__blk--04 {
    margin-top: 11.5rem;
  }
  .lp-sec__blk--04 .lp-sec__list-wrap {
    width: 45rem;
  }
}

@media screen and (min-device-width: 561px) {
  .lp-sec__blk-wrap {
    width: 100rem;
    margin: 0 auto;
  }
}

.lp-sec__list-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.lp-sec__img--0101 {
  width: 40rem;
  position: relative;
}

.lp-sec__img--0101::before {
  content: "";
  position: absolute;
  background-image: url(../img/ttl_01.png);
  background-size: 100%;
  width: 21.9rem;
  height: 5.4rem;
  top: -2.7rem;
  right: 20.5rem;
  z-index: 99;
}

.lp-sec__img--0102 {
  width: 42rem;
  margin-left: 44rem;
  margin-top: -33rem;
}

.lp-sec__img--0201 {
  width: 57rem;
  position: relative;
}

.lp-sec__img--0201::before {
  content: "";
  position: absolute;
  background-image: url(../img/ttl_02.png);
  background-size: 100%;
  width: 19.7rem;
  height: 6.1rem;
  top: -2.5rem;
  right: 2.5rem;
  z-index: 99;
}

.lp-sec__img--0202 {
  width: 30rem;
  margin-left: 51rem;
  margin-top: -24.5rem;
  mix-blend-mode: multiply;
  position: relative;
  z-index: 99;
}

.lp-sec__img--0301 {
  width: 40rem;
  margin-right: -12.5rem;
  position: relative;
}

.lp-sec__img--0301::before {
  content: "";
  position: absolute;
  background-image: url(../img/ttl_03.png);
  background-size: 100%;
  width: 19.3rem;
  height: 5.9rem;
  top: -2.5rem;
  right: -2.5rem;
  z-index: 99;
}

.lp-sec__img--0302 {
  width: 33.6rem;
  margin-top: -24.5rem;
  margin-right: 31.5rem;
}

.lp-sec__img--0401 {
  width: 45rem;
  margin-left: 43rem;
  position: relative;
}

.lp-sec__img--0401::before {
  content: "";
  position: absolute;
  background-image: url(../img/ttl_04.png);
  background-size: 100%;
  width: 21.9rem;
  height: 5.4rem;
  top: -1.8rem;
  right: 28.2rem;
  z-index: 99;
}

.lp-sec__img--0402 {
  width: 33.6rem;
  margin-top: -36rem;
  margin-left: 12rem;
  mix-blend-mode: multiply;
  position: relative;
  z-index: 99;
}

.lp-sec__txt--01 {
  width: 24.7rem;
  margin-top: 11.7rem;
}

.lp-sec__txt--02 {
  width: 24.8rem;
  margin-left: 11rem;
  margin-top: 12rem;
}

.lp-sec__txt--03 {
  width: 27.4rem;
  margin-left: 12.5rem;
  margin-top: 12rem;
}

.lp-sec__txt--04 {
  width: 25.3rem;
  margin-left: 57rem;
  margin-top: 12rem;
}

.lp-sec__caption-wrap {
  font-size: 1.3rem;
  letter-spacing: 0.015em;
  line-height: 2.3;
}

@media screen and (min-device-width: 561px) {
  .lp-sec__caption-wrap--01 {
    margin-top: 2rem;
  }
  .lp-sec__caption-wrap--02 {
    margin-top: -8rem;
  }
  .lp-sec__caption-wrap--03 {
    margin-top: -7rem;
    margin-right: -8.5em;
  }
  .lp-sec__caption-wrap--04 {
    margin-top: 2.2rem;
    margin-left: 12rem;
  }
}

.lp-sec__caption {
  display: inline-block;
  margin-right: 1.25rem;
  padding-bottom: 0.1rem;
  border-bottom: 1px solid #cbcbcb;
  line-height: 1;
}

.lp-sec__staff {
  font-size: 1.3rem;
  letter-spacing: 0.015em;
  line-height: 2.3;
  text-align: center;
  margin-top: 12rem;
}

/* ===================
	　　 for PC
=================== */
@media screen and (min-device-width: 561px) {
  .sp_only {
    display: none;
  }
  #breadcrumb {
    width: 120rem;
    margin: 0 auto;
  }
}

/* ===================
	　　 for SP
=================== */
@media screen and (max-device-width: 767px) {
  .pc_only {
    display: none;
  }
  .main-area .main-inner {
    width: 100%;
  }
  .main-container {
    max-width: calc(750* (100vw / 750));
    margin: 0 auto;
    font-size: calc(28* (100vw / 750));
  }
  .lp-mv__ttl {
    width: calc(750* (100vw / 750));
    margin: 0 auto;
  }
  .lp-mv__lead {
    margin: calc(84* (100vw / 750)) auto 0;
    text-align: center;
  }
  .lp-mv__sub--lead {
    font-family: 'Noto Serif JP',serif;
    font-size: calc(32* (100vw / 750));
    font-weight: bold;
    padding: calc(35* (100vw / 750)) 0;
    margin: calc(175* (100vw / 750)) auto calc(200* (100vw / 750));
    width: calc(552* (100vw / 750));
    position: relative;
  }
  .lp-mv__sub--lead::before {
    content: "";
    position: absolute;
    background-image: url(../img/arrow_left.png);
    background-size: 100%;
    width: 6.2rem;
    height: 3.8rem;
    top: -2.4rem;
    left: -3.5rem;
  }
  .lp-mv__sub--lead::after {
    content: "";
    position: absolute;
    background-image: url(../img/arrow_right.png);
    background-size: 100%;
    width: 8.2rem;
    height: 5rem;
    top: 24.5rem;
    right: -3.5rem;
  }
  .lp-sec {
    margin: 0 auto;
  }
  .lp-sec--01 {
    margin-top: calc(430* (100vw / 750));
  }
  .lp-sec--02 {
    margin-top: calc(410* (100vw / 750));
  }
  .lp-sec__blk-look {
    width: calc(750* (100vw / 750));
    margin: 0 auto;
    position: relative;
  }
  .lp-sec__blk-look--01::before {
    background-image: url(../img/line_01_sp.png);
    width: calc(437* (100vw / 750));
    height: calc(123* (100vw / 750));
    top: calc(-98* (100vw / 750));
    left: calc(275* (100vw / 750));
  }
  .lp-sec__blk-look--01::after {
    background-image: url(../img/line_02_sp.png);
    width: calc(577* (100vw / 750));
    height: calc(188* (100vw / 750));
    top: calc(895* (100vw / 750));
    left: calc(40* (100vw / 750));
  }
  .lp-sec__blk-look--02::before {
    background-image: url(../img/line_03_sp.png);
    width: calc(434* (100vw / 750));
    height: calc(125* (100vw / 750));
    top: calc(-98* (100vw / 750));
    left: calc(33* (100vw / 750));
  }
  .lp-sec__blk-look--02::after {
    background-image: url(../img/line_04_sp.png);
    width: calc(581* (100vw / 750));
    height: calc(185* (100vw / 750));
    top: calc(975* (100vw / 750));
    left: calc(130* (100vw / 750));
  }
  .lp-sec__blk-look .num--01 {
    position: absolute;
    width: calc(89* (100vw / 750));
    height: calc(165* (100vw / 750));
    top: -8rem;
    left: 3.5rem;
  }
  .lp-sec__blk-look .num--02 {
    position: absolute;
    width: calc(109* (100vw / 750));
    height: calc(165* (100vw / 750));
    top: calc(-158* (100vw / 750));
    left: calc(580* (100vw / 750));
  }
  .lp-sec__blk-look .look--01 {
    width: calc(425* (100vw / 750));
    margin-left: calc(233* (100vw / 750));
  }
  .lp-sec__blk-look .look--03 {
    width: calc(394* (100vw / 750));
    margin-left: calc(100* (100vw / 750));
  }
  .lp-sec__blk-look .fdrr p {
    padding: calc(60* (100vw / 750));
    margin-left: calc(20* (100vw / 750));
  }
  .lp-sec__blk-look .flex p {
    text-align: right;
    margin-top: calc(50* (100vw / 750));
    margin-right: calc(60* (100vw / 750));
  }
  .lp-sec__blk-other--01 {
    margin-top: 5.5rem;
  }
  .lp-sec__blk-other--02 {
    margin-top: 5.5rem;
  }
  .lp-sec__blk-other .ttl {
    font-family: 'Noto Serif JP',serif;
    font-size: calc(36* (100vw / 750));
    font-weight: 600;
    line-height: 1.4;
    text-align: center;
    border-bottom: solid 1px #000;
    width: calc(240* (100vw / 750));
    margin: 0 auto;
  }
  .lp-sec__blk-other .look {
    margin: calc(60* (100vw / 750)) auto;
  }
  .lp-sec__blk-other .look--02 {
    width: calc(360* (100vw / 750));
    padding-right: 0;
  }
  .lp-sec__blk-other .look--04 {
    width: calc(278* (100vw / 750));
  }
  .lp-sec__blk--01 {
    margin-top: 15.5rem;
  }
  .lp-sec__blk--02 {
    margin-top: 9.5rem;
  }
  .lp-sec__blk--03 {
    margin-top: 18.2rem;
  }
  .lp-sec__blk--04 {
    margin-top: 12rem;
  }
  .lp-sec__blk-wrap {
    width: calc(750* (100vw / 750));
    margin: 0 auto;
  }
  .lp-sec__list-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .lp-sec__img--0101 {
    width: calc(600* (100vw / 750));
    margin-left: calc(74* (100vw / 750));
    position: relative;
  }
  .lp-sec__img--0101::before {
    content: "";
    position: absolute;
    background-image: url(../img/ttl_01.png);
    background-size: 100%;
    width: calc(328* (100vw / 750));
    height: calc(81* (100vw / 750));
    top: calc(-55* (100vw / 750));
    right: calc(310* (100vw / 750));
  }
  .lp-sec__img--0102 {
    width: calc(750* (100vw / 750));
    margin-left: 0;
    margin-top: calc(65* (100vw / 750));
  }
  .lp-sec__img--0201 {
    width: calc(750* (100vw / 750));
    position: relative;
  }
  .lp-sec__img--0201::before {
    content: "";
    position: absolute;
    background-image: url(../img/ttl_02.png);
    background-size: 100%;
    width: calc(294* (100vw / 750));
    height: calc(92* (100vw / 750));
    top: calc(-60* (100vw / 750));
    right: calc(30* (100vw / 750));
  }
  .lp-sec__img--0202 {
    width: calc(540* (100vw / 750));
    margin-left: calc(60* (100vw / 750));
    margin-top: calc(63* (100vw / 750));
    mix-blend-mode: multiply;
  }
  .lp-sec__img--0301 {
    width: calc(600* (100vw / 750));
    margin-right: 0;
    margin-left: calc(75* (100vw / 750));
    position: relative;
  }
  .lp-sec__img--0301::before {
    content: "";
    position: absolute;
    background-image: url(../img/ttl_03.png);
    background-size: 100%;
    width: calc(289* (100vw / 750));
    height: calc(89* (100vw / 750));
    top: calc(-50* (100vw / 750));
    right: calc(-25* (100vw / 750));
  }
  .lp-sec__img--0302 {
    width: calc(500* (100vw / 750));
    margin-top: calc(60* (100vw / 750));
    margin-right: 0;
  }
  .lp-sec__img--0401 {
    width: calc(600* (100vw / 750));
    margin-left: calc(75* (100vw / 750));
    position: relative;
  }
  .lp-sec__img--0401::before {
    content: "";
    position: absolute;
    background-image: url(../img/ttl_04.png);
    background-size: 100%;
    width: calc(328* (100vw / 750));
    height: calc(81* (100vw / 750));
    top: calc(-60* (100vw / 750));
    right: calc(310* (100vw / 750));
  }
  .lp-sec__img--0402 {
    width: calc(540* (100vw / 750));
    margin-top: calc(60* (100vw / 750));
    margin-left: calc(105* (100vw / 750));
    mix-blend-mode: multiply;
  }
  .lp-sec__txt--01 {
    width: calc(437* (100vw / 750));
    margin-top: calc(60* (100vw / 750));
    margin-left: calc(95* (100vw / 750));
  }
  .lp-sec__txt--02 {
    width: calc(516* (100vw / 750));
    margin-left: calc(165* (100vw / 750));
    margin-top: calc(60* (100vw / 750));
  }
  .lp-sec__txt--03 {
    width: calc(483* (100vw / 750));
    margin-left: calc(205* (100vw / 750));
    margin-top: calc(65* (100vw / 750));
  }
  .lp-sec__txt--04 {
    width: calc(477* (100vw / 750));
    margin-left: calc(135* (100vw / 750));
    margin-top: calc(62* (100vw / 750));
  }
  .lp-sec__caption-wrap {
    font-size: calc(23* (100vw / 750));
    letter-spacing: 0.015em;
    line-height: 2.3;
    text-align: center;
  }
  .lp-sec__caption-wrap--01 {
    margin-top: calc(45* (100vw / 750));
    margin-left: calc(35* (100vw / 750));
  }
  .lp-sec__caption-wrap--02 {
    margin-top: calc(50* (100vw / 750));
    margin-left: calc(85* (100vw / 750));
  }
  .lp-sec__caption-wrap--03 {
    margin-top: calc(33* (100vw / 750));
    margin-left: calc(155* (100vw / 750));
    line-height: 3.3;
  }
  .lp-sec__caption-wrap--04 {
    margin-top: calc(45* (100vw / 750));
    margin-left: calc(105* (100vw / 750));
  }
  .lp-sec__caption {
    display: inline-block;
    margin-right: 1.25rem;
    padding-bottom: 0.1rem;
    border-bottom: 1px solid #cbcbcb;
    line-height: 1;
  }
  .lp-sec__staff {
    font-size: calc(23* (100vw / 750));
    margin-top: calc(200* (100vw / 750));
  }
}
/*# sourceMappingURL=style.css.map */