@charset "UTF-8";
/*html body setting*/
/* line 3, ../scss/_default.scss */
html {
  overflow-y: scroll;
  font-size: 62.5%;
  padding: 0;
  margin: 0;
  width: 100%;
}

/* line 10, ../scss/_default.scss */
body {
  position: relative;
  /*overflow: hidden;*/
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.6;
  background: #fff;
  color: #333;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  width: 100%;
  height: 100%;
  margin: auto;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "kern", "liga", "clig", "calt";
}
figure {
  position: relative;
}
/*px base setting*/
/* line 31, ../scss/_default.scss */
#pxBase sup {
  vertical-align: super;
  font-size: .5em;
}
/* line 35, ../scss/_default.scss */
#pxBase a:link,
#pxBase a:visited,
#pxBase a:active,
#pxBase a:hover {
  text-decoration: none;
}
/* line 41, ../scss/_default.scss */
#pxBase figure {
  position: relative;
}
/* line 44, ../scss/_default.scss */
#pxBase img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
/* line 48, ../scss/_default.scss */
#pxBase img.object-fit {
  object-fit: cover;
  height: 100%;
}

/* visible or hidden
--------------------------------------------------------------------------------*/
/* line 57, ../scss/_default.scss */
.hidden-pc {
  display: none !important;
}

@media only screen and (max-width: 991px) {
  /* line 60, ../scss/_default.scss */
  .visible-pc {
    display: none !important;
  }

  /* line 61, ../scss/_default.scss */
  .hidden-pc {
    display: block !important;
  }
}
@media only screen and (min-width: 992px) {
  /* line 64, ../scss/_default.scss */
  .visible-tbsp {
    display: none !important;
  }
}
@media only screen and (min-width: 768px) {
  /* line 67, ../scss/_default.scss */
  .visible-sp {
    display: none !important;
  }
}
/* line 69, ../scss/_default.scss */
.visible-xs, .visible-sm, .visible-md, .visible-lg {
  display: none !important;
}

@media (max-width: 767px) {
  /* line 73, ../scss/_default.scss */
  .hidden-xs {
    display: none !important;
  }

  /* line 76, ../scss/_default.scss */
  .visible-xs {
    display: block !important;
  }
}
/*数値の設定
------------------------------------------*/
/*上記数値の設定を呼び出しているmixin
------------------------------------------*/
/*
よく使用するmixin
------------------------------------------*/
/* line 5, ../scss/concept.scss */
.inner {
  max-width: 1440px;
  margin: 0 auto;
}
/* line 7, ../scss/concept.scss */
.inner .bigLead {
  font-size: clamp(40px, 5.2vw, 100px);
  margin-bottom: 40px;
  color: #2F5850;
  line-height: 1;
  letter-spacing: 0.01em;
}
@media only screen and (max-width: 991px) {
  /* line 7, ../scss/concept.scss */
  .inner .bigLead {
    margin-bottom: 40px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 7, ../scss/concept.scss */
  .inner .bigLead {
    line-height: 1.25;
  }
}
/* line 16, ../scss/concept.scss */
.inner .leadCopy {
  font-size: 20px;
  margin-bottom: 80px;
  line-height: 2.5;
}
@media only screen and (max-width: 991px) {
  /* line 16, ../scss/concept.scss */
  .inner .leadCopy {
    margin-bottom: 40px;
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 16, ../scss/concept.scss */
  .inner .leadCopy {
    font-size: 16px;
  }
}
/* line 25, ../scss/concept.scss */
.inner .centerImg {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
/* line 27, ../scss/concept.scss */
.inner .centerImg.size1440 {
  max-width: 1440px;
  mix-blend-mode: normal;
}
/* line 29, ../scss/concept.scss */
.inner .centerImg.size1440 .imgcap {
  text-shadow: none;
  color: #222;
}
@media only screen and (max-width: 767px) {
  /* line 29, ../scss/concept.scss */
  .inner .centerImg.size1440 .imgcap {
    left: 10px;
    right: auto;
  }
}

/* line 38, ../scss/concept.scss */
.imgcap {
  padding: 5px;
}

/* line 42, ../scss/concept.scss */
.lead {
  font-size: clamp(24px, 3.1vw, 32px);
  color: #2F5850;
  font-weight: 600;
}

/* line 45, ../scss/concept.scss */
.subLead {
  font-size: clamp(18px, 2.34vw, 22px) !important;
  color: #2F5850;
  line-height: 1.7;
  margin-bottom: 40px;
}
@media only screen and (max-width: 991px) {
  /* line 45, ../scss/concept.scss */
  .subLead {
    margin-bottom: 30px;
    text-align: left;
  }
}

/* line 52, ../scss/concept.scss */
.bodyCopy {
  font-size: clamp(15px, 1.95vw, 19px);
  line-height: 2;
}

/* line 56, ../scss/concept.scss */
.intro-sec {
  padding: 0px 0px 100px;
  text-align: center;
}
@media only screen and (max-width: 991px) {
  /* line 56, ../scss/concept.scss */
  .intro-sec {
    padding: 0px 0 80px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 56, ../scss/concept.scss */
  .intro-sec {
    padding: 0px 0 50px;
  }
}
/* line 65, ../scss/concept.scss */
.intro-sec .minatoImg {
  position: relative;
  margin-bottom: 100px;
}
@media only screen and (max-width: 991px) {
  /* line 65, ../scss/concept.scss */
  .intro-sec .minatoImg {
    margin-bottom: 80px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 65, ../scss/concept.scss */
  .intro-sec .minatoImg {
    margin-bottom: 50px;
  }
}
/* line 74, ../scss/concept.scss */
.intro-sec .minatoImg .copy {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 90vw;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  /* line 74, ../scss/concept.scss */
  .intro-sec .minatoImg .copy {
    top: 0;
  }
}
/* line 86, ../scss/concept.scss */
.intro-sec .minatoImg::after {
  position: absolute;
  content: "";
  height: 200px;
  background-image: linear-gradient(180deg, #F3EEE7, rgba(242, 242, 242, 0));
  top: 0;
  left: 0;
  width: 100%;
}
/* line 96, ../scss/concept.scss */
.intro-sec .inner {
  max-width: 1600px;
  margin: 0 auto;
  padding: 0px 80px;
}
@media only screen and (max-width: 991px) {
  /* line 96, ../scss/concept.scss */
  .intro-sec .inner {
    padding: 0px 50px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 96, ../scss/concept.scss */
  .intro-sec .inner {
    padding: 0px 30px;
  }
}
/* line 105, ../scss/concept.scss */
.intro-sec .inner .lead-jp {
  color: #2F5850;
  display: flex;
  font-size: clamp(15px, 1.95vw, 18px);
  margin-bottom: 80px;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  /* line 105, ../scss/concept.scss */
  .intro-sec .inner .lead-jp {
    margin-bottom: 40px;
  }
}
/* line 112, ../scss/concept.scss */
.intro-sec .inner .lead-jp::before, .intro-sec .inner .lead-jp::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: #2F5850;
}
/* line 118, ../scss/concept.scss */
.intro-sec .inner .lead-jp::before {
  margin-right: 1rem;
}
/* line 121, ../scss/concept.scss */
.intro-sec .inner .lead-jp::after {
  margin-left: 1rem;
}
/* line 125, ../scss/concept.scss */
.intro-sec .inner .valueFlex {
  display: flex;
  justify-content: center;
  gap: 30px;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  /* line 125, ../scss/concept.scss */
  .intro-sec .inner .valueFlex {
    flex-direction: column;
  }
}
/* line 130, ../scss/concept.scss */
.intro-sec .inner .valueFlex .leftBlock, .intro-sec .inner .valueFlex .rightBlock, .intro-sec .inner .valueFlex .centerBlock {
  display: flex;
  flex-direction: column;
  gap: 20px;
  justify-content: center;
}
/* line 133, ../scss/concept.scss */
.intro-sec .inner .valueFlex .leftBlock, .intro-sec .inner .valueFlex .rightBlock {
  max-width: 260px;
}
/* line 135, ../scss/concept.scss */
.intro-sec .inner .valueFlex .leftBlock p, .intro-sec .inner .valueFlex .rightBlock p {
  font-size: clamp(16px, 2.08vw, 18px);
  line-height: 1.75;
  color: #2F5850;
}
/* line 139, ../scss/concept.scss */
.intro-sec .inner .valueFlex .centerBlock {
  max-width: 200px;
}
@media only screen and (max-width: 767px) {
  /* line 139, ../scss/concept.scss */
  .intro-sec .inner .valueFlex .centerBlock {
    flex-direction: row;
    max-width: 100%;
    width: 100%;
  }
}
/* line 144, ../scss/concept.scss */
.intro-sec .inner .valueFlex .centerBlock p {
  font-size: clamp(14px, 1.8vw, 16px);
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  /* line 147, ../scss/concept.scss */
  .intro-sec .inner .valueFlex .centerBlock picture {
    max-width: 160px;
  }
}

/* line 157, ../scss/concept.scss */
.granshift-sec {
  margin: 80px 80px 0;
  max-width: 1660px;
  text-align: center;
}
@media only screen and (max-width: 991px) {
  /* line 157, ../scss/concept.scss */
  .granshift-sec {
    margin:50px 50px 0 ;
  }
}
@media only screen and (max-width: 767px) {
  /* line 157, ../scss/concept.scss */
  .granshift-sec {
    margin:30px 30px 0 ;
  }
}
/* line 167, ../scss/concept.scss */
.granshift-sec .inner .introEn {
  max-width: 640px;
  margin: 0 auto;
}
/* line 170, ../scss/concept.scss */
.granshift-sec .inner .lead {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  /* line 170, ../scss/concept.scss */
  .granshift-sec .inner .lead {
    margin-top: 40px;
  }
}
/* line 176, ../scss/concept.scss */
.granshift-sec .inner .subLead {
  margin-top: 50px;
}
@media only screen and (max-width: 767px) {
  /* line 176, ../scss/concept.scss */
  .granshift-sec .inner .subLead {
    margin-top: 20px;
  }
}
/* line 182, ../scss/concept.scss */
.granshift-sec .inner .bodyCopy {
  line-height: 2.5;
  margin: 40px auto;
}
@media only screen and (max-width: 767px) {
  /* line 182, ../scss/concept.scss */
  .granshift-sec .inner .bodyCopy {
    margin: 20px auto;
  }
}
/* line 188, ../scss/concept.scss */
.granshift-sec .inner figure {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  /* line 188, ../scss/concept.scss */
  .granshift-sec .inner figure {
    margin-top: 40px;
  }
}

/* line 197, ../scss/concept.scss */
.doubleImgBlock {
  display: flex;
  gap: 30px;
  margin: 80px auto 0;
}
@media only screen and (max-width: 767px) {
  /* line 197, ../scss/concept.scss */
  .doubleImgBlock {
    gap: 15px;
  }
}
/* line 202, ../scss/concept.scss */
.doubleImgBlock.reverse {
  flex-direction: row-reverse;
}
/* line 205, ../scss/concept.scss */
.doubleImgBlock .bigImg {
  width: 70%;
}
/* line 208, ../scss/concept.scss */
.doubleImgBlock .smallImg {
  width: 30%;
  transform: translateY(-80px);
}
@media only screen and (max-width: 767px) {
  /* line 208, ../scss/concept.scss */
  .doubleImgBlock .smallImg {
    transform: translateY(-40px);
  }
}

/* line 216, ../scss/concept.scss */
.south-sec {
  padding: 100px 80px;
}
@media only screen and (max-width: 991px) {
  /* line 216, ../scss/concept.scss */
  .south-sec {
    padding: 80px 50px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 216, ../scss/concept.scss */
  .south-sec {
    padding: 50px 30px;
  }
}

/* line 226, ../scss/concept.scss */
.access-sec {
  text-align: right;
  padding: 100px 80px;
}
@media only screen and (max-width: 991px) {
  /* line 226, ../scss/concept.scss */
  .access-sec {
    padding: 80px 50px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 226, ../scss/concept.scss */
  .access-sec {
    padding: 50px 30px;
  }
}

/* line 237, ../scss/concept.scss */
.landscape-sec {
  padding: 100px 80px;
}
@media only screen and (max-width: 991px) {
  /* line 237, ../scss/concept.scss */
  .landscape-sec {
    padding: 80px 50px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 237, ../scss/concept.scss */
  .landscape-sec {
    padding: 50px 30px 80px;
  }
}
/* line 245, ../scss/concept.scss */
.landscape-sec .inner {
  margin-bottom: -200px;
}
@media only screen and (max-width: 767px) {
  /* line 245, ../scss/concept.scss */
  .landscape-sec .inner {
    margin-bottom: 0;
  }
}
/* line 250, ../scss/concept.scss */
.landscape-sec .inner .img-flex {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-end;
  transform: translateY(-200px);
}
@media only screen and (max-width: 767px) {
  /* line 250, ../scss/concept.scss */
  .landscape-sec .inner .img-flex {
    transform: translateY(0px);
    margin-top: 40px;
  }
}
/* line 257, ../scss/concept.scss */
.landscape-sec .inner .img-flex .sub {
  max-width: 257px;
}
/* line 260, ../scss/concept.scss */
.landscape-sec .inner .img-flex .gainen {
  margin-top: 80px;
}
@media only screen and (max-width: 767px) {
  /* line 260, ../scss/concept.scss */
  .landscape-sec .inner .img-flex .gainen {
    margin-top: 30px;
  }
}

/* line 270, ../scss/concept.scss */
.scheme-sec {
  text-align: right;
  padding: 0px 80px 100px;
}
@media only screen and (max-width: 991px) {
  /* line 270, ../scss/concept.scss */
  .scheme-sec {
    padding: 0 50px 80px;
  }
}
@media only screen and (max-width: 767px) {
  /* line 270, ../scss/concept.scss */
  .scheme-sec {
    padding: 0 30px 50px;
  }
}
/* line 279, ../scss/concept.scss */
.scheme-sec .bodyCopy {
  margin-bottom: 80px;
}
@media only screen and (max-width: 767px) {
  /* line 279, ../scss/concept.scss */
  .scheme-sec .bodyCopy {
    margin-bottom: 40px;
  }
}

/*# sourceMappingURL=concept.css.map */
