/*==========================================================================

   mixin

===========================================================================*/
/*--------------------------------------------------------------------------
   overwrite
---------------------------------------------------------------------------*/
/* overwrite
-----------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   common
---------------------------------------------------------------------------*/
/* xxx
-----------------------------------------------------------------*/
/*--------------------------------------------------------------------------
   sec-concept
---------------------------------------------------------------------------*/
.sec-concept {
  position: relative;
  padding: 100px 0 100px;
}
@media only screen and (max-width: 767px) {
  .sec-concept {
    padding: 60px 0 55px;
  }
}
.sec-concept__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../../images/concept/bg_concept.png);
  background-size: 100% auto;
  background-position: center -200px;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .sec-concept__bg {
    background-position: center -100px;
  }
}
.sec-concept__bg.is-fixed {
  position: fixed;
  background-position: center -100px;
}
@media only screen and (max-width: 767px) {
  .sec-concept__bg.is-fixed {
    background-position: center -30px;
  }
}
.sec-concept__hdg {
  position: relative;
  margin-bottom: 144px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .sec-concept__hdg {
    margin-bottom: 82px;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__hdg img {
    max-width: 279px;
    height: auto;
  }
}
.sec-concept__txt {
  position: relative;
}
.sec-concept__txt .txt {
  text-align: center;
  font-size: 18px;
  color: #694a3d;
  line-height: 2.5;
}
@media only screen and (max-width: 767px) {
  .sec-concept__txt .txt {
    font-size: 16px;
  }
}
.sec-concept__txt .txt:not(:first-of-type) {
  margin-top: 1em;
}
.sec-concept__txt .txt br.mi-sp {
  display: none;
}
@media screen and (max-width: 570px) {
  .sec-concept__txt .txt br.mi-sp {
    display: block;
  }
}
.sec-concept__scroll-wrap {
  position: relative;
}
.sec-concept__scroll {
  width: 38px;
  height: 380px;
  position: absolute;
  top: 0;
  right: 0;
  background-color: #694a37;
}
@media only screen and (max-width: 767px) {
  .sec-concept__scroll {
    width: 24px;
    height: 340px;
  }
}
.sec-concept__scroll span.txt {
  position: absolute;
  top: 40px;
  left: 50%;
  translate: -50% 100%;
  font-family: "Times New Roman", "Cormorant Garamond", "Noto Serif JP", serif;
  font-size: 15px;
  font-weight: 700;
  rotate: 90deg;
  white-space: nowrap;
}
@media only screen and (max-width: 767px) {
  .sec-concept__scroll span.txt {
    top: 30px;
    font-size: 10px;
  }
}
.sec-concept__scroll span.arrow {
  position: absolute;
  top: 130px;
  left: 50%;
  width: 1px;
  height: 206px;
  background-color: #897b72;
}
@media only screen and (max-width: 767px) {
  .sec-concept__scroll span.arrow {
    top: 30px;
    top: 100px;
  }
}
.sec-concept__scroll span.arrow::before {
  position: absolute;
  top: 206px;
  left: 50%;
  translate: -50% -50%;
  display: inline-block;
  vertical-align: middle;
  color: #897b72;
  line-height: 1;
  width: 6px;
  height: 6px;
  border: 1px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateY(-25%) rotate(135deg);
          transform: translateY(-25%) rotate(135deg);
  content: "";
  -webkit-animation: sclanimcolor 2.5s linear infinite;
          animation: sclanimcolor 2.5s linear infinite;
}
@-webkit-keyframes sclanimcolor {
  0% {
    color: #897b72;
  }
  70% {
    color: #d0cac7;
  }
  70.1% {
    color: #d0cac7;
  }
  100% {
    color: #897b72;
  }
}
@keyframes sclanimcolor {
  0% {
    color: #897b72;
  }
  70% {
    color: #d0cac7;
  }
  70.1% {
    color: #d0cac7;
  }
  100% {
    color: #897b72;
  }
}
.sec-concept__scroll span.arrow::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background-color: #d0cac7;
  content: "";
  -webkit-animation: sclanim 2.5s cubic-bezier(1, 0, 0, 1) infinite;
          animation: sclanim 2.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@-webkit-keyframes sclanim {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
@keyframes sclanim {
  0% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  50.1% {
    -webkit-transform: scale(1, 1);
            transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
  100% {
    -webkit-transform: scale(1, 0);
            transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
            transform-origin: 0 100%;
  }
}
.sec-concept__circle {
  position: relative;
  margin-bottom: 144px;
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle {
    margin-bottom: 72px;
  }
}
.sec-concept__circle .list {
  position: relative;
  max-width: 1200px;
  height: 1265px;
  margin: 0 auto;
  padding: 0 20px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .list {
    height: 99vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .list {
    width: 100%;
    height: 240vw;
    padding: 0 20px;
  }
}
.sec-concept__circle .circle {
  position: absolute;
  translate: -50% -50%;
}
.sec-concept__circle .circle img {
  height: auto;
}
.sec-concept__circle .circle--01 {
  top: 182px;
  left: 193px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--01 {
    top: 14.2vw;
    left: 15.1vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--01 {
    top: 23.5vw;
    left: 28.3vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--01 img {
    width: 25.5vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--01 img {
    width: 37.6vw;
  }
}
.sec-concept__circle .circle--02 {
  top: 437px;
  left: 510px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--02 {
    top: 34.1vw;
    left: 39.8vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--02 {
    top: 51.7vw;
    left: 68.2vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--02 img {
    width: 32vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--02 img {
    width: 47.3vw;
  }
}
.sec-concept__circle .circle--03 {
  top: 865px;
  left: 1089px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--03 {
    top: 67.6vw;
    left: 85.1vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--03 {
    top: 58.7vw;
    left: 23.4vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--03 img {
    width: 17.9vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--03 img {
    width: 26.4vw;
  }
}
.sec-concept__circle .circle--04 {
  top: 790px;
  left: 572px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--04 {
    top: 61.7vw;
    left: 44.6vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--04 {
    top: 94.9vw;
    left: 71.4vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--04 img {
    width: 21.6vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--04 img {
    width: 31.9vw;
  }
}
.sec-concept__circle .circle--05 {
  top: 839px;
  left: 216px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--05 {
    top: 65.5vw;
    left: 16.9vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--05 {
    top: 98.7vw;
    left: 28.5vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--05 img {
    width: 32.3vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--05 img {
    width: 47.8vw;
  }
}
.sec-concept__circle .circle--06 {
  top: 483px;
  left: 159px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--06 {
    top: 37.7vw;
    left: 12.4vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--06 {
    top: 127.5vw;
    left: 60.3vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--06 img {
    width: 20.2vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--06 img {
    width: 29.9vw;
  }
}
.sec-concept__circle .circle--07 {
  top: 209px;
  left: 1035px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--07 {
    top: 16.3vw;
    left: 80.9vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--07 {
    top: 214.3vw;
    left: 68.5vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--07 img {
    width: 25.5vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--07 img {
    width: 37.6vw;
  }
}
.sec-concept__circle .circle--08 {
  top: 588px;
  left: 906px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--08 {
    top: 45.9vw;
    left: 70.8vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--08 {
    top: 169.7vw;
    left: 66.5vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--08 img {
    width: 32.6vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--08 img {
    width: 48.1vw;
  }
}
.sec-concept__circle .circle--09 {
  top: 188px;
  left: 732px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--09 {
    top: 14.7vw;
    left: 57.2vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--09 {
    top: 185.5vw;
    left: 27.2vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--09 img {
    width: 18.6vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--09 img {
    width: 27.5vw;
  }
}
.sec-concept__circle .circle--10 {
  top: 990px;
  left: 822px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--10 {
    top: 77.3vw;
    left: 64.2vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--10 {
    top: 222.3vw;
    left: 27.5vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--10 img {
    width: 25vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--10 img {
    width: 36.9vw;
  }
}
.sec-concept__circle .circle--11 {
  top: 1115px;
  left: 500px;
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--11 {
    top: 87.1vw;
    left: 39.1vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--11 {
    top: 144.1vw;
    left: 26.1vw;
  }
}
@media screen and (max-width: 1280px) {
  .sec-concept__circle .circle--11 img {
    width: 25vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec-concept__circle .circle--11 img {
    width: 36.9vw;
  }
}

/*--------------------------------------------------------------------------
   custom animation
---------------------------------------------------------------------------*/
/* sec-concept__hdg
-----------------------------------------------------------------*/
.sec-concept__hdg {
  opacity: 0;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.sec-concept__hdg.is-animated {
  opacity: 1;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: opacity 1s ease-in-out, -webkit-filter 1s ease;
  transition: opacity 1s ease-in-out, -webkit-filter 1s ease;
  transition: opacity 1s ease-in-out, filter 1s ease;
  transition: opacity 1s ease-in-out, filter 1s ease, -webkit-filter 1s ease;
}

/* sec-concept__txt
-----------------------------------------------------------------*/
.sec-concept__txt .txt {
  opacity: 0;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.sec-concept__txt .txt + .c-btn {
  opacity: 0;
}
.sec-concept__txt .txt.is-animated {
  opacity: 1;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: opacity 1s ease-in-out, -webkit-filter 1s ease;
  transition: opacity 1s ease-in-out, -webkit-filter 1s ease;
  transition: opacity 1s ease-in-out, filter 1s ease;
  transition: opacity 1s ease-in-out, filter 1s ease, -webkit-filter 1s ease;
}

/* sec-concept__circle
-----------------------------------------------------------------*/
.sec-concept__circle .circle img {
  opacity: 0;
  scale: 0.8;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
  -webkit-filter: blur(10px);
          filter: blur(10px);
}
.sec-concept__circle .circle.is-animated img {
  opacity: 1;
  scale: 1;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="0" /></filter></svg>#filter');
  -webkit-filter: blur(0);
          filter: blur(0);
  -webkit-transition: opacity 0.6s ease-in-out, scale 0.6s ease, -webkit-filter 0.4s ease;
  transition: opacity 0.6s ease-in-out, scale 0.6s ease, -webkit-filter 0.4s ease;
  transition: opacity 0.6s ease-in-out, scale 0.6s ease, filter 0.4s ease;
  transition: opacity 0.6s ease-in-out, scale 0.6s ease, filter 0.4s ease, -webkit-filter 0.4s ease;
}

/* sec-concept__circle fuwafuwa
-----------------------------------------------------------------*/
.sec-concept__circle .list .circle span {
  display: block;
  animation: floating-y 4s ease-in-out infinite alternate-reverse;
}
@media (min-width: 1200px) {
  .sec-concept__circle .list .circle span {
    animation: floating-y-wide 4s ease-in-out infinite alternate-reverse;
  }
}
.sec-concept__circle .list .circle--01 span {
  -webkit-animation-delay: 0s;
          animation-delay: 0s;
}
.sec-concept__circle .list .circle--02 span {
  -webkit-animation-delay: 1.2s;
          animation-delay: 1.2s;
}
.sec-concept__circle .list .circle--03 span {
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}
.sec-concept__circle .list .circle--04 span {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.sec-concept__circle .list .circle--05 span {
  -webkit-animation-delay: 0.7s;
          animation-delay: 0.7s;
}
.sec-concept__circle .list .circle--06 span {
  -webkit-animation-delay: 0.2s;
          animation-delay: 0.2s;
}
.sec-concept__circle .list .circle--07 span {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.sec-concept__circle .list .circle--08 span {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.sec-concept__circle .list .circle--09 span {
  -webkit-animation-delay: 0.9s;
          animation-delay: 0.9s;
}
.sec-concept__circle .list .circle--10 span {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.sec-concept__circle .list .circle--11 span {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

@-webkit-keyframes floating-y {
  0% {
    translate: 0 -4vw;
  }
  100% {
    translate: 0 4vw;
  }
}

@keyframes floating-y {
  0% {
    translate: 0 -4vw;
  }
  100% {
    translate: 0 4vw;
  }
}
@-webkit-keyframes floating-y-wide {
  0% {
    translate: 0 -30px;
  }
  100% {
    translate: 0 30px;
  }
}
@keyframes floating-y-wide {
  0% {
    translate: 0 -30px;
  }
  100% {
    translate: 0 30px;
  }
}