@charset "UTF-8";
/* Scss Document */
/* -------------------------------

以下、新しいLP

------------------------------- */
/* -------------------------------

全体共通

------------------------------- */
html {
  font-size: 1px;
}
html body {
  text-align: start;
  color: #000;
  font-size: 1rem;
  font-size: 15rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  line-height: 1.5;
  background: #fff;
}
html body a {
  text-decoration: none;
}
html body li {
  list-style-type: none;
}

.wrap {
  position: static;
  overflow: hidden;
  z-index: -99999;
}

.inner {
  max-width: 1200rem;
  margin: 0 auto;
  padding: 0 1vw;
  width: 100%;
}

.page--ttl {
  color: #401807;
  font-size: 32rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 700;
  margin: 89px auto 80px;
  position: relative;
  text-align: center;
  width: 80%;
}
.page--ttl span {
  background: linear-gradient(transparent 0%, transparent 75%, #ffe6a8 75%, #ffe6a8 100%);
  display: block;
}
.page--ttl::before, .page--ttl::after {
  content: "";
  display: block;
  height: 25px;
  position: absolute;
  width: 20px;
}
.page--ttl::before {
  background: url(../img/page--ttl__left.svg);
  left: -36px;
  top: -25px;
}
.page--ttl::after {
  background: url(../img/page--ttl__right.svg);
  bottom: -25px;
  right: -36px;
}

.lower h1,
.lower h2,
.lower h3,
.lower .serif {
  font-family: "Noto Serif JP", serif;
}
.lower table {
  background: #fff;
  margin: 80px auto 0;
  max-width: 800px;
  width: 100%;
}
.lower table tr {
  border-bottom: 1px solid #707070;
}
.lower table tr:first-child {
  border-top: 1px solid #707070;
}
.lower table tr th,
.lower table tr td {
  padding: 20px 40px;
}
.lower table tr th {
  background: #efefef;
  width: 266px;
}

.footer {
  background: linear-gradient(137deg, #00a1d4 0, #1edec9 100%);
  color: #fff;
  padding: 56rem 0 16rem 0;
  text-align: center;
}
.footer__ttl {
  font-size: 32rem;
}
.footer__address {
  margin: 16rem auto 48rem auto;
}
.footer__list {
  display: flex;
  justify-content: center;
}
.footer__list__item {
  border-right: solid 1rem #fff;
  padding: 4rem 16rem;
}
.footer__list__item:last-child {
  border-right: none;
}
.footer__list__item a {
  font-weight: bold;
}
.footer__copy {
  display: block;
  font-size: 12rem;
  margin-top: 80rem;
}

.btn--blue {
  height: 80px;
  margin: 0 auto;
  position: relative;
  text-align: center;
  width: 400px;
}
.btn--blue a {
  background: #3cb6dc;
  color: #fff;
  display: block;
  font-size: 22rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 80px;
  transition: all 0.3s;
  width: 100%;
}
.btn--blue a::after {
  background: url(../img/partner/icon--arrow.svg);
  content: "";
  height: 24px;
  position: absolute;
  right: 24px;
  top: 50%;
  transform: translateY(-50%);
  width: 24px;
}
.btn--blue a:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .inner {
    max-width: 95%;
  }
  .lower table {
    margin: 40px auto 0;
  }
  .lower table tr th,
  .lower table tr td {
    padding: 20px 8px;
  }
  .lower table tr th {
    min-width: 120px;
    width: 40%;
  }
  .btn--blue {
    width: 95%;
  }
  .btn--blue a {
    font-size: 18rem;
    width: 100%;
  }
  .btn--blue a::after {
    right: 16px;
  }
}
/* -------------------------------

ホームページ制作

------------------------------- */
#homepage {
  font-family: "Noto Sans JP", "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans";
  color: #073340;
}
#homepage .subttle {
  font-size: 80rem;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  color: transparent;
  -webkit-text-stroke: 1px #073340;
  padding: 0 72rem;
}
#homepage h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 32rem;
  font-weight: 600;
  line-height: 24rem;
  padding: 0 72rem;
}
#homepage .main {
  overflow: hidden;
  padding-bottom: 40rem;
}
#homepage .main__content {
  background: linear-gradient(45deg, #d1f6ff, #fff);
  border-bottom-left-radius: 1000px 200px;
  border-bottom-right-radius: 1000px 200px;
  margin-left: -100px;
  margin-right: -100px;
  padding-left: 172px;
  padding-right: 172px;
  position: relative;
  overflow: hidden;
}
#homepage .main__content__img--top {
  opacity: 40%;
  transform: rotate(-20deg);
  position: absolute;
  top: -340rem;
  left: -160rem;
}
#homepage .main__content__img--illust {
  position: absolute;
  top: -400rem;
  right: -160rem;
}
#homepage .main__content__img--bottom {
  opacity: 40%;
  transform: rotate(-20deg);
  position: absolute;
  bottom: -120rem;
  right: -160rem;
}
#homepage .main__content__memo {
  display: flex;
  justify-content: space-between;
  padding: 64rem 0;
}
#homepage .main__content__memo__left {
  z-index: 2;
}
#homepage .main__content__memo__right {
  margin-left: -373rem;
  padding-top: 64rem;
  z-index: 2;
}
#homepage .main__content__memo__right h1 {
  margin-top: 32rem;
  font-size: 48rem;
  font-weight: 600;
}
#homepage .main__content__memo__right__subttl {
  background-color: #33b2d9;
  width: fit-content;
  margin: 0 auto;
  padding: 4rem 16rem;
  border-radius: 42rem;
  color: #fff;
  font-size: 24rem;
}
#homepage .main__content__memo__right__txt {
  margin-top: 16rem;
  text-align: center;
}
#homepage .main__content__memo__right ul {
  margin-top: 8rem;
  display: flex;
  justify-content: center;
}
#homepage .main__content__memo__right ul li {
  width: 127rem;
  height: 127rem;
  border-radius: 50%;
  background-color: #fff;
  opacity: 70%;
  box-shadow: 0px 10px 6px rgba(0, 0, 0, 0.2);
  margin-right: -10rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
#homepage .main__content__memo__right ul li p {
  font-size: 14rem;
  text-align: center;
  line-height: 32rem;
  font-weight: 600;
}
#homepage .main__content__memo__right ul li p span {
  font-size: 20rem;
  color: #33b2d9;
}
#homepage .main .btn__doc--orange {
  position: relative;
  z-index: 99;
  top: -40rem;
  text-align: center;
}
#homepage .main .btn__doc--orange a {
  padding: 24rem 160rem;
  color: #fff;
  text-align: center;
  background-color: #f88512;
  border-radius: 42rem;
  font-size: 28rem;
  font-weight: 600;
  box-shadow: 0px 10px 6px rgba(0, 0, 0, 0.2);
  position: relative;
  transition: 0.3s ease-in-out;
  display: inline-block;
}
#homepage .main .btn__doc--orange a::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 26rem;
  right: 40rem;
  top: 50%;
  transform: translate(0, -50%);
  background-image: url(../img/homepage/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
#homepage .main .btn__doc--orange a:hover {
  transform: translateY(10px);
  box-shadow: none;
}
#homepage .onayami {
  margin-top: 48rem;
}
#homepage .onayami__icon {
  position: relative;
}
#homepage .onayami__icon__left {
  position: absolute;
  left: 72rem;
}
#homepage .onayami__icon__right {
  position: absolute;
  right: 72rem;
}
#homepage .onayami h2 {
  font-size: 28rem;
  text-align: center;
  font-weight: 600;
}
#homepage .onayami h2 br {
  display: none;
}
#homepage .onayami h2 span {
  color: #f88512;
  font-size: 48rem;
  border-bottom: solid 4rem #f88512;
  margin-right: 64rem;
  position: relative;
}
#homepage .onayami h2 span::after {
  content: "";
  position: absolute;
  bottom: 30rem;
  width: 56rem;
  height: 67rem;
  background-image: url(../img/homepage/onayami01.png);
  background-repeat: no-repeat;
  background-size: cover;
}
#homepage .onayami__txt {
  width: fit-content;
  margin: 0 auto;
  margin-bottom: 40rem;
}
#homepage .onayami__txt p {
  font-size: 24rem;
  font-weight: 500;
  margin-top: 48rem;
  padding-left: 48rem;
  position: relative;
}
#homepage .onayami__txt p::before {
  content: "";
  position: absolute;
  left: 0rem;
  top: 8rem;
  width: 28rem;
  height: 27rem;
  background-image: url(../img/homepage/onayami_check.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
#homepage .support {
  position: relative;
}
#homepage .support h2 {
  font-size: 32rem;
  font-weight: 600;
  color: #fff;
  position: absolute;
  left: 50%;
  top: 6%;
  font-family: Noto Sans JP, "Noto Sans JP", "Yu Gothic", "ヒラギノ角ゴシック", "Hiragino Sans";
  transform: translate(-50%, -8%);
  padding: 0;
}
#homepage .support h2 span {
  background-color: #073340;
  margin-bottom: 8rem;
  padding: 12rem 20rem;
  display: inline-block;
}
#homepage .support h2 span:last-child {
  background: #33b2d9;
}
#homepage .support__bgimg {
  padding: 80rem 0 0 104rem;
  position: absolute;
  z-index: -99;
}
#homepage .support__list {
  margin-top: 80rem;
  padding: 0 72rem;
}
#homepage .support__list__item {
  margin-bottom: 72rem;
  display: flex;
}
#homepage .support__list__item > div {
  width: 70%;
}
#homepage .support__list__item > div:nth-child(odd) {
  margin-right: 48rem;
}
#homepage .support__list__item > div:nth-child(even) {
  margin-left: 48rem;
}
#homepage .support__list__item__img {
  margin-top: 154rem;
}
#homepage .support__list__item__num {
  font-size: 56rem;
  line-height: 40rem;
  font-weight: 600;
  color: #f88512;
}
#homepage .support__list__item__num span {
  font-size: 24rem;
  color: transparent;
  -webkit-text-stroke: 1px #f88512;
  font-family: "Noto Serif JP", serif;
}
#homepage .support__list__item h3 {
  font-size: 32rem;
  font-weight: 600;
  margin-top: 16rem;
}
#homepage .support__list__item h3 span {
  font-size: 40rem;
  color: #33b2d9;
}
#homepage .support__list__item__txt {
  line-height: 32rem;
  margin-top: 48rem;
}
#homepage .support__list__item__txt span {
  background: linear-gradient(transparent 60%, #ffe6a8 60%);
}
#homepage .price {
  position: relative;
  margin-top: 200rem;
}
#homepage .price__bgimg {
  position: absolute;
  z-index: -9;
  width: 1789rem;
  height: 1661rem;
  top: -180rem;
  left: 50%;
  transform: translate(-50%, 0);
  -webkit-transform: translate(-50%, 0);
  -ms-transform: translate(-50%, 0);
}
#homepage .price__list {
  display: flex;
  justify-content: space-around;
  margin-top: 96rem;
}
#homepage .price__list__item {
  width: calc(33.3333333333% - 40rem);
  text-align: center;
}
#homepage .price__list__item__ttl {
  border-radius: 32rem;
  padding: 16rem 0;
  margin-bottom: 8rem;
}
#homepage .price__list__item__ttl p {
  font-family: "Noto Serif JP", serif;
  color: #fff;
}
#homepage .price__list__item__memo {
  margin-top: 8rem;
  background-color: #fff;
  height: 613rem;
  padding-top: 40rem;
  border-radius: 32rem;
}
#homepage .price__list__item__memo > p {
  font-size: 20rem;
}
#homepage .price__list__item__memo > p span {
  font-size: 56rem;
  padding-right: 4rem;
}
#homepage .price__list__item:nth-child(1) .price__list__item__ttl {
  background-color: #33b2d9;
}
#homepage .price__list__item:nth-child(1) .price__list__item__memo > p {
  color: #ffb162;
}
#homepage .price__list__item:nth-child(2) .price__list__item__ttl {
  background-color: #4b879a;
}
#homepage .price__list__item:nth-child(2) .price__list__item__memo > p {
  color: #f88512;
}
#homepage .price__list__item:nth-child(3) .price__list__item__ttl {
  background-color: #073340;
}
#homepage .price__list__item:nth-child(3) .price__list__item__memo > p {
  color: #dd6e00;
}
#homepage .price__list__item ul {
  margin-top: 72rem;
}
#homepage .price__list__item ul li {
  font-size: 16rem;
  margin-bottom: 8rem;
}
#homepage .price__list__item ul li:first-child {
  font-size: 20rem;
  margin-bottom: 24rem;
}
#homepage .price__list__item ul li:last-child {
  position: relative;
}
#homepage .price__list__item ul li:last-child::after {
  content: "";
  position: absolute;
  margin-left: 8rem;
  top: 4rem;
  width: 18rem;
  height: 18rem;
  background-image: url(../img/homepage/icon01.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
#homepage .price__note {
  text-align: right;
  margin: 16rem 0;
}
#homepage .price__plus {
  text-align: center;
}
#homepage .price__all {
  background-color: #fff;
  padding: 36rem 82rem;
  border-radius: 32rem;
  width: 80%;
  margin: 24rem auto;
}
#homepage .price__all__txt {
  font-size: 20rem;
}
#homepage .price__all__note {
  margin-top: 24rem;
  font-size: 14rem;
}
#homepage .price__teaser {
  padding: 0 72rem;
  margin-bottom: 88rem;
}
#homepage .price__teaser__ttl {
  font-size: 24rem;
  font-weight: 600;
  position: relative;
  margin: 88rem 0 24rem 0;
  padding-left: 50rem;
}
#homepage .price__teaser__ttl::before {
  content: "";
  position: absolute;
  width: 38rem;
  height: 38rem;
  left: 0;
  background-image: url(../img/homepage/icon01.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#homepage .flow {
  padding: 80rem 0 124rem;
  background-image: url(../img/homepage/bg02.png);
  background-repeat: no-repeat;
  background-size: cover;
}
#homepage .flow ul {
  width: 60%;
  margin: 0 auto;
}
#homepage .flow ul li {
  display: flex;
  margin-top: 72rem;
}
#homepage .flow ul li p {
  color: #f88512;
  font-size: 40rem;
  padding-right: 32rem;
  border-right: 1rem solid #f88512;
}
#homepage .flow ul li p + p {
  border-right: none;
  padding-left: 32rem;
}
#homepage .flow ul dl {
  width: 70%;
}
#homepage .flow ul dl dt {
  font-size: 32rem;
  font-weight: 600;
  background: linear-gradient(transparent 60%, #ffe6a8 60%);
  display: inline-block;
}
#homepage .flow ul dl dd {
  margin-top: 8rem;
  font-size: 16rem;
}
#homepage .doc {
  background-color: #073340;
  padding: 104rem 0 96rem;
}
#homepage .doc__txt {
  color: #fff;
  font-size: 32rem;
  font-weight: 600;
  margin-bottom: 96rem;
  text-align: center;
}
#homepage .doc .btn__doc--blue {
  text-align: center;
}
#homepage .doc .btn__doc--blue a {
  padding: 24rem 160rem;
  color: #fff;
  text-align: center;
  background-color: #33b2d9;
  border-radius: 42rem;
  font-size: 28rem;
  font-weight: 600;
  box-shadow: 0px 10px 6px rgba(0, 0, 0, 0.2);
  position: relative;
}
#homepage .doc .btn__doc--blue a::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 26rem;
  right: 40rem;
  top: 50%;
  transform: translate(0, -50%);
  background-image: url(../img/homepage/arrow.svg);
  background-repeat: no-repeat;
  background-size: cover;
}
#homepage .footer {
  background: #33b2d9;
}

/* -------------------------------

LINEbot

------------------------------- */
#line {
  z-index: -9999999;
  background-color: #eef7ed;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
}
#line h2 {
  font-size: 48rem;
  font-weight: 600;
  color: #24a31e;
}
#line h2 + p {
  font-size: 24rem;
  font-weight: 600;
  color: #fffa76;
}
#line .main {
  border-bottom-right-radius: 32rem;
  position: relative;
}
#line .main__img {
  position: absolute;
  right: 0;
  z-index: 97;
}
#line .main__img__item {
  width: fit-content;
}
#line .main__img__item img {
  border-bottom-left-radius: 32rem;
  box-shadow: 0px 3px 6px #eef7ed;
}
#line .main__img h1 {
  position: absolute;
  font-size: 64rem;
  font-weight: 600;
  color: #fff;
  margin-top: -152rem;
  padding-left: 8rem;
  bottom: -45rem;
  left: 16rem;
  z-index: 99;
}
#line .main__img h1 > br {
  display: none;
}
#line .main__img h1 span {
  font-size: 32rem;
}
#line .main__img__img02 {
  position: absolute;
  top: 400rem;
  left: -50rem;
  mix-blend-mode: multiply;
  z-index: 98;
}
#line .main__txt {
  background-color: #24a31e;
  padding: 520rem 56rem 64rem 56rem;
  margin-right: 29rem;
  border-radius: 0 0 36rem 0;
  position: relative;
}
#line .main__txt__comment01 {
  position: absolute;
  left: 80rem;
  bottom: -54rem;
}
#line .main__txt__note {
  position: relative;
  z-index: 99999;
}
#line .main__txt__note p {
  color: #fff;
  text-align: right;
  font-size: 20rem;
  line-height: 32rem;
  margin-bottom: 32rem;
}
#line .main__txt__note p span {
  background: linear-gradient(transparent 60%, rgba(255, 250, 118, 0.3) 60%);
}
#line .feature {
  background-color: #fff;
  padding: 61rem;
  margin: 140rem auto 140rem 29rem;
  border-radius: 36rem 0 0 36rem;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  position: relative;
}
#line .feature .round1 {
  position: absolute;
  mix-blend-mode: multiply;
  border-radius: 50%;
  background-color: #eef7ed;
  z-index: -1;
  left: -100rem;
  width: 544px;
  height: 544px;
}
#line .feature .round2 {
  position: absolute;
  mix-blend-mode: multiply;
  border-radius: 50%;
  background-color: #eef7ed;
  z-index: -1;
  width: 1082px;
  height: 1082px;
  left: -100rem;
  top: 200rem;
}
#line .feature .round3 {
  position: absolute;
  mix-blend-mode: multiply;
  border-radius: 50%;
  background-color: #eef7ed;
  z-index: -1;
  width: 903px;
  height: 903px;
  right: -150rem;
  bottom: -110rem;
}
#line .feature ul li {
  width: 92%;
}
#line .feature ul li h3 .num {
  font-size: 204rem;
  font-weight: 600;
  color: #fffa76;
  -webkit-text-stroke: 1px #000;
}
#line .feature ul li h3 span + span {
  font-size: 32rem;
  background: linear-gradient(transparent 60%, #fffa76 60%);
}
#line .feature ul li > div {
  display: flex;
  justify-content: space-between;
}
#line .feature ul li > div p {
  line-height: 40rem;
  width: 65%;
}
#line .feature ul li > div p span {
  font-size: 20rem;
  color: #24a31e;
  font-weight: 600;
}
#line .feature ul li > div p + p {
  width: 30%;
}
#line .feature ul li:nth-child(2) {
  margin: 0 0 0 auto;
}
#line .feature ul li:nth-child(2) > div p {
  width: 30%;
}
#line .feature ul li:nth-child(2) > div p + p {
  width: 65%;
}
#line .feature__img {
  position: absolute;
  bottom: -69rem;
  right: 90rem;
}
#line .service {
  background-color: #24a31e;
  position: relative;
  border-radius: 32rem 32rem 0 0;
  padding: 0 90rem;
}
#line .service h2 {
  position: absolute;
  top: -56rem;
}
#line .service__content {
  display: flex;
  justify-content: space-between;
  padding: 72rem 24rem;
}
#line .service__content > div {
  position: relative;
}
#line .service__content > div p {
  margin: 0 104rem 0 -80rem;
  z-index: 99;
}
#line .service__content > div .round {
  background-color: #24a31e;
  mix-blend-mode: multiply;
  opacity: 0.4;
  height: 903rem;
  width: 903rem;
  border-radius: 50%;
  position: absolute;
  left: -250rem;
  top: 300rem;
  z-index: -1;
}
#line .service__content ul {
  z-index: 99;
}
#line .service__content ul li h3 {
  color: #fff;
  font-size: 32rem;
  font-weight: 600;
}
#line .service__content ul li h3 span {
  font-size: 94rem;
  opacity: 0.4;
  margin-right: -24rem;
}
#line .service__content ul li h3 span + span {
  font-size: 16rem;
  opacity: 1;
  font-weight: normal;
}
#line .service__content ul li p {
  color: #fff;
  font-size: 20rem;
}
#line .service__content ul li p br {
  display: none;
}
#line .service__content ul li p span {
  font-size: 14rem;
}
#line .service__content ul li dl {
  display: flex;
  color: #fff;
  font-size: 20rem;
  margin: 20rem 0;
}
#line .service__content ul li dl dt {
  font-weight: 600;
  width: 9em;
}
#line .service__content ul li dl dd {
  width: 100%;
}
#line .price {
  background-image: url(../img/line/price_01.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 80rem 72rem;
}
#line .price h2 {
  text-align: center;
  color: #fff;
}
#line .price h2 + p {
  text-align: center;
}
#line .price__content {
  display: flex;
  justify-content: space-around;
  margin-top: 62rem;
}
#line .price__content__memo {
  width: 40%;
  background-color: #fff;
  position: relative;
  height: fit-content;
  border-radius: 36rem;
  opacity: 0.9;
}
#line .price__content__memo:nth-child(2) {
  border: 5rem solid #fffa76;
}
#line .price__content__memo__rec {
  position: absolute;
  height: 136rem;
  width: 136rem;
  background: url(../img/line/price_03.png);
  background-repeat: no-repeat;
  background-size: contain;
  display: grid;
  place-items: center;
  border-radius: 50%;
  right: -50rem;
  top: -80rem;
  font-size: 20rem;
  font-weight: 600;
  color: #f88512;
}
#line .price__content__memo__tag {
  background-color: #f88512;
  width: fit-content;
  padding: 4rem 16rem;
  font-size: 20rem;
  font-weight: bold;
  color: #fff;
  position: absolute;
  left: -50rem;
  top: 130rem;
  transform: rotate(-10deg);
}
#line .price__content__memo__ttl {
  background-color: #24a31e;
  font-size: 24rem;
  font-weight: 600;
  text-align: center;
  color: #fff;
  padding: 32rem;
  width: 100%;
  border-radius: 36rem 36rem 0 0;
}
#line .price__content__memo__txt {
  display: grid;
  place-items: center;
  padding: 40rem 40rem;
}
#line .price__content__memo__txt > p {
  font-size: 20rem;
  padding: 0 40rem;
  color: #24a31e;
  font-weight: 600;
}
#line .price__content__memo__txt > div {
  margin: 32rem 0 0;
}
#line .price__content__memo__txt span {
  font-size: 56rem;
}
#line .price__content__memo__note {
  position: relative;
  bottom: -30rem;
  text-align: right;
  color: #fff;
  font-weight: 600;
}
#line .about {
  margin-top: 140rem;
}
#line .about h2 {
  padding: 0 90rem;
}
#line .about h2 + p {
  padding: 0 90rem;
}
#line .about__content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 124rem;
}
#line .about__content h3 {
  font-size: 40rem;
  font-weight: 600;
  background: linear-gradient(transparent 60%, #fffa76 60%);
  display: inline;
}
#line .about__content__item {
  width: 60%;
}
#line .about__content__item:nth-child(1) {
  padding-left: 80rem;
}
#line .about__content__item:nth-child(2) {
  padding-right: 80rem;
}
#line .about__content__item p {
  font-size: 20rem;
  line-height: 40rem;
  padding-top: 32rem;
}
#line .about__content__item__txt {
  margin-bottom: 150rem;
}
#line .about__content__img1 {
  margin: 120rem 0 0 -200rem;
}
#line .about__content__img2 {
  margin: -120rem -200rem 0 0;
}
#line .about__img {
  display: flex;
  justify-content: space-between;
  position: relative;
  padding: 0 90rem;
}
#line .about__img > div {
  width: 409rem;
  height: 409rem;
  background-color: #eef7ed;
  border-radius: 50%;
  mix-blend-mode: multiply;
  position: absolute;
}
#line .about__img .round1 {
  left: 130rem;
  top: -50rem;
}
#line .about__img .round2 {
  top: 150rem;
}
#line .about__img p {
  z-index: 99;
}
#line .about__txt {
  background-color: #24a31e;
  display: flex;
  justify-content: center;
  border-radius: 0 0 32rem 32rem;
}
#line .about__txt p {
  font-size: 48rem;
  font-weight: 600;
  color: #fff;
  -webkit-text-stroke: 1px #000;
  padding: 32rem 0;
  margin: auto 0;
}
#line .about__txt p span {
  -webkit-text-stroke: 0;
  color: #fffa76;
  text-shadow: 0px 3px 20px #fffa76;
  margin-left: 104rem;
}
#line .about__txt p + p {
  margin-left: 72rem;
}
#line .operation {
  margin-top: 140rem;
  padding: 0 90rem;
}
#line .operation__content {
  display: flex;
  justify-content: space-between;
  margin-top: 72rem;
}
#line .operation__content p {
  margin-left: -140rem;
}
#line .operation__content ul {
  position: relative;
  margin: 0 0 0 auto;
}
#line .operation__content ul li {
  font-size: 24rem;
  font-weight: 600;
  padding: 40rem 72rem 48rem;
  width: 430rem;
  text-align: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin-bottom: 24rem;
  position: absolute;
}
#line .operation__content ul li:nth-child(1) {
  color: #dd1260;
  background-image: url(../img/line/operation_02.png);
  right: 200rem;
  z-index: 2;
}
#line .operation__content ul li:nth-child(2) {
  color: #24a31e;
  background-image: url(../img/line/operation_03.png);
  margin-right: 0;
  right: 0;
  top: 150rem;
  z-index: 2;
}
#line .operation__content ul li:nth-child(3) {
  color: #f88512;
  background-image: url(../img/line/operation_04.png);
  right: 300rem;
  top: 300rem;
  z-index: 2;
}
#line .operation__content ul li:nth-child(4) {
  background-image: url(../img/line/operation_05.png);
  width: 430rem;
  height: 117rem;
  top: -100rem;
  right: -180rem;
}
#line .operation__content ul li:nth-child(5) {
  background-image: url(../img/line/operation_06.png);
  width: 551rem;
  height: 175rem;
  bottom: -20rem;
  right: -120rem;
}
#line .operation__list {
  margin: 48rem 0 0 0;
  width: 100%;
  display: flex;
  align-items: stretch;
}
#line .operation__list__item {
  background-color: #fff;
  padding: 56rem;
  border-radius: 32rem;
  margin: 0 24rem;
  scroll-snap-align: start;
  width: 60%;
  flex: none;
}
#line .operation__list__item h3 {
  font-size: 29rem;
  margin-bottom: 64rem;
}
#line .operation__list__item p {
  font-size: 20rem;
  line-height: 40rem;
}
#line .operation__list__item1 {
  border: 1rem solid #dd1260;
}
#line .operation__list__item2 {
  border: 1rem solid #24a31e;
}
#line .operation__list__item3 {
  border: 1rem solid #f88512;
}
#line .doc {
  margin-top: 80rem;
  background-color: #24a31e;
  padding: 104rem 0 40rem;
  border-radius: 36rem 36rem 0 0;
  position: relative;
}
#line .doc > div {
  display: grid;
  place-items: center;
  position: relative;
  z-index: 99;
  display: block;
  text-align: center;
}
#line .doc > div p {
  color: #fffa76;
  text-shadow: 0px 3px 20px #fffa76;
  font-size: 32rem;
  font-weight: 600;
  margin-bottom: 56rem;
}
#line .doc > div a {
  padding: 32rem 74rem 32rem 50rem;
  background-color: #fff;
  font-size: 32rem;
  font-weight: 600;
  color: #24a31e;
  border-radius: 36rem;
  opacity: 0.9;
  border: 1rem solid #000;
  position: relative;
}
#line .doc > div a::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 26rem;
  right: 40rem;
  top: 50%;
  transform: translate(0, -50%);
  background-image: url(../img/line/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#line .doc .round {
  position: absolute;
  width: 615rem;
  height: 615rem;
  mix-blend-mode: multiply;
  background-color: #24a31e;
  border-radius: 50%;
  left: -50rem;
  bottom: -373rem;
  opacity: 0.4;
  z-index: 98;
}
#line .footer {
  background: #24a31e;
}
#line .footer a,
#line .footer address,
#line .footer ul {
  position: relative;
  z-index: 99;
}

/* -------------------------------

サイネージ

------------------------------- */
#signage {
  background-color: #f2f2fc;
  z-index: -99;
  position: relative;
}
#signage .inner {
  padding: 0 80rem;
}
#signage p {
  color: #14146f;
}
#signage .ttl {
  font-family: "Nova Square", cursive;
  color: #ff6521;
  font-size: 40rem;
  text-align: center;
}
#signage h2 {
  font-size: 40rem;
  font-weight: 600;
  color: #14146f;
  text-align: center;
}
#signage .main {
  position: relative;
  height: 680rem;
  margin: 80rem 0 0 0;
}
#signage .main__bk {
  background-image: url(../img/signage/mainbk.png);
  background-repeat: no-repeat;
  background-size: contain;
  transform: skew(0deg, -10deg);
  height: 100vh;
  width: 100%;
  position: absolute;
  top: 0;
  z-index: -1;
}
#signage .main__bk01 {
  position: absolute;
  top: 0;
  width: 100%;
  height: 60%;
  background-color: #14146f;
  z-index: -98;
  transform: skew(0deg, 10deg);
}
#signage .main__bk02 {
  position: absolute;
  top: -64rem;
  width: 100%;
  height: 60%;
  background-color: #a7d4f2;
  z-index: -99;
  transform: skew(0deg, -10deg);
}
#signage .main__img {
  position: relative;
}
#signage .main__img__monitor {
  position: absolute;
  right: 25%;
  top: 200rem;
  z-index: 99;
}
#signage .main__img__signage {
  position: absolute;
  right: 0;
  top: -100rem;
}
#signage .main__circle {
  position: absolute;
  top: -104rem;
  left: -40rem;
}
#signage .main h1 {
  font-size: 56rem;
  font-weight: 600;
  color: #fff;
  position: absolute;
  top: 0;
}
#signage .main h1 span {
  font-size: 20rem;
}
#signage .merit {
  position: relative;
}
#signage .merit__txt {
  margin-bottom: 104rem;
}
#signage .merit__list {
  margin-top: 99rem;
}
#signage .merit__list__item {
  display: flex;
  margin-bottom: 64rem;
  justify-content: space-between;
}
#signage .merit__list__item__memo {
  width: 80%;
}
#signage .merit__list__item__memo > p {
  line-height: 36rem;
}
#signage .merit__list__item__memo__ttl {
  display: flex;
}
#signage .merit__list__item__memo__ttl .num > p {
  color: #ff6521;
  font-size: 56rem;
  font-family: "Nova Square", cursive;
  margin-right: 29rem;
}
#signage .merit__list__item__memo__ttl h3 {
  font-size: 40rem;
  font-weight: 600;
  color: #14146f;
}
#signage .merit__img {
  margin: 104rem 0;
  position: relative;
}
#signage .merit__img__img01 {
  position: absolute;
  width: 104%;
  height: 40vh;
  z-index: 99;
  transform: skew(0deg, 8deg);
  clip-path: polygon(0 0, 80% 0, 100% 100%, 0 100%);
  background-image: url(../img/signage/mainbk.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 50%;
}
#signage .merit__img__img02 {
  width: 100%;
  height: 40vh;
  background-color: #14146f;
  transform: skew(0deg, -10deg);
}
#signage .merit__img__circle {
  position: absolute;
  top: 100rem;
  right: 0;
  z-index: 99;
}
#signage .merit__bg {
  position: absolute;
  background-color: #f2f2fc;
  mix-blend-mode: multiply;
  width: 500rem;
  height: calc(100% + 180rem);
  right: 0;
  left: 0;
  margin: auto;
  bottom: 0rem;
  transform: rotate(-20deg);
  z-index: -99;
  opacity: 0.4;
}
#signage .service {
  position: relative;
}
#signage .service ul {
  margin-top: 88rem;
  display: flex;
  justify-content: space-between;
}
#signage .service ul li {
  background-color: #fff;
  width: 45%;
  border: 2rem solid #14146f;
  padding: 32rem;
}
#signage .service ul li .num {
  color: #ff6521;
  font-size: 56rem;
  font-family: "Nova Square", cursive;
  text-align: center;
}
#signage .service ul li h3 {
  font-size: 24rem;
  font-weight: 600;
  color: #14146f;
  text-align: center;
}
#signage .service ul li .txt {
  margin-top: 48rem;
  line-height: 32rem;
}
#signage .service__img {
  margin-top: 96rem;
  display: flex;
  justify-content: space-between;
}
#signage .service__img__txt > div p {
  font-size: 24rem;
  font-weight: 600;
}
#signage .service__img__txt > div p + p {
  font-size: 40rem;
  color: #ff6521;
}
#signage .service .imgbk {
  background-color: #a7d4f2;
  transform: skew(0deg, 20deg);
  width: 100%;
  height: 40%;
  position: absolute;
  top: -130rem;
  z-index: -1;
  top: 100%;
}
#signage .price {
  background-color: #14146f;
  transform: skew(0deg, -10deg);
  padding: 80rem 0 64rem 0;
  position: relative;
}
#signage .price h2 {
  color: #fff;
  transform: skew(0deg, 10deg);
}
#signage .price .ttl {
  color: #d1f6ff;
  transform: skew(0deg, 10deg);
}
#signage .price__content {
  transform: skew(0deg, 10deg);
  display: flex;
  justify-content: space-around;
  margin-top: 80rem;
}
#signage .price__content ul li {
  margin-bottom: 32rem;
  padding-left: 48rem;
  position: relative;
}
#signage .price__content ul li::before {
  content: "";
  position: absolute;
  width: 38rem;
  height: 38rem;
  left: 0;
  background-image: url(../img/signage/check.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#signage .price__content ul li p {
  color: #fff;
  font-size: 24rem;
  font-weight: 600;
}
#signage .price__content ul li p + p {
  font-size: 16rem;
}
#signage .price__content dl {
  color: #fff;
}
#signage .price__content dl dt {
  display: inline-block;
  font-size: 24rem;
  font-weight: 600;
  background: linear-gradient(transparent 80%, #ff6521 80%);
}
#signage .price__content dl dt span {
  font-size: 72rem;
}
#signage .price__content dl dd {
  font-size: 16rem;
}
#signage .flow {
  margin: 80rem 0;
  position: relative;
}
#signage .flow ul {
  margin: 104rem auto 0;
  width: 70%;
}
#signage .flow ul li {
  display: flex;
  margin-bottom: 80rem;
}
#signage .flow ul li > div {
  width: 10%;
}
#signage .flow ul li > div p {
  font-size: 56rem;
  color: #ff6521;
  line-height: 64rem;
  font-family: "Nova Square", cursive;
}
#signage .flow ul li > p {
  width: fit-content;
  margin-left: 40rem;
}
#signage .flow ul li dl {
  width: 80%;
  margin-left: 32rem;
  color: #14146f;
}
#signage .flow ul li dl dt {
  margin-bottom: 24rem;
  font-size: 32rem;
  font-weight: 600;
}
#signage .flow ul li dl dt span {
  font-size: 16rem;
}
#signage .flow ul li dl dd {
  font-size: 16rem;
  line-height: 36rem;
}
#signage .flow__bg {
  position: absolute;
  background-color: #f2f2fc;
  mix-blend-mode: multiply;
  width: 500rem;
  height: calc(100% + 600rem);
  right: 0;
  left: 0;
  margin: auto;
  bottom: -300rem;
  transform: rotate(20deg);
  z-index: -99;
  opacity: 0.4;
}
#signage .doc {
  padding: 80rem 0 0;
  margin-top: 104rem;
  position: relative;
}
#signage .doc > p {
  position: absolute;
  top: -140rem;
  z-index: 999;
}
#signage .doc::after {
  content: "";
  position: absolute;
  left: 0;
  top: -10%;
  transform: skewY(-4deg);
  transform-origin: top right;
  z-index: 1;
  width: 100%;
  height: 10%;
  background: #ff6521;
}
#signage .doc div {
  background-color: #ff6521;
  padding: 64rem 0 80rem 0;
  margin-top: 56rem;
  display: block;
  place-items: center;
  position: relative;
  text-align: center;
}
#signage .doc div::after {
  content: "";
  position: absolute;
  left: 0;
  top: -30%;
  transform: skewY(-4deg);
  transform-origin: top right;
  z-index: -1;
  width: 100%;
  height: 100%;
  background: #ff6521;
}
#signage .doc div p {
  color: #f2f2fc;
  font-size: 32rem;
  font-weight: 600;
  margin-bottom: 56rem;
}
#signage .doc div a {
  padding: 32rem 74rem 32rem 50rem;
  background-color: #f2f2fc;
  font-size: 32rem;
  font-weight: 600;
  color: #14146f;
  position: relative;
}
#signage .doc div a::after {
  content: "";
  position: absolute;
  width: 16rem;
  height: 26rem;
  right: 40rem;
  top: 50%;
  transform: translate(0, -50%);
  background-image: url(../img/signage/arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
#signage .footer {
  background: #14146f;
}

/*--------------------------------------

    会社概要

--------------------------------------*/
#company {
  background-color: #fff;
}
#company h1,
#company h2,
#company h3,
#company .serif {
  font-family: "Noto Serif JP", serif;
}
#company .section--ttl {
  font-family: "Noto Serif JP", serif;
  height: 120px;
  position: relative;
  width: 100%;
}
#company .section--ttl h2 {
  color: #401807;
  font-size: 32rem;
  font-weight: 600;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 1;
}
#company .section--ttl span {
  color: #c9f6ff;
  display: block;
  font-size: clamp(40rem, 10vw, 80rem);
  position: absolute;
  top: 0;
  transform: scale(0.95, 1);
}
#company .profile {
  position: relative;
}
#company .profile__bg {
  bottom: -80px;
  position: absolute;
  width: 100%;
  z-index: -1;
}
#company .profile__bg img {
  width: 100%;
}
#company .history {
  background: #fcf9f5;
  clip-path: polygon(0 0, 100% 120px, 100% 100%, 0 100%);
  margin: 48px auto 0;
  padding: 120px 0 100px;
}
#company .history ul {
  margin: 16px auto 0;
  max-width: 800px;
  width: 100%;
}
#company .history ul li {
  display: flex;
  margin-top: 30px;
}
#company .history ul li .date {
  border-right: 1px solid #ffe6a8;
  letter-spacing: 0.1em;
  width: 120px;
}
#company .history ul li .txt {
  padding-left: 35px;
  width: calc(100% - 120px);
}
#company .access {
  background: #fff;
  clip-path: polygon(0 60px, 100% 0, 100% 100%, 0 100%);
  margin-top: -60px;
  padding: 120px 0 0;
  position: relative;
}
#company .access__content {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin: 40px auto 100px;
  max-width: 800px;
}
#company .access__content__map iframe {
  border: none;
  height: 360px;
  width: 336px;
}
#company .access__content__txt {
  letter-spacing: 0.1em;
  padding-left: 64px;
}
#company .access__content__txt h2 {
  color: #401807;
  font-family: "Noto Serif JP", serif;
  font-size: 32rem;
  font-weight: 600;
}
#company .access__content__txt p {
  margin-top: 40px;
  line-height: 2;
}
#company .access__bg {
  height: auto;
  left: 0;
  position: absolute;
  top: 300px;
  width: 100%;
  z-index: -1;
}
#company .access__bg img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  #company .section--ttl {
    height: 80px;
    overflow: hidden;
  }
  #company .section--ttl span {
    font-size: 48rem;
    overflow: hidden;
    top: 8px;
    white-space: nowrap;
  }
  #company .profile__bg {
    bottom: 40px;
  }
  #company .history {
    clip-path: polygon(0 0, 100% 60px, 100% 100%, 0 100%);
    padding: 80px 0 100px;
  }
  #company .history ul li .date {
    width: 110px;
  }
  #company .history ul li .txt {
    padding-left: 16px;
    width: calc(100% - 110px);
  }
  #company .access {
    clip-path: polygon(0 40px, 100% 0, 100% 100%, 0 100%);
    padding: 80px 0 0;
  }
  #company .access__content {
    flex-direction: column;
  }
  #company .access__content__map {
    width: 100%;
  }
  #company .access__content__map iframe {
    width: 100%;
  }
  #company .access__content__txt {
    padding-left: 0;
    margin-top: 24px;
  }
  #company .access__content__txt p {
    margin-top: 16px;
  }
}

/*--------------------------------------

    特定商取引法に基づく表記

--------------------------------------*/
#specific-trade-law .inner table {
  margin-bottom: 100px;
}
#specific-trade-law .inner table tr td a {
  color: #1919b4;
  text-decoration: underline;
  transition: all 0.3s ease;
}
#specific-trade-law .inner table tr td a:hover {
  text-decoration: none;
}

/*--------------------------------------

    販売パートナー

--------------------------------------*/
#partner h1,
#partner h2,
#partner h3,
#partner .serif {
  font-family: "Noto Serif JP", serif;
}
#partner header {
  width: 100%;
  border-top: none;
}
#partner header .header--top {
  background: linear-gradient(94deg, #1edec9 0, #00a1d4 100%);
  height: 28px;
  width: 100%;
}
#partner header .mv {
  position: relative;
}
#partner header .mv__content {
  color: #1b99c1;
  position: absolute;
  left: 4vw;
  letter-spacing: 0.1em;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
#partner header .mv__content .logo {
  margin-bottom: 80px;
}
#partner header .mv__content h1 {
  font-size: 44rem;
  font-weight: 700;
  margin: 16px auto 20px;
}
#partner header .mv__content span {
  color: #000;
  font-size: 24rem;
  font-weight: 600;
}
#partner header .mv__img {
  height: auto;
  margin-left: auto;
  position: relative;
  width: 75%;
}
#partner header .mv__img img {
  height: auto;
  vertical-align: bottom;
  width: 100%;
}
#partner header .mv__img::after {
  background: linear-gradient(90deg, #dfefff 0, #d1fff4 100%);
  content: "";
  height: 100%;
  left: 80px;
  position: absolute;
  top: 64px;
  width: calc(100% - 80px);
  z-index: -1;
}
#partner .intro {
  margin-top: 160px;
  text-align: center;
}
#partner .intro__ttl {
  align-items: flex-end;
  display: flex;
  font-size: 32rem;
  font-weight: 600;
  justify-content: center;
  letter-spacing: 0.1em;
}
#partner .intro__ttl span {
  width: 75px;
}
#partner .intro__ttl span img {
  width: 100%;
}
#partner .intro__ttl__left {
  margin-right: 16px;
}
#partner .intro__ttl__right {
  margin-left: 16px;
}
#partner .intro__img {
  height: auto;
  margin: 80px auto;
  width: 85%;
}
#partner .section--ttl {
  color: #1b99c1;
  font-weight: 700;
  letter-spacing: 0.1em;
}
#partner .section--ttl span {
  color: #d4b567;
  font-size: 24rem;
  font-weight: 600;
}
#partner .section--ttl h2 {
  font-size: 40rem;
}
#partner .section--ttl__sub {
  margin-top: 8px;
}
#partner .about {
  position: relative;
}
#partner .about__content {
  display: flex;
  justify-content: center;
}
#partner .about__content__txt {
  padding-right: 24px;
  width: 60%;
}
#partner .about__content__txt .txt {
  line-height: 2;
  margin: 48px auto;
}
#partner .about__content__img {
  height: auto;
  padding-left: 24px;
  width: 40%;
}
#partner .about__content__img img {
  width: 100%;
}
#partner .about::after {
  background: #f4fdff;
  bottom: 20px;
  content: "";
  display: block;
  height: 300px;
  left: 0;
  position: absolute;
  width: 85%;
  z-index: -1;
}
#partner .feature {
  margin-top: 120px;
  position: relative;
}
#partner .feature__content {
  display: flex;
  justify-content: center;
  margin-top: 80px;
}
#partner .feature__content__txt {
  padding-left: 24px;
  width: 60%;
}
#partner .feature__content__txt ul li .ttl {
  align-items: center;
  color: #d4b567;
  display: flex;
  font-size: 32rem;
}
#partner .feature__content__txt ul li .ttl span {
  font-size: 48rem;
  margin-right: 24px;
}
#partner .feature__content__txt ul li .txt {
  font-size: 20rem;
  margin: 24px auto 120px;
}
#partner .feature__content__img {
  height: auto;
  padding-right: 24px;
  width: 40%;
}
#partner .feature__content__img img {
  width: 100%;
}
#partner .feature::after {
  background: #f4fdff;
  bottom: -80px;
  content: "";
  display: block;
  height: 240px;
  right: 0;
  position: absolute;
  width: 85%;
  z-index: -1;
}
#partner .flow {
  margin-top: 160px;
}
#partner .flow__content {
  margin: 80px auto 120px;
}
#partner .flow__content ul {
  display: flex;
  justify-content: space-around;
}
#partner .flow__content ul .card {
  align-items: center;
  display: flex;
  flex-direction: column;
  width: 30%;
}
#partner .flow__content ul .card__ttl {
  color: #fff;
  font-size: 24rem;
  padding: 8px 0 8px 32px;
  width: 100%;
}
#partner .flow__content ul .card__img {
  padding: 32px 0;
}
#partner .flow__content ul .card__txt {
  flex-grow: 1;
  font-size: 20rem;
  padding: 0 32px 40px;
}
#partner .flow__content ul .card:first-child {
  border: 1px solid #80d9f5;
}
#partner .flow__content ul .card:first-child .card__ttl {
  background: #80d9f5;
}
#partner .flow__content ul .card:nth-child(2) {
  border: 1px solid #33b2d9;
}
#partner .flow__content ul .card:nth-child(2) .card__ttl {
  background: #33b2d9;
}
#partner .flow__content ul .card:nth-child(3) {
  border: 1px solid #1b99c1;
}
#partner .flow__content ul .card:nth-child(3) .card__ttl {
  background: #1b99c1;
}
#partner .request {
  background: linear-gradient(90deg, #dfefff 0, #d1fff4 100%);
  padding: 80px 0 120px;
}
#partner .request .inner p {
  color: #1b99c1;
  font-size: 40rem;
  letter-spacing: 0.1em;
  margin-bottom: 72px;
  text-align: center;
}
#partner .registration {
  background: linear-gradient(137deg, #00a1d4 0, #1edec9 100%);
  padding: 100px 0;
}
#partner .registration p {
  color: #fff;
  font-size: 24rem;
  letter-spacing: 0.1em;
  margin-bottom: 80px;
  text-align: center;
}
#partner .registration__btn {
  box-shadow: 0 0 10px rgba(255, 255, 255, 0.8);
}
@media screen and (max-width: 767px) {
  #partner header .mv__content {
    position: static;
    left: 0;
    margin: 40px auto;
    top: 0;
    transform: translateY(0);
    width: 95%;
  }
  #partner header .mv__content .logo {
    margin-bottom: 40px;
  }
  #partner header .mv__content h1 {
    font-size: 34rem;
    margin: 12px auto 16px;
  }
  #partner header .mv__content span {
    font-size: 18rem;
  }
  #partner header .mv__img {
    width: 95%;
  }
  #partner header .mv__img::after {
    left: 40px;
    top: 40px;
    width: calc(100% - 40px);
  }
  #partner .intro {
    margin-top: 120px;
  }
  #partner .intro__ttl {
    font-size: 28rem;
  }
  #partner .intro__ttl__left {
    margin-right: 4px;
  }
  #partner .intro__ttl__right {
    margin-left: 4px;
  }
  #partner .intro__img {
    margin: 48px auto 80px;
  }
  #partner .section--ttl span {
    font-size: 18rem;
  }
  #partner .section--ttl h2 {
    font-size: 32rem;
  }
  #partner .about__content {
    flex-direction: column;
  }
  #partner .about__content__txt {
    padding-right: 0;
    width: 100%;
  }
  #partner .about__content__txt .txt {
    margin: 24px auto 40px;
  }
  #partner .about__content__img {
    padding-left: 0;
    margin: 24px auto;
    width: 90%;
  }
  #partner .about::after {
    bottom: 80px;
    height: 400px;
    width: 100%;
  }
  #partner .feature {
    margin-top: 80px;
  }
  #partner .feature__content {
    flex-direction: column;
    margin-top: 40px;
  }
  #partner .feature__content__txt {
    padding-left: 0;
    width: 100%;
  }
  #partner .feature__content__txt ul li .ttl {
    font-size: 28rem;
  }
  #partner .feature__content__txt ul li .ttl span {
    font-size: 40rem;
    margin-right: 16px;
  }
  #partner .feature__content__txt ul li .txt {
    margin: 24px auto;
  }
  #partner .feature__content__img {
    margin: 0 auto 24px;
    padding-right: 0;
    width: 90%;
  }
  #partner .feature::after {
    display: none;
  }
  #partner .flow {
    margin-top: 80px;
  }
  #partner .flow__content {
    margin: 40px auto 80px;
  }
  #partner .flow__content ul {
    flex-direction: column;
  }
  #partner .flow__content ul .card {
    margin: 0 auto 24px;
    width: 90%;
  }
  #partner .flow__content ul .card__img {
    padding: 24px 0;
  }
  #partner .flow__content ul .card__ttl {
    padding: 8px 0 8px 24px;
    width: 100%;
  }
  #partner .flow__content ul .card__txt {
    font-size: 18rem;
    padding: 0 24px 32px;
  }
  #partner .request {
    padding: 80px 0;
  }
  #partner .request .inner p {
    font-size: 32rem;
    margin-bottom: 56px;
  }
  #partner .registration {
    padding: 80px 0;
  }
  #partner .registration p {
    font-size: 20rem;
    margin-bottom: 56px;
    text-align: center;
  }
}

/* --------------------------------
導入事例

----------------------------------*/
.sec_case {
  text-align: center;
  letter-spacing: 1.5px;
}
.sec_case h1 {
  border-bottom: solid 7px #33b2d9;
  width: 300px;
  margin: 0 auto;
  margin-bottom: 40px;
}
.sec_case .clinic_name {
  font-size: 16px;
  padding: 10px 0 30px;
}
.sec_case .clinic_name b {
  font-size: 22px;
  margin-top: 2px;
  display: block;
}
.sec_case .span_wrap span {
  margin-right: 6px;
  background: #33b2d9;
  color: #fff;
  padding: 8px;
  display: inline-block;
  font-size: 12px;
}
.sec_case .case_wrap {
  float: left;
  text-align: initial;
}
.sec_case .case_wrap .next_arrow {
  padding: 15px 0 0 294px;
  width: 36px;
}
.sec_case .center {
  margin: 0 40px;
}

/* --------------------------------

スマホ

----------------------------------*/
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 16rem;
  }
  .footer__list {
    border-top: solid 1rem #fff;
    flex-direction: column;
  }
  .footer__list__item {
    border-bottom: solid 1rem #fff;
    border-right: none;
  }
  .footer__list__item a {
    display: block;
    padding: 16rem 0;
  }
  #homepage .subttle {
    padding: 0 16rem;
  }
  #homepage h2 {
    padding: 0 16rem;
  }
  #homepage .main__content {
    padding-left: 116px;
    padding-right: 116px;
  }
  #homepage .main__content__img--top {
    top: -100rem;
    left: 0rem;
  }
  #homepage .main__content__img--illust {
    position: absolute;
    top: -200rem;
    right: 0;
  }
  #homepage .main__content__img--bottom {
    bottom: 0;
    right: 0;
  }
  #homepage .main__content__memo {
    flex-wrap: wrap;
  }
  #homepage .main__content__memo__left {
    width: fit-content;
    margin: 24rem auto 0 0;
    order: 1;
  }
  #homepage .main__content__memo__right {
    padding-top: 0;
    margin-left: 0;
    order: 0;
  }
  #homepage .main__content__memo__right h1 {
    margin-top: 8rem;
    font-size: 32rem;
    text-align: center;
  }
  #homepage .main__content__memo__right__subttl {
    font-size: 16rem;
  }
  #homepage .main__content__memo__right__txt br {
    display: none;
  }
  #homepage .main__content__memo__right ul li {
    width: 100rem;
    height: 100rem;
  }
  #homepage .main__content__memo__right ul li p {
    font-size: 12rem;
    line-height: 20rem;
  }
  #homepage .main__content__memo__right ul li p span {
    font-size: 16rem;
  }
  #homepage .main .btn__doc--orange {
    position: relative;
    z-index: 99;
    top: -40rem;
    text-align: center;
  }
  #homepage .main .btn__doc--orange a {
    padding: 16rem 80rem;
    font-size: 20rem;
    display: block;
    width: 360px;
    margin: 0 auto;
  }
  #homepage .main .btn__doc--orange a::after {
    width: 12rem;
    height: 21rem;
  }
  #homepage .main .btn__doc--orange a.contact {
    margin-top: 20px;
  }
  #homepage .onayami {
    margin-top: 0;
  }
  #homepage .onayami__icon__left {
    left: 16rem;
    bottom: 0;
    width: 40rem;
    height: auto;
  }
  #homepage .onayami__icon__right {
    right: 16rem;
    bottom: 0;
    width: 40rem;
    height: auto;
  }
  #homepage .onayami h2 {
    font-size: 24rem;
    line-height: 48rem;
  }
  #homepage .onayami h2 br {
    display: block;
  }
  #homepage .onayami h2 span {
    margin-right: 0;
    font-size: 32rem;
  }
  #homepage .onayami h2 span::after {
    width: 32rem;
    height: 38rem;
  }
  #homepage .onayami__txt p {
    font-size: 16rem;
    margin-top: 24rem;
    padding-left: 32rem;
  }
  #homepage .onayami__txt p br {
    display: none;
  }
  #homepage .onayami__txt p::before {
    width: 20rem;
    height: 19rem;
  }
  #homepage .onayami__illust {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
  }
  #homepage .support h2 {
    font-size: 24rem;
    position: static;
    transform: translate(0, 0);
    background-image: url(../img/homepage/support.png);
    background-size: cover;
    background-repeat: no-repeat;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    padding: 32rem 16rem;
    text-align: center;
  }
  #homepage .support__img {
    display: none;
  }
  #homepage .support__bgimg {
    padding: 0;
    width: 1000rem;
    height: auto;
    left: -340rem;
  }
  #homepage .support__list {
    padding: 0 16rem;
  }
  #homepage .support__list__item {
    flex-wrap: wrap;
    margin-bottom: 8rem;
  }
  #homepage .support__list__item > div {
    width: 100%;
  }
  #homepage .support__list__item > div:nth-child(odd) {
    margin-right: 0;
  }
  #homepage .support__list__item > div:nth-child(even) {
    margin-left: 0;
  }
  #homepage .support__list__item__img {
    width: fit-content;
    margin: 0 auto;
    margin-top: 32rem;
    order: 2;
  }
  #homepage .support__list__item h3 {
    font-size: 24rem;
  }
  #homepage .support__list__item h3 br {
    display: none;
  }
  #homepage .support__list__item h3 span {
    font-size: 24rem;
  }
  #homepage .support__list__item__txt {
    margin-top: 32rem;
  }
  #homepage .price {
    margin-top: 80rem;
    background-image: linear-gradient(135deg, #fdca9b 2%, #fff 100%);
    border-top-left-radius: 50%;
    border-top-right-radius: 50%;
    margin-left: -1000px;
    margin-right: -1000px;
    padding-left: 1000px;
    padding-right: 1000px;
    padding-top: 80rem;
  }
  #homepage .price__bgimg {
    display: none;
  }
  #homepage .price__list {
    flex-wrap: wrap;
    padding: 0;
    margin-top: 40rem;
  }
  #homepage .price__list__item {
    width: 100%;
    margin-top: 32rem;
  }
  #homepage .price__all {
    width: 100%;
    padding: 24rem 16rem;
  }
  #homepage .price__teaser {
    padding: 0;
    margin-bottom: 88rem;
  }
  #homepage .price__teaser__ttl {
    padding-left: 40rem;
  }
  #homepage .price__teaser__ttl::before {
    width: 24rem;
    height: 24rem;
    top: 8rem;
  }
  #homepage .price__img {
    line-height: 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
  #homepage .flow ul {
    width: 100%;
    margin: 0 auto;
  }
  #homepage .flow ul li {
    flex-wrap: wrap;
  }
  #homepage .flow ul li p {
    font-size: 24rem;
    padding-right: 16rem;
  }
  #homepage .flow ul li p + p {
    width: 80rem;
    height: auto;
    padding-left: 16rem;
  }
  #homepage .flow ul dl {
    width: 100%;
    margin-top: 16rem;
  }
  #homepage .flow ul dl dt {
    font-size: 24rem;
  }
  #homepage .doc__txt {
    font-size: 24rem;
  }
  #homepage .doc .btn__doc--blue {
    text-align: center;
  }
  #homepage .doc .btn__doc--blue a {
    padding: 16rem 80rem;
    font-size: 20rem;
    display: block;
    width: 360px;
    margin: 0 auto;
  }
  #homepage .doc .btn__doc--blue a::after {
    width: 12rem;
    height: 21rem;
  }
  #homepage .doc .btn__doc--blue a.contact {
    margin-top: 20px;
  }
  #line h2 {
    font-size: 32rem;
  }
  #line h2 + p {
    font-size: 16rem;
  }
  #line .main__img h1 {
    font-size: 40rem;
    margin-top: 0;
    top: 160rem;
  }
  #line .main__img h1 > br {
    display: block;
  }
  #line .main__img__img02 {
    top: 120rem;
  }
  #line .main__txt {
    padding: 380rem 0 40rem 0;
  }
  #line .main__txt__comment01 {
    left: 16rem;
  }
  #line .main__txt__note p {
    text-align: left;
  }
  #line .main__txt__note p br {
    display: none;
  }
  #line .feature {
    margin: 80rem 0 0 16rem;
    padding: 32rem 16rem;
  }
  #line .feature ul {
    margin-top: 40rem;
  }
  #line .feature ul li {
    margin-bottom: 40rem;
    width: 100%;
  }
  #line .feature ul li h3 .num {
    font-size: 40rem;
    padding-right: 16rem;
  }
  #line .feature ul li h3 span + span {
    font-size: 24rem;
  }
  #line .feature ul li > div {
    flex-wrap: wrap;
  }
  #line .feature ul li > div p {
    width: 100%;
    margin: 16rem 0;
    line-height: 32rem;
  }
  #line .feature ul li > div p + p {
    width: fit-content;
    margin: 0 auto;
  }
  #line .feature ul li:nth-child(2) {
    margin: 0 0 0 auto;
  }
  #line .feature ul li:nth-child(2) > div p {
    width: 100%;
    margin: 16rem 0;
  }
  #line .feature ul li:nth-child(2) > div p + p {
    width: fit-content;
    order: -1;
  }
  #line .feature__img {
    position: absolute;
    bottom: -69rem;
    right: 16rem;
  }
  #line .service {
    margin-top: 140rem;
    padding: 0;
  }
  #line .service h2 {
    top: -36rem;
    left: 16rem;
  }
  #line .service__content {
    flex-wrap: wrap;
    padding: 40rem 0 80rem 0;
  }
  #line .service__content > div p {
    margin: 0;
  }
  #line .service__content ul li h3 {
    font-size: 24rem;
  }
  #line .service__content ul li h3 span {
    font-size: 64rem;
  }
  #line .service__content ul li p br {
    display: block;
  }
  #line .service__content ul li dl {
    flex-wrap: wrap;
  }
  #line .price {
    padding: 64rem 0;
  }
  #line .price__content {
    flex-wrap: wrap;
  }
  #line .price__content__memo {
    width: 100%;
    margin-bottom: 80rem;
  }
  #line .price__content__memo__rec {
    height: 100rem;
    width: 100rem;
    font-size: 14rem;
    right: -20rem;
    top: -60rem;
  }
  #line .price__content__memo__tag {
    font-size: 14rem;
    left: -10rem;
  }
  #line .price__content__memo__txt {
    padding: 40rem 16rem;
  }
  #line .price__content__memo__ttl {
    font-size: 20rem;
    padding: 40rem 16rem;
  }
  #line .about h2 {
    padding: 0;
  }
  #line .about h2 + p {
    padding: 0;
  }
  #line .about__content {
    flex-wrap: wrap;
    margin-bottom: 80rem;
  }
  #line .about__content h3 {
    font-size: 32rem;
  }
  #line .about__content__item {
    width: 100%;
    order: -1;
  }
  #line .about__content__item:nth-child(1) {
    padding-left: 0;
  }
  #line .about__content__item:nth-child(2) {
    padding-right: 0;
  }
  #line .about__content__item__txt {
    margin-bottom: 80rem;
  }
  #line .about__content__img1 {
    width: 100%;
    margin: 40rem 0 0 0;
  }
  #line .about__content__img2 {
    width: 100%;
    margin: 40rem 0 0 0;
  }
  #line .about__img {
    padding: 0 16rem;
  }
  #line .about__txt {
    flex-wrap: wrap;
  }
  #line .about__txt p {
    font-size: 32rem;
    padding: 32rem 16rem 0;
  }
  #line .about__txt p span {
    margin-left: 40rem;
  }
  #line .about__txt p + p {
    margin: 0 auto;
  }
  #line .operation {
    margin-top: 64rem;
    padding: 0 16rem;
  }
  #line .operation__content {
    flex-wrap: wrap;
    margin-top: 40rem;
  }
  #line .operation__content p {
    margin-left: 0;
    width: 30%;
  }
  #line .operation__content ul {
    width: 70%;
    margin-top: -40rem;
  }
  #line .operation__content ul li {
    font-size: 16rem;
    padding: 16rem;
    width: 100%;
  }
  #line .operation__content ul li:nth-child(1) {
    right: 8rem;
  }
  #line .operation__content ul li:nth-child(2) {
    right: -16rem;
    top: 80rem;
  }
  #line .operation__content ul li:nth-child(3) {
    right: 4rem;
    top: 160rem;
  }
  #line .operation__content ul li:nth-child(4) {
    background-image: url(../img/line/operation_05.png);
    width: 100%;
    right: -80;
  }
  #line .operation__content ul li:nth-child(5) {
    background-image: url(../img/line/operation_06.png);
    width: 100%;
    top: 100rem;
  }
  #line .operation__list {
    margin: 80rem 0 0 0;
  }
  #line .operation__list__item {
    padding: 16rem;
    min-width: 80%;
    margin: 0 16rem;
  }
  #line .operation__list__item h3 {
    font-size: 20rem;
    margin-bottom: 32rem;
  }
  #line .operation__list__item h3 svg {
    width: 24rem;
  }
  #line .operation__list__item p {
    font-size: 16rem;
    line-height: 24rem;
  }
  #line .doc {
    padding: 64rem 16rem;
  }
  #line .doc > div p {
    font-size: 24rem;
    text-align: center;
  }
  #line .doc > div a {
    font-size: 24rem;
    display: block;
  }
  #signage .inner {
    padding: 0 16rem;
  }
  #signage .ttl {
    font-size: 24rem;
  }
  #signage h2 {
    font-size: 32rem;
  }
  #signage .main {
    height: 440rem;
    margin: 48rem 0 0 0;
  }
  #signage .main__img {
    top: 80rem;
  }
  #signage .main__img__monitor {
    width: 200rem;
    top: 150rem;
    left: 0rem;
  }
  #signage .main__img__signage {
    width: 200rem;
    top: 0;
  }
  #signage .main__circle {
    width: 300rem;
  }
  #signage .main h1 {
    font-size: 40rem;
    top: -16rem;
    line-height: 40rem;
  }
  #signage .merit__list {
    margin-top: 64rem;
  }
  #signage .merit__list__item {
    flex-wrap: wrap;
  }
  #signage .merit__list__item__memo {
    width: 100%;
    order: -1;
  }
  #signage .merit__list__item__memo__ttl .num > p {
    font-size: 32rem;
  }
  #signage .merit__list__item__memo__ttl h3 {
    font-size: 24rem;
  }
  #signage .merit__list__item__memo__ttl h3 br {
    display: none;
  }
  #signage .merit__list__item__img {
    margin: 32rem auto;
  }
  #signage .merit__img__circle {
    width: 300rem;
    right: -40rem;
    z-index: 99;
  }
  #signage .service ul {
    flex-wrap: wrap;
  }
  #signage .service ul li {
    width: 100%;
    margin-bottom: 40rem;
  }
  #signage .service__img {
    margin-top: 40rem;
    flex-wrap: wrap;
    justify-content: center;
  }
  #signage .service__img__txt {
    margin-bottom: 40rem;
  }
  #signage .service__img__txt > div {
    text-align: center;
  }
  #signage .service__img__txt > div p + p {
    font-size: 32rem;
  }
  #signage .service__img__txt__img {
    display: none;
  }
  #signage .price__content {
    flex-wrap: wrap;
    margin-top: 48rem;
    margin-bottom: 64rem;
  }
  #signage .price__content ul li {
    margin-bottom: 14rem;
  }
  #signage .price__content dl {
    margin-top: 40rem;
  }
  #signage .flow ul {
    width: 100%;
  }
  #signage .flow ul li {
    flex-wrap: wrap;
  }
  #signage .flow ul li > div {
    width: fit-content;
  }
  #signage .flow ul li > div p {
    font-size: 32rem;
    line-height: 40rem;
    text-align: center;
  }
  #signage .flow ul li dl {
    width: 100%;
    margin-left: 0;
  }
  #signage .flow ul li dl dt {
    font-size: 24rem;
  }
  #signage .doc {
    margin-top: 164rem;
  }
  #signage .doc > div {
    padding: 0rem;
    padding-bottom: 40rem;
  }
  #signage .doc > div p {
    font-size: 24rem;
    text-align: center;
  }
  #signage .doc > div a {
    font-size: 24rem;
    display: block;
    margin: 0 20rem;
  }
  #signage .doc > div .contact {
    margin-top: 20rem;
  }
  /* --------------------------------

  導入事例

  ----------------------------------*/
  .sec_case h1 {
    font-size: 1.5em;
    width: 50%;
  }
  .sec_case .case_wrap {
    float: none;
    text-align: center;
    margin: 0 auto;
    margin-bottom: 40px;
  }
  .sec_case .clinic_name {
    font-size: 14px;
    padding-bottom: 10px;
  }
  .sec_case .clinic_name b {
    font-size: 16px;
  }
}/*# sourceMappingURL=lower.css.map */