@charset "utf-8";
/* ===================================================================
 style.css
======================================================================*/

/* Reset */
.contents,
.lp-body {
  padding: 0;
}
.lp-header {
  display: none;
}
.lp_main p:not([class]) {
  font-size: 16px;
  line-height: 1.6;
}
.lp_main p:not([class]) + p:not([class]) {
  margin-top: 1.5em;
}

@media (max-width: 1023px) {
  .lp_main p:not([class]) {
    font-size: 14px;
  }
}

/*----------------------------------------------------------
 firstView
------------------------------------------------------------*/
.lp_firstView {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100vw;
  height: 100vh;
}
.lp_firstView:before,
.lp_firstView:after {
  content: "";
  display: block;
  position: absolute;
  top: 5%;
  width: 40%;
  height: 90%;
  background-repeat: no-repeat;
  background-size: contain;
}
.lp_firstView:before {
  left: 0;
  background-image: url("../img/mainvisual_left.jpg");
  background-position: 0 50%;
}
.lp_firstView:after {
  right: 0;
  background-image: url("../img/mainvisual_right.jpg");
  background-position: 100% 50%;
}
.lp_firstView-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 30%;
}
.lp_firstView-bering {
  width: 100%;
  margin-bottom: 70px;
}
.lp_firstView-logo {
  width: 70%;
  margin-bottom: 50px;
}
.lp_firstView-date {
  font-size: 16px;
  color: #666;
  font-weight: bold;
}

@media (max-width: 1023px) {
  .lp_firstView {
    padding-top: 45vh;
  }
  .lp_firstView:before,
  .lp_firstView:after {
    width: 48%;
    height: 65%;
  }
  .lp_firstView-head {
    width: 70%;
  }
  .lp_firstView-bering {
    width: 70%;
    margin-bottom: 30px;
  }
  .lp_firstView-logo {
    width: 100%;
    margin-bottom: 30px;
  }
  .lp_firstView-date {
    font-weight: normal;
  }
}

/*----------------------------------------------------------
 lp_section
------------------------------------------------------------*/
.lp_section-inner {
  padding: 0 5vw;
}
.lp_section-child + .lp_section-child {
  margin-top: 0;
}
.lp_section-title {
  margin-bottom: 20px;
  font-size: 12px;
  color: #777;
  text-align: center;
  font-weight: bold;
}

/*----------------------------------------------------------
 lp_intro
------------------------------------------------------------*/
.lp_intro-head {
  padding-bottom: 15px;
  border-bottom: 1px solid #666;
  font-size: 32px;
}
.lp_intro-column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lp_intro-column.-reverse {
  flex-direction: row-reverse;
}
.lp_intro-column + .lp_intro-column {
  margin-top: 10vh;
}
.lp_intro-column-context {
  width: 45vw;
  padding: 50px 5vw;
}
.lp_intro-column-img {
  width: 55vw;
  height: 45vh;
}
.lp_intro-column-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 1023px) {
  .lp_intro {
    margin-top: 0;
  }
  .lp_intro-head {
    padding-bottom: 10px;
    margin-right: -5vw;
    font-size: 24px;
  }
  .lp_intro-column {
    flex-direction: column;
  }
  .lp_intro-column.-reverse {
    flex-direction: column-reverse;
  }
  .lp_intro-column + .lp_intro-column {
    margin-top: 0;
  }
  .lp_intro-column-context {
    width: 100%;
    padding: 0 5vw;
  }
  .lp_intro-column:not(.-reverse) .lp_intro-column-context {
    margin-bottom: 50px;
  }
  .lp_intro-column.-reverse .lp_intro-column-context {
    margin: 50px 0;
  }
  .lp_intro-column-img {
    width: 95vw;
    height: 26vh;
  }
  .lp_intro-column:not(.-reverse) .lp_intro-column-img {
    margin-left: 5vw;
  }
  .lp_intro-column.-reverse .lp_intro-column-img {
    margin-right: 5vw;
  }
}

/*----------------------------------------------------------
 lp_concept
------------------------------------------------------------*/
.lp_concept {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 5vw 0 2vw;
}
.lp_concept-context {
  width: 40vw;
}
.lp_concept-img {
  position: relative;
  width: 50vw;
}
.lp_concept-img > div {
  padding: 3vw;
}

/* トンボ */
.lp_concept-img:before,
.lp_concept-img:after,
.lp_concept-img > div:before,
.lp_concept-img > div:after {
  content: "";
  display: block;
  position: absolute;
  background: #aaa;
}
.lp_concept-img:before,
.lp_concept-img > div:before {
  width: 4vw;
  height: 1px;
}
.lp_concept-img:after,
.lp_concept-img > div:after {
  width: 1px;
  height: 4vw;
}
.lp_concept-img:before {
  top: 1.2vw;
  left: 0;
}
.lp_concept-img:after {
  top: 0;
  left: 1.2vw;
}
.lp_concept-img > div:before {
  bottom: 1.2vw;
  right: 0;
}
.lp_concept-img > div:after {
  bottom: 0;
  right: 1.2vw;
}

@media (max-width: 1023px) {
  .lp_concept {
    flex-direction: column-reverse;
    padding: 0;
  }
  .lp_concept-context {
    width: 100%;
    margin-bottom: 50px;
    padding: 0 5vw;
  }
  .lp_concept-img {
    width: 100%;
  }
  .lp_concept-img > div {
    padding: 0;
  }
  .lp_concept-img:before,
  .lp_concept-img:after,
  .lp_concept-img > div:before,
  .lp_concept-img > div:after {
    content: none;
  }
}

/*----------------------------------------------------------
 lp_design
------------------------------------------------------------*/
.lp_design {
  position: relative;
  padding-top: 100px;
}
.lp_design:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 30px;
  height: 3px;
  margin-left: -15px;
  background: #333;
}
.lp_design-lead {
  margin-bottom: 50px;
  font-size: 1.8rem;
  line-height: 2;
  text-align: center;
}
.lp_design-section {
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  height: 30vw;
}
.lp_design-section:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  opacity: .1;
}
.lp_design-section-context {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
  width: 55%;
  height: 100%;
  padding: 0 5vw;
}
.lp_design-section-context h4 {
  margin-bottom: 30px;
  height: 80px;
}
.lp_design-section-context h4 img {
  width: auto;
  height: 100%;
}
.lp_design-section-context p {
  line-height: 1.6;
  text-shadow: 0 0 10px #fff;
  font-weight: bold;
}
.lp_design-section-img {
  position: relative;
  z-index: 2;
  width: 45%;
  height: 100%;
  overflow: hidden;
}
.lp_design-section-img img {
  width: 102%;
  height: 110%;
  object-fit: cover;
}

/* osean */
.lp_design-section.-osean {
  flex-direction: row-reverse;
  background-color: rgba(144,216,253,.3); /* #90d8fd */
}
.lp_design-section.-osean:before {
  background-image: url("../img/bg_ocean.jpg");
}
.lp_design-section.-osean .lp_design-section-context > p {
  color: #032552;
}
.lp_design-section.-osean .lp_design-section-img img {
  object-position: left 6vw top 89%;
}

/* forest */
.lp_design-section.-forest {
  background-color: rgba(180,228,133,.3); /* #b4e485 */
}
.lp_design-section.-forest:before {
  background-image: url("../img/bg_forest.jpg");
}
.lp_design-section.-forest .lp_design-section-context > p {
  color: #103001;
}
.lp_design-section.-forest .lp_design-section-img img {
  object-position: right 5vw top 89%;
}

@media (max-width: 1023px) {
  .lp_design {
    padding-top: 50px;
  }
  .lp_design-lead {
    margin-bottom: 30px;
    padding: 0 5vw;
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
  }
  .lp_design-section {
    height: 35vh;
  }
  .lp_design-section-context h4 {
    margin-bottom: 20px;
    height: 50px;
  }
  .lp_design-section-img img {
    width: 100%;
    height: 111%;
  }

  /* osean */
  .lp_design-section.-osean .lp_design-section-context {
    padding-right: 0;
  }

  /* forest */
  .lp_design-section.-forest .lp_design-section-context {
    padding-left: 0;
  }
}

/*----------------------------------------------------------
 lp_set
------------------------------------------------------------*/
.lp_set-column {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lp_set-column.-reverse {
  flex-direction: row-reverse;
}
.lp_set-column-context {
  width: calc(55% - 5vw);
}
.lp_set-column-img {
  width: 45%;
}

@media (max-width: 1023px) {
  .lp_set-column,
  .lp_set-column.-reverse {
    flex-direction: column;
  }
  .lp_set-column-context {
    width: 100%;
    margin-bottom: 30px;
  }
  .lp_set-column-img {
    width: 100%;
    margin-bottom: 30px;
  }
}

/*----------------------------------------------------------
 lp_visual
------------------------------------------------------------*/
.lp_visual {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1vw;
}
.lp_visual-item {
  width: 49.5vw;
}
.lp_visual-single {
  width: 100%;
}
.lp_visual-item img,
.lp_visual-single img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/*----------------------------------------------------------
 lp_carousel
------------------------------------------------------------*/
.m_items-carousel-list {
  position: relative;
}
.m_items-carousel-list > li {
  position: absolute;
  top: 0;
  left: 0;
}
.m_items-carousel-thumb {
  display: flex;
  flex-wrap: wrap;
  margin-top: 30px;
}
.m_items-carousel-thumb > li {
  width: 60px;
  margin: 10px 10px 0 0 !important;
  transition: .3s;
}
.m_items-carousel-thumb > li.-active {
  border: 2px solid #000;
}
.m_items-carousel-thumb > li:not(.-active):hover {
  cursor: pointer;
  opacity: .7;
}

@media (max-width: 1023px) {
  .m_items-carousel-thumb {
    margin-top: 5px;
  }
  .m_items-carousel-thumb > li {
    width: calc((100% - 50px) / 5);
  }
}
