@charset "UTF-8";
/*
# =================================================================
# PR事業
# =================================================================*/
#pr {
  background: #c2ccb8;
}
#pr .mainInfo .inner .mainTxt {
  padding: 0 0 120px 0;
  position: relative;
  overflow: hidden;
}
#pr .mainInfo .inner .mainTxt .txt {
  padding: 290px 5% 0 5%;
  position: relative;
  z-index: 1;
}
#pr .mainInfo .inner .mainTxt .txt h2 {
  max-width: 540px;
  width: 100%;
  margin: 0 auto 60px auto;
}
#pr .mainInfo .inner .mainTxt .txt h3 {
  margin: 0 0 50px 0;
  font-size: 26px;
  font-weight: 500;
  text-align: center;
}
#pr .mainInfo .inner .mainTxt .txt p {
  font-size: 17px;
  font-weight: 500;
  text-align: center;
  line-height: 2.4;
}
#pr .mainInfo .inner .mainTxt .circleImg {
  width: 100%;
  margin: 0 auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
#pr .mainInfo .inner .mainTxt .circleImg img {
  transform: rotate(0);
  animation: circleTxt1 60s linear infinite;
}
@keyframes circleTxt1 {
  100% {transform: rotate(360deg);}
}
#pr .support {

}
#pr .support .inner .ttl {
  margin: 0 0 80px 0;
  display: flex;
  flex-wrap: wrap;
}
#pr .support .inner .ttl h2 {
  width: 450px;
}
#pr .support .inner .ttl p {
  width: calc(100% - 450px);
  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .02em;
}
#pr .support .lottie-container {
  margin: 0 0 160px 0;
  padding: 5px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  overflow: hidden;
}
#pr .support .lottie-container > svg {
  width: 170%!important;
  animation: obiLeft 10s linear infinite;
  position: relative;
  right: 0;
}
@keyframes obiLeft {
  100% {right: 24.2%;}
}
#pr .support .lottie-container2 {
  padding: 5px 0;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  overflow: hidden;
}
#pr .support .lottie-container2 > svg {
  width: 170%!important;
  animation: obiRight 10s linear infinite;
  position: relative;
  left: -70%;
}
@keyframes obiRight {
  100% {left: -45.8%;}
}
#pr .support .inner .boxSupport {
  max-width: 1070px;
  width: 100%;
  margin: 0 0 70px auto;
  padding: 0 0 70px 0;
  border-bottom: 1px solid #000;
  display: flex;
  flex-wrap: wrap;
}
#pr .support .inner .boxSupport4 {
  margin: 0 0 200px auto;
  padding: 0;
  border-bottom: none;
}
#pr .support .inner .boxSupport .img {
  width: 295px;
}
#pr .support .inner .boxSupport .img img {
  max-width: 295px;
  width: 100%;
  display: block;
}
#pr .support .inner .boxSupport .txt {
  width: calc(100% - 295px);
  padding: 0 5% 0 55px;
}
#pr .support .inner .boxSupport .txt span {
  margin: 0 0 18px 0;
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  display: block;
}
#pr .support .inner .boxSupport .txt h3 {
  margin: 0 0 28px 0;
  font-size: 22px;
  font-weight: 500;
}
#pr .support .inner .boxSupport .txt p {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .04em;
}
#pr footer {
  background: #c2ccb8;
}

/*
# =================================================================
# レスポンシブ要素
# =================================================================*/
/* 4K:2560px */
@media screen and (min-width: 1920px) {
}

/* PC:1920px */

/* laptop NotePC L */
@media screen and (max-width: 1440px) {
}
@media screen and (max-width: 1240px) {
  #pr .mainInfo .inner .mainTxt .circleImg {
    top: 4vw;
  }
}
@media screen and (max-width: 1120px) {
  #pr .mainInfo .inner {
    width: 100%;
  }
  #pr .mainInfo .inner .ttl {
    width: 90%;
    margin: 0 auto;
  }
  #pr .mainInfo .inner .mainTxt .circleImg {
    width: 140%;
    transform: translate(-14%, 0);
  }
}

/* laptop NotePC */
@media screen and (max-width: 1024px) {
}
@media screen and (max-width: 960px) {
  #pr .mainInfo .inner .mainTxt .txt {
    padding: 220px 5% 0 5%;
  }
  #pr .support .inner .ttl {
    display: block;
  }
  #pr .support .inner .ttl h2 {
    width: 100%;
    margin: 0 0 50px 0;
  }
  #pr .support .inner .ttl p {
    width: 100%;
  }
}

/* tablet */
@media screen and (max-width: 768px) {
  #pr .mainInfo .inner .mainTxt .txt {
    padding: 100px 5% 0 5%;
  }
  #pr .mainInfo .inner .mainTxt .txt h2 {
    margin: 0 auto 150px auto;
  }
  #pr .mainInfo .inner .mainTxt .txt h3 {
    line-height: 1.6;
  }
  #pr .mainInfo .inner .mainTxt .circleImg {
    top: 350px;
  }
  #pr .support .inner .boxSupport {
    margin: 0 auto 70px auto;
    display: block;
  }
  #pr .support .inner .boxSupport4 {
    margin: 0 auto 200px auto;
  }
  #pr .support .inner .boxSupport .img {
    width: 100%;
    margin: 0 0 30px 0;
  }
  #pr .support .inner .boxSupport .txt {
    width: 100%;
    padding: 0;
  }
}

/* mobile L */
@media screen and (max-width: 480px) {
  #pr .mainInfo .inner .mainTxt {
    padding: 0 0 70px 0;
  }
  #pr .mainInfo .inner .mainTxt .circleImg {
    top: 250px;
  }
  #pr .mainInfo .inner .mainTxt .txt {
    padding: 70px 5% 0 5%;
  }
  #pr .mainInfo .inner .mainTxt .txt h2 {
    margin: 0 auto 95px auto;
  }
  #pr .mainInfo .inner .mainTxt .txt h3 {
    margin: 0 0 20px 0;
    font-size: 4.8vw;
  }
  #pr .mainInfo .inner .mainTxt .txt p {
    font-size: 3.6vw;
  }
  #pr .support .lottie-container {
    margin: 0 0 90px 0;
    padding: 0;
  }
  #pr .support .lottie-container > svg {
    width: 600% !important;
    animation: obiLeft 5s linear infinite;
  }
  @keyframes obiLeft {
    100% {right: 85.2%;}
  }
  #pr .support .lottie-container2 {
    padding: 0;
  }
  #pr .support .lottie-container2 > svg {
    width: 600% !important;
    left: -500%;
    animation: obiRight 5s linear infinite;
  }
  @keyframes obiRight {
    100% {left: -414.8%;}
  }
  #pr .support .inner .ttl {
    margin: 0 0 45px 0;
    padding: 0;
  }
  #pr .support .inner .ttl p {
    font-size: 3.8vw;
  }
  #pr .support .inner .boxSupport {
    margin: 0 auto 45px auto;
    padding: 0 0 45px 0;
  }
  #pr .support .inner .boxSupport4 {
    margin: 0 auto 90px auto;
    padding: 0;
  }
  #pr .support .inner .boxSupport .img img {
    margin: 0 auto;
  }
  #pr .support .inner .boxSupport .txt span {
    margin: 0 0 10px 0;
    font-size: 5vw;
  }
  #pr .support .inner .boxSupport .txt h3 {
    margin: 0 0 20px 0;
    font-size: 5.8vw;
    line-height: 1.6;
  }
  #pr .support .inner .boxSupport .txt p {
    font-size: 3.8vw;
  }
}

/* mobile M */
@media screen and (max-width: 375px) {
  #pr .mainInfo .inner .mainTxt .circleImg {
    top: 220px;
  }
  #pr .mainInfo .inner .mainTxt .txt h2 {
    margin: 0 auto 75px auto;
  }
}

/* mobile S */
@media screen and (max-width: 320px) {
}
