@charset "UTF-8";
/*=======================================
 	             SMACSS  base
 ========================================*/
img {
  width: 100%;
}

/*=======================================
	         SMACSS  layout　　　　　　　       ( style.scss ) ( header.scss / main.scss / footer.scss ...) 
========================================*/
/*=======================================
          　　  　flex
========================================*/
/*=======================================
          　　   　js
========================================*/
.fade {
  -webkit-transition-duration: 2s;
          transition-duration: 2s;
  opacity: 0;
}

.fade.onView {
  opacity: 1;
}

.fadeorder-01, .fadeorder-02, .fadeorder-03, .fadeorder-04, .fadeorder-05, .fadeorder-06, .fadeorder-07, .fadeorder-08, .fadeorder-09, .fadeorder-10, .fadeorder-11 {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
  opacity: 0;
}

/*=======================================
          　　   Animation
========================================*/
.turn {
  opacity: 0;
}

.turn_color_right {
  overflow: hidden;
  position: relative;
  opacity: 1;
}
.turn_color_right::before {
  -webkit-animation: turn_left 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
          animation: turn_left 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
  background: #fff;
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
}

@-webkit-keyframes turn_left {
  100% {
    -webkit-transform: translate(100%);
            transform: translate(100%);
  }
}

@keyframes turn_left {
  100% {
    -webkit-transform: translate(100%);
            transform: translate(100%);
  }
}
.turn2 {
  opacity: 0;
}

.turn_color_down {
  overflow: hidden;
  position: relative;
  opacity: 1;
}
.turn_color_down::before {
  -webkit-animation: turn_down 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
          animation: turn_down 0.7s cubic-bezier(0.45, 0.19, 0.56, 0.91) forwards;
  background: #fff;
  bottom: 0;
  content: "";
  left: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1;
  opacity: 1;
}

@-webkit-keyframes turn_down {
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}

@keyframes turn_down {
  100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
/*=======================================
                  PC   
========================================*/
/* ===================
	　　 General
=================== */
#lp-210402 {
  width: 100%;
  margin: 0 auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  font-family: "Crimson Text", serif;
  font-size: 1.3rem;
  line-height: 1.7;
  letter-spacing: 0.015em;
  text-align: center;
}

/* ===================
	　　　 top
=================== */
.l-top {
  width: 120rem;
  margin: 4rem auto 0;
}
.l-top__mv {
  width: 120rem;
  margin: 0 auto;
}
.l-top__ttl_wrap {
  position: relative;
}
.l-top__ttl {
  width: 41.2rem;
  position: absolute;
  top: -43rem;
  right: 6rem;
  -webkit-transform: translateY(50%);
          transform: translateY(50%);
}

/* ===================z
	　　  common
=================== */
.sec-wrap {
  width: 120rem;
  margin: 0 auto;
}
.sec-wrap .sec__ttl_sub {
  position: absolute;
  font-family: magneta, serif;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.045em;
  color: #666666;
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

.sec__ttl_sub2 {
  position: absolute;
  font-family: magneta, serif;
  font-size: 1.5rem;
  line-height: 1.5;
  text-align: left;
  letter-spacing: 0.045em;
  color: #666666;
}

.sec {
  margin: 18rem auto 0;
}
.sec .blk01, .sec .blk02, .sec .blk03, .sec .blk04 {
  position: relative;
}
.sec .sec__credit {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  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;
  text-align: center;
  opacity: 0;
  -webkit-transition: opacity 800ms;
  transition: opacity 800ms;
}
.sec .sec__credit .modal_bg {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.4);
  position: absolute;
  top: 0;
  left: 0;
}
.sec .sec__credit .modal_bg a {
  display: block;
  width: 100%;
  height: 100%;
}
.sec .sec__credit .credit_list {
  position: relative;
  z-index: 1;
}
.sec .sec__credit .credit_list li {
  margin-bottom: 1rem;
}
.sec .sec__credit .credit_list li a {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: 0.015em;
  line-height: 2;
  border-bottom: 1px solid #fff;
}
.sec .sec__credit:hover {
  opacity: 1;
}
.sec .sec__ttl {
  position: absolute;
  font-family: magneta, serif;
  font-weight: 400;
  font-style: normal;
  font-size: 3rem;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #989898;
  border-bottom: solid 1px #989898;
}
.sec .sec__ttl span {
  font-size: 4.6rem;
  color: #666666;
  display: inline-block;
  margin-right: 2rem;
}

/* ===================
	　　 section
=================== */
.sec01 {
  width: 98rem;
  margin-top: 15rem;
  margin-left: 12.5rem;
}
.sec01 .blk01 {
  width: 46rem;
  margin-top: 20rem;
}
.sec01 .blk01 .bg {
  width: 40rem;
  position: absolute;
  top: -3rem;
  left: -3rem;
}
.sec01 .blk01 .sec__ttl {
  bottom: 9rem;
  right: -30rem;
}
.sec01 .blk02 {
  width: 46rem;
}

.sec02 {
  width: 77rem;
}
.sec02 .blk01 {
  width: 30rem;
  z-index: 99;
}
.sec02 .blk01::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 312px;
  height: 462px;
  background: #fff;
}
.sec02 .blk02 {
  width: 50rem;
  margin-left: -3rem;
  margin-top: 12rem;
}

.sec03 {
  width: 46rem;
}
.sec03 .blk01 {
  width: 46rem;
}

.sec04 {
  width: 94rem;
}
.sec04 .blk01 {
  width: 46rem;
}
.sec04 .blk02 {
  width: 42rem;
  margin-top: 24rem;
}

.bg_05 {
  position: relative;
}
.bg_05::before {
  position: absolute;
  content: "";
  top: 18.2rem;
  left: 0;
  background: #f8f6f2;
  width: 100%;
  height: 72rem;
}

.sec05 {
  width: 81rem;
  margin-top: 24rem;
}
.sec05 .blk01 {
  width: 40rem;
}
.sec05 .blk02 {
  width: 40rem;
}

.sec-wrap._05 {
  position: relative;
}
.sec-wrap._05 .sec__ttl_sub {
  bottom: 7.5rem;
  right: 6rem;
}

.sec06 {
  width: 46rem;
  margin-top: 24rem;
}
.sec06 .blk01 {
  width: 46rem;
}

.sec07 {
  width: 111rem;
}
.sec07 .blk01 {
  width: 38rem;
}
.sec07 .blk01 .sec__ttl {
  top: 13rem;
  right: -27rem;
}
.sec07 .blk02 {
  width: 40rem;
  margin-left: 6rem;
  margin-top: 20rem;
}
.sec07 .blk02::after {
  position: absolute;
  content: "";
  top: -20rem;
  left: 36rem;
  width: 310px;
  height: 460px;
  background: #fff;
}
.sec07 .blk03 {
  width: 30rem;
  margin-left: -3rem;
}

.sec08 {
  width: 97rem;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.sec08 .blk01 {
  width: 46rem;
}
.sec08 .blk02 {
  width: 42rem;
  margin-top: 25rem;
}

.sec09 {
  width: 77rem;
}
.sec09 .blk01 {
  width: 50rem;
}
.sec09 .blk01::after {
  position: absolute;
  content: "";
  top: 14rem;
  left: 46rem;
  width: 312px;
  height: 472px;
  background: #fff;
}
.sec09 .blk02 {
  width: 30rem;
  margin-left: -3rem;
  -ms-flex-item-align: center;
      align-self: center;
}

.sec10 {
  width: 40rem;
  margin-top: 25rem;
}
.sec10 .blk01 {
  width: 40rem;
  z-index: 99;
}
.sec10 .blk01::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 412px;
  height: 412px;
  background: #fff;
  z-index: -1;
}
.sec10 .blk01 .bg {
  position: absolute;
  width: 40rem;
  top: 4.5rem;
  left: 3.5rem;
  z-index: -2;
}

.bg_11 {
  position: relative;
}
.bg_11::before {
  position: absolute;
  content: "";
  top: 29.3rem;
  left: 0;
  background: #f8f6f2;
  width: 100%;
  height: 63rem;
}

.sec11 {
  width: 106rem;
  margin-top: 35rem;
}
.sec11 .blk01 {
  width: 34rem;
}
.sec11 .blk02 {
  width: 34rem;
}
.sec11 .blk03 {
  width: 34rem;
}

.sec12 {
  width: 98rem;
  margin-top: 24rem;
}
.sec12 .blk01 {
  width: 46rem;
}
.sec12 .blk02 {
  width: 46rem;
  margin-top: 23.5rem;
  position: relative;
}
.sec12 .blk02 .sec__ttl_sub2 {
  top: -5.5rem;
  right: 26.8rem;
}

.sec13 {
  width: 77rem;
}
.sec13 .blk01 {
  width: 30rem;
  z-index: 99;
}
.sec13 .blk01::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 312px;
  height: 462px;
  background: #fff;
}
.sec13 .blk02 {
  width: 50rem;
  margin-left: -3rem;
  margin-top: 12rem;
}

.sec14 {
  width: 82rem;
}
.sec14 .blk01 {
  width: 46rem;
}
.sec14 .blk02 {
  width: 30rem;
  -ms-flex-item-align: center;
      align-self: center;
}

.bg_15 {
  position: relative;
}
.bg_15::before {
  position: absolute;
  content: "";
  top: 31rem;
  left: 0;
  background: #f8f6f2;
  width: 100%;
  height: 24.2rem;
}

.sec15 {
  width: 54rem;
  margin-top: 25rem;
  position: relative;
}
.sec15 .sec__ttl_sub2 {
  top: 16.5rem;
  right: -10.2rem;
}
.sec15 .blk01 {
  width: 54rem;
}

.sec16 {
  width: 101rem;
  margin-top: 25rem;
}
.sec16 .blk01 {
  width: 46rem;
}
.sec16 .blk02 {
  width: 46rem;
  margin-top: 29.5rem;
}

.sec17 {
  width: 77rem;
}
.sec17 .blk01 {
  width: 50rem;
}
.sec17 .blk01::after {
  position: absolute;
  content: "";
  top: 14rem;
  left: 46rem;
  width: 312px;
  height: 472px;
  background: #fff;
}
.sec17 .blk02 {
  width: 30rem;
  margin-left: -3rem;
  -ms-flex-item-align: center;
      align-self: center;
}

.sec18 {
  width: 40rem;
}
.sec18 .blk01 {
  width: 40rem;
  z-index: 99;
}
.sec18 .blk01::before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 412px;
  height: 412px;
  background: #fff;
  z-index: -1;
}
.sec18 .blk01 .bg {
  position: absolute;
  width: 40rem;
  top: 4.5rem;
  left: 4rem;
  z-index: -2;
}

/* ===================
	　　  button
=================== */
.m-btn {
  width: 60rem;
  margin: 0 auto;
  padding: 19rem 0 0;
}
.m-btn a {
  width: 60rem;
  height: 6.4rem;
  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;
  border: 1px solid #000;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  font-family: "Crimson Text", serif;
  font-size: 1.1rem;
  line-height: 1.54;
  letter-spacing: 0.002em;
  text-align: center;
}

/*=======================================
               Responsive   
========================================*/
/* for PC */
@media screen and (min-width: 768px) {
  .sp_only {
    display: none !important;
  }

  .slick-slider .slick-track::before,
.slick-slider .slick-track::after,
.slick-slider .slick-list::before,
.slick-slider .slick-list::after {
    content: "" !important;
    display: none !important;
  }

  .codinate___img ul li {
    display: block !important;
  }

  html {
    font-size: 62.5%;
  }

  .flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .fdrr {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }

  .jcsb {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }

  .fw {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }

  #style-archive.style-archive .slick-slide {
    margin: 0 1rem;
  }

  #style-archive.style-archive .style-archive__list {
    margin: 0;
  }
}
/* for tablet */
@media screen and (min-device-width: 768px) and (max-device-width: 1200px) and (-webkit-min-device-pixel-ratio: 1) {
  html {
    font-size: calc(10 * (100vw / 1200));
  }
}
/* for SP */
@media screen and (max-width: 767px) {
  .pc_only {
    display: none !important;
  }

  html {
    font-size: calc(10* (100vw / 750)) !important;
  }

  .main-area .main-inner {
    width: 100%;
  }

  #breadcrumb .cateList {
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
  }

  #style-archive.style-archive .slick-arrow {
    width: calc(20* (100vw / 750)) !important;
    height: calc(56* (100vw / 750)) !important;
  }

  #style-archive.style-archive .slick-arrow::before,
#style-archive.style-archive .slick-arrow::after {
    width: calc(2* (100vw / 750)) !important;
    height: calc(30* (100vw / 750)) !important;
  }

  #style-archive.style-archive .slick-arrow.slick-next {
    right: calc(-40* (100vw / 750)) !important;
  }

  #style-archive.style-archive .slick-arrow.slick-prev {
    left: calc(-50* (100vw / 750)) !important;
  }

  /*=======================================
                    SP    
  ========================================*/
  /* ===================
  	　　 General
  =================== */
  #lp-210402 {
    width: 75rem;
    overflow: hidden;
  }

  /* モーダルCSSここから */
  .modalArea {
    visibility: hidden;
    /* displayではなくvisibility */
    opacity: 0;
    position: fixed;
    z-index: 10000;
    /* サイトによってここの数値は調整 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transition: 0.4s;
    transition: 0.4s;
  }

  .closeModal {
    cursor: pointer;
  }

  .is-show {
    /* モーダル表示用クラス */
    visibility: visible;
    opacity: 1;
  }

  .modalBg {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
  }

  .modalWrapper {
    width: 100%;
    height: 100%;
  }
  .modalWrapper .modalContents {
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: scroll;
  }
  .modalWrapper .modal___content_inner {
    padding: calc(83* (100vw / 2160)) 0 0;
    position: relative;
  }
  .modalWrapper .modal___content_inner .slick-prev:before,
.modalWrapper .modal___content_inner .slick-next:before {
    content: "" !important;
    font-size: 0 !important;
  }
  .modalWrapper .modal___header {
    width: calc(650* (100vw / 750));
    margin: 0 auto calc(40* (100vw / 750));
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    font-size: calc(26 * (100vw / 750));
  }

  #make___slide {
    width: calc(650* (100vw / 750));
    margin: 0 auto;
  }
  #make___slide .slick-arrow {
    width: calc(50* (100vw / 750));
    height: calc(50* (100vw / 750));
    top: 33%;
  }
  #make___slide .slick-arrow::before, #make___slide .slick-arrow::after {
    width: calc(2* (100vw / 750));
    height: calc(28* (100vw / 750));
    left: 50%;
  }
  #make___slide .slick-arrow::before {
    -webkit-transform: rotate(-35deg);
            transform: rotate(-35deg);
  }
  #make___slide .slick-arrow::after {
    -webkit-transform: rotate(35deg);
            transform: rotate(35deg);
  }
  #make___slide .slick-arrow.slick-prev {
    left: calc(-50* (100vw / 750));
    -webkit-transform: translateY(-50%) scale(-1, 1);
            transform: translateY(-50%) scale(-1, 1);
  }
  #make___slide .slick-arrow.slick-next {
    right: calc(-50* (100vw / 750));
  }
  #make___slide .codinate___img {
    margin-bottom: calc(38* (100vw / 750));
  }
  #make___slide .codinate___img ul li picture {
    width: calc(650* (100vw / 750));
    display: block;
  }
  #make___slide .codinate___img ul li picture img {
    width: calc(650* (100vw / 750));
  }
  #make___slide .sec__credit {
    display: block;
    margin-top: calc(38* (100vw / 750));
  }
  #make___slide .sec__credit .credit_list {
    position: relative;
    z-index: 999;
  }
  #make___slide .sec__credit .modal_bg {
    display: block;
    width: calc(650* (100vw / 750));
    height: calc(978* (100vw / 750));
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  #make___slide .sec__credit .modal_bg a {
    display: block;
    width: 100%;
    height: 100%;
  }
  #make___slide .credit_list li {
    margin-bottom: calc(12* (100vw / 750));
    text-align: left;
  }
  #make___slide .credit_list li a {
    font-size: calc(23* (100vw / 750));
    letter-spacing: 0.015em;
    line-height: 182.6086956522%;
    border-bottom: 1px solid #d2d2d2;
  }
  #make___slide .slick-slide {
    position: relative;
  }

  #make___slide .sec12 .sec__credit .modal_bg,
#make___slide .sec20 .sec__credit .modal_bg {
    display: block;
    width: calc(650* (100vw / 750));
    height: calc(650* (100vw / 750));
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }

  .slick-counter {
    letter-spacing: 0;
  }

  .m-btn {
    width: calc(615* (100vw / 750));
    margin: calc(155* (100vw / 750)) auto calc(250* (100vw / 750));
  }
  .m-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;
    border: 1px solid #898989;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #fff;
    font-size: calc(22* (100vw / 750));
    line-height: 154.5454545455%;
    padding: 1.5em 0;
    text-align: center;
  }

  .modalArea {
    font-family: "Crimson Text";
  }
  .modalArea img {
    width: 100%;
    display: block;
  }
  .modalArea .inpage___slide li:nth-child(n+2), .modalArea .inpage___slide_sponly li:nth-child(n+2) {
    display: none !important;
  }

  /* ===================
  　　　 top
  =================== */
  .l-top {
    width: 75rem;
    margin: 0 auto;
    position: relative;
  }
  .l-top__mv {
    width: 75rem;
    height: 100%;
    margin: 0 auto;
  }
  .l-top__ttl_wrap {
    width: unset;
    position: unset;
  }
  .l-top__ttl {
    width: 57.6rem;
    position: absolute;
    right: 8.5rem;
    top: 70.5rem;
    -webkit-transform: translateY(50%);
            transform: translateY(50%);
  }

  /* ===================
  　　  common
  =================== */
  .sec-wrap {
    width: 75rem;
    margin: 0 auto;
  }
  .sec-wrap .sec__ttl_sub {
    position: absolute;
    font-family: magneta, serif;
    font-size: 2.4rem;
    line-height: 3.4rem;
    text-align: left;
    letter-spacing: 0.045em;
    color: #666666;
    -webkit-transform: rotate(-90deg);
            transform: rotate(-90deg);
  }

  .sec__ttl_sub2 {
    position: absolute;
    font-family: magneta, serif;
    font-size: 2.4rem;
    line-height: 3.4rem;
    text-align: left;
    letter-spacing: 0.045em;
    color: #666666;
  }

  .sec {
    width: 75rem;
    margin: 22rem auto 0;
  }
  .sec .sec__credit {
    display: none;
  }
  .sec .sec__credit .modal_bg {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    position: absolute;
    top: 0;
    left: 0;
  }
  .sec .sec__credit .modal_bg a {
    display: block;
    width: 100%;
    height: 100%;
  }
  .sec .sec__credit .credit_list {
    position: relative;
    z-index: 1;
  }
  .sec .sec__credit .credit_list li {
    margin-bottom: 1rem;
  }
  .sec .sec__credit .credit_list li a {
    color: #fff;
    font-size: 1.3rem;
    letter-spacing: 0.015em;
    line-height: 2;
    border-bottom: 1px solid #fff;
  }
  .sec .sec__credit:hover {
    opacity: 1;
  }
  .sec .sec__ttl {
    font-size: 5rem;
  }
  .sec .sec__ttl span {
    font-size: 7.8rem;
    margin-right: 3rem;
  }

  /* ===================
  　　 section
  =================== */
  .sec01 {
    width: 75rem;
    margin-top: 16.8rem;
    margin-left: 0;
  }
  .sec01 .blk01 {
    width: 62rem;
    margin-top: 0;
    margin-left: calc(20* (100vw / 750));
  }
  .sec01 .blk01 .bg {
    width: 56rem;
    position: absolute;
    top: -2rem;
    left: -2rem;
  }
  .sec01 .blk01 .sec__ttl {
    bottom: -15rem;
    right: -1rem;
  }
  .sec01 .blk02 {
    width: 62rem;
    margin-top: 19.7rem;
    margin-left: 13rem;
  }

  .sec02 {
    width: 75rem;
  }
  .sec02 .blk01 {
    width: 44rem;
    z-index: 99;
  }
  .sec02 .blk01::before {
    width: calc(460* (100vw / 750));
    height: calc(680* (100vw / 750));
  }
  .sec02 .blk02 {
    width: 68rem;
    margin-left: 7rem;
    margin-top: -2rem;
  }

  .sec03 {
    width: 75rem;
  }
  .sec03 .blk01 {
    width: 62rem;
  }

  .sec04 {
    width: 75rem;
  }
  .sec04 .blk01 {
    width: 62rem;
    margin-left: 13rem;
  }
  .sec04 .blk02 {
    width: 58rem;
    margin-top: 22rem;
  }

  .bg_05 {
    position: relative;
  }
  .bg_05::before {
    top: 22rem;
    left: 0;
    width: 100%;
    height: 182rem;
  }

  .sec05 {
    width: 75rem;
    margin-top: 28rem;
  }
  .sec05 .blk01 {
    width: 56rem;
    margin: 0 auto;
  }
  .sec05 .blk02 {
    width: 56rem;
    margin: 2rem auto 0;
  }

  .sec-wrap._05 {
    position: relative;
  }
  .sec-wrap._05 .sec__ttl_sub {
    bottom: 11.5rem;
    right: -11rem;
  }

  .sec06 {
    width: 75rem;
    margin-top: 28rem;
  }
  .sec06 .blk01 {
    width: 62rem;
    margin: 0 auto;
  }

  .sec07 {
    width: 75rem;
    margin-top: 24rem;
  }
  .sec07 .blk01 {
    width: 54rem;
  }
  .sec07 .blk01 .sec__ttl {
    top: 88.5rem;
    right: -4.5rem;
  }
  .sec07 .blk02 {
    width: 58rem;
    margin-left: 0;
    margin-top: 84rem;
  }
  .sec07 .blk02::after {
    position: absolute;
    content: "";
    top: -64rem;
    left: 29rem;
    width: 46rem;
    height: 68.2rem;
    background: #fff;
  }
  .sec07 .blk03 {
    width: 44rem;
    margin-left: 31rem;
    margin-top: -151rem;
  }

  .sec08 {
    width: 75rem;
    margin-top: 107rem;
  }
  .sec08 .blk01 {
    width: 62rem;
    margin: 0 auto;
  }
  .sec08 .blk02 {
    width: 62rem;
    margin-top: 22rem;
    margin-left: 13rem;
  }

  .sec09 {
    width: 75rem;
  }
  .sec09 .blk01 {
    width: 68rem;
  }
  .sec09 .blk01::after {
    position: absolute;
    content: "";
    top: 100rem;
    left: 29rem;
    width: 46rem;
    height: 68.2rem;
    background: #fff;
  }
  .sec09 .blk02 {
    width: 44rem;
    margin-left: 31rem;
  }

  .sec10 {
    width: 75rem;
    margin-top: 28rem;
    margin-left: 9.5rem;
  }
  .sec10 .blk01 {
    width: 50rem;
    z-index: 99;
  }
  .sec10 .blk01::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 52rem;
    height: 52rem;
    background: #fff;
    z-index: -1;
  }
  .sec10 .blk01 .bg {
    position: absolute;
    width: 50rem;
    top: 6rem;
    left: 6rem;
    z-index: -2;
  }

  .bg_11 {
    position: relative;
  }
  .bg_11::before {
    position: absolute;
    content: "";
    top: 34rem;
    left: 0;
    background: #f8f6f2;
    width: 100%;
    height: 182.2rem;
  }

  .sec11 {
    width: 75rem;
    margin-top: 40rem;
  }
  .sec11 .blk01 {
    width: 56rem;
    margin: 0 auto;
  }
  .sec11 .blk02 {
    width: 56rem;
    margin: 2rem auto 0;
  }

  .sec12 {
    width: 75rem;
    margin-top: 28rem;
  }
  .sec12 .blk01 {
    width: 62rem;
    margin: 0 auto;
  }
  .sec12 .blk02 {
    width: 62rem;
    margin: 32rem auto 0;
    position: relative;
  }
  .sec12 .blk02 .sec__ttl_sub2 {
    top: -9.5rem;
    right: 31rem;
  }

  .sec13 {
    width: 75rem;
  }
  .sec13 .blk01 {
    width: 44rem;
    z-index: 99;
  }
  .sec13 .blk01::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 46rem;
    height: 68.2rem;
    background: #fff;
  }
  .sec13 .blk02 {
    width: 68rem;
    margin-left: 7rem;
    margin-top: -2rem;
  }

  .sec14 {
    width: 75rem;
    margin-top: 24rem;
  }
  .sec14 .blk01 {
    width: 62rem;
  }
  .sec14 .blk02 {
    width: 44rem;
    margin-top: 6rem;
    margin-left: 28rem;
  }

  .bg_15 {
    position: relative;
  }
  .bg_15::before {
    position: absolute;
    content: "";
    top: 30rem;
    left: 0;
    background: #f8f6f2;
    width: 100%;
    height: 42.2rem;
  }

  .sec15 {
    width: 75rem;
    margin-top: 28rem;
    position: relative;
  }
  .sec15 .sec__ttl_sub2 {
    top: 47.5rem;
    right: 40.5rem;
  }
  .sec15 .blk01 {
    width: 67.7rem;
    margin: 0 auto;
  }

  .sec16 {
    width: 75rem;
    margin-top: 36.8rem;
  }
  .sec16 .blk01 {
    width: 62rem;
  }
  .sec16 .blk02 {
    width: 62rem;
    margin-top: 22rem;
    margin-left: 13rem;
  }

  .sec17 {
    width: 75rem;
  }
  .sec17 .blk01 {
    width: 68rem;
  }
  .sec17 .blk01::after {
    position: absolute;
    content: "";
    top: 100rem;
    left: 29rem;
    width: 46rem;
    height: 68.2rem;
    background: #fff;
  }
  .sec17 .blk02 {
    width: 44rem;
    margin-left: 31rem;
  }

  .sec18 {
    width: 75rem;
  }
  .sec18 .blk01 {
    width: 50rem;
    margin-left: 9.5rem;
    z-index: 99;
  }
  .sec18 .blk01::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 52rem;
    height: 52rem;
    background: #fff;
    z-index: -1;
  }
  .sec18 .blk01 .bg {
    position: absolute;
    width: 50rem;
    top: 6rem;
    left: 6rem;
    z-index: -2;
  }

  /* ===================
  　　  button
  =================== */
  .m-btn {
    width: 62rem;
    margin: 0 auto;
    padding: 20rem 0 0;
  }
  .m-btn a {
    width: 62rem;
    height: 12.4rem;
    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;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    background-color: #fff;
    font-family: "Crimson Text", serif;
    font-size: 2.2rem;
    line-height: 1.54;
    letter-spacing: 0.002em;
    text-align: center;
  }
}
/*# sourceMappingURL=style.css.map */