@charset "UTF-8";
:root {
  --main-w12: 1200px;
  --main-w10: 1000px;
  --main-w09: 900px;
}

/*共通CSS*/
img {
  max-width: 100%;
  height: auto;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

@media screen and (min-width: 755px) {
  .subcontent {
    max-width: var(--main-w12);
    min-width: var(--main-w10);
    margin: 0 auto;
  }
}
picture {
  display: inline-block;
}

a:hover {
  opacity: 0.8;
}

.strong {
  color: #f77e85;
  font-weight: bold;
}

.note {
  color: #969696;
  font-size: 10px;
}

.slick-slide:focus,
.slick-dots li button {
  outline: none;
}

/*スライダーのボタン*/
.slick-dots {
  width: 80px;
  position: absolute;
  bottom: -60px;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  justify-content: space-between;
}
.slick-dots button {
  text-indent: -9999px;
  position: relative;
  background: none;
  border: none;
}
.slick-dots button::after {
  content: "";
  position: absolute;
  width: 15px;
  height: 15px;
  border-radius: 50vh;
  top: 0;
  left: 0;
  background: #e6e6e6;
}
.slick-dots .slick-active button::after {
  background: #787878;
}

/* 手書き文字
    VDL-PenLetter M
    font-family: "vdl-penletter", sans-serif;
    font-weight: 500;
    font-style: normal;
*/
/*poppins　ふつう
    font-family: "Poppins", sans-serif;
*/
/* poppins イタリック
    font-family: "Poppins", sans-serif;
    font-weight: 600;
    font-style: italic;
*/
/*アニメーション*/
.start01 {
  /*共通猫*/
}
.start01 .catJamp {
  width: 225px;
  padding: 0 0 5px;
  position: relative;
  top: 0;
  left: 50%;
  z-index: 2;
  overflow: hidden;
}
.start01 .catJamp .neko1 {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  overflow: hidden;
}
.start01 .catJamp .neko2 {
  opacity: 0;
  animation: slideIn 0.3s cubic-bezier(0.25, 1, 0.5, 1) forwards;
}
@keyframes slideIn {
  0% {
    transform: translateY(180px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
.start01 .catJamp .nuri {
  width: 100%;
  border: #fff solid 3px;
  position: absolute;
  bottom: 0;
  left: 0;
}
.start01.fadeIn {
  animation: fadeIn 1s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  opacity: 0;
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.start01.stamp {
  opacity: 0;
  visibility: hidden;
  animation: sample_anime02 2s paused both;
  animation-play-state: running;
  animation-delay: 0.3s;
}
@keyframes sample_anime02 {
  0% {
    visibility: visible;
    opacity: 0;
    transform: rotate(30deg) scale(2.5);
  }
  30% {
    visibility: visible;
    opacity: 0.8;
    transform: rotate(-15deg);
  }
  100% {
    visibility: visible;
    opacity: 1;
    transform: rotate(-15deg);
  }
}
@keyframes slideIn_left {
  0% {
    transform: translateX(180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
@keyframes slideIn_right {
  0% {
    transform: translateX(-180px);
    opacity: 0;
  }
  100% {
    transform: translateX(0);
  }
  40%, 100% {
    opacity: 1;
  }
}
@keyframes fuwafuwa01 {
  0% {
    transform: translate(0, 0) rotate(-7deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(7deg);
  }
}
@keyframes fuwafuwa02 {
  0% {
    transform: translate(0, 0) rotate(7deg);
  }
  50% {
    transform: translate(0, -7px) rotate(0deg);
  }
  100% {
    transform: translate(0, 0) rotate(-7deg);
  }
}
@keyframes poyoyon {
  0% {
    transform: scale(1, 1) translate(0, 0);
  }
  15% {
    transform: scale(0.98, 0.9) translate(0, 5px);
  }
  30% {
    transform: scale(1.02, 1) translate(0, 8px);
  }
  50% {
    transform: scale(0.98, 1.05) translate(0, -8px);
  }
  70% {
    transform: scale(1, 0.9) translate(0, 5px);
  }
  100% {
    transform: scale(1, 1) translate(0, 0);
    opacity: 1;
  }
}
@keyframes kiran {
  0% {
    transform: scale(2) rotate(45deg);
    opacity: 0;
  }
  20% {
    transform: scale(20) rotate(45deg);
    opacity: 0.6;
  }
  40% {
    transform: scale(30) rotate(45deg);
    opacity: 0.4;
  }
  80% {
    transform: scale(45) rotate(45deg);
    opacity: 0.2;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

body {
  font-size: 16px;
  font-family: "Noto Sans JP", sans-serif, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
  min-width: 1100px;
  margin: 0;
}
body header .header.pc {
  width: 100%;
  background: rgba(255, 255, 255, 0.3);
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
}
body header .header.pc .subcontent {
  min-width: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body header .header.pc ul {
  display: flex;
  column-gap: 20px;
}
body header .header.pc ul li a {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  width: 175px;
  border-radius: 50vh;
  background: #f78691;
  padding: 15px 0;
  display: inline-block;
  position: relative;
  overflow: hidden;
  z-index: 1;
}
body header .header.pc ul li a::after {
  content: "";
  mask: url(../images/paws_wh.svg) no-repeat center center;
  position: absolute;
  background: #f76f77;
  top: 50%;
  right: -3px;
  width: 35px;
  height: 34px;
  transform: translateY(-50%);
  z-index: -1;
}
body header .header.pc ul li a::before {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  top: -100px;
  left: 0;
  width: 10px;
  height: 100%;
  opacity: 0;
  transition: cubic-bezier(0.32, 0, 0.67, 0);
}
body header .header.pc ul li a:hover {
  opacity: 1;
}
body header .header.pc ul li a:hover::before {
  animation: kiran 0.4s linear;
}
body header .header.pc ul li:last-child a {
  background: #8ab8d9;
}
body header .header.pc ul li:last-child a::after {
  background: #7ab2cf;
}
body main {
  color: #666;
  position: relative;
}
body main::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0), rgb(252, 249, 245));
  width: 100%;
  height: 1000px;
  z-index: -99;
}
body main #mainv {
  background: url("../images/fv_bg_pc.png") no-repeat center top;
  height: 750px;
  position: relative;
  top: 0;
  left: 0;
}
body main #mainv .subcontent {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
body main #mainv .subcontent .fv {
  position: relative;
  width: 435px;
  height: 350px;
  top: 150px;
  left: 50px;
}
body main #mainv .subcontent .sub {
  position: absolute;
  top: 0;
  left: 0;
  animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: 0.2s;
}
body main #mainv .subcontent .main {
  position: absolute;
  width: 460px;
  right: -43px;
  top: 20px;
  animation: fadeIn 2.5s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: 0.5s;
}
body main #mainv .subcontent .main svg {
  filter: drop-shadow(0px 0px 15px #FFF);
}
body main #mainv .subcontent .main svg g {
  filter: drop-shadow(0px 0px 15px #FFF);
  /* 描画アニメーション */
}
body main #mainv .subcontent .main svg g .svg {
  fill: transparent;
  opacity: 0;
  animation: textanimation 1s forwards;
  position: relative;
}
body main #mainv .subcontent .main svg g .svg:nth-child(1) {
  animation-delay: 0.5s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(2) {
  animation-delay: 0.6s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(3) {
  animation-delay: 0.7s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(4) {
  animation-delay: 0.8s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(5) {
  animation-delay: 0.9s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(6) {
  animation-delay: 1s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(7) {
  animation-delay: 1.1s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(8) {
  animation-delay: 1.2s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(9) {
  animation-delay: 1.3s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(10) {
  animation-delay: 1.4s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(11) {
  animation-delay: 1.5s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(12) {
  animation-delay: 1.6s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(13) {
  animation-delay: 1.7s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(14) {
  animation-delay: 1.8s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(15) {
  animation-delay: 1.9s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(16) {
  animation-delay: 2s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(17) {
  animation-delay: 2.1s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(18) {
  animation-delay: 2.1s;
  fill: #f7949e;
}
body main #mainv .subcontent .main svg g .svg:nth-child(19) {
  animation-delay: 2.1s;
  fill: #f7949e;
}
@keyframes textanimation {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
body main #mainv .subcontent .topCat {
  position: absolute;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: end;
  animation: fadeIn 3s cubic-bezier(0.33, 1, 0.68, 1) forwards;
  animation-delay: 2s;
}
body main #mainv .subcontent .topCat .catJamp {
  width: 150px;
  transform: none;
  left: 0;
}
body main #mainv .subcontent .topCat .catJamp .neko2 {
  animation-delay: 2.2s;
}
body main #mainv .subcontent .topCat picture {
  width: 305px;
  transform: translateX(-35px);
}
body main #mainv .tab {
  position: absolute;
  left: 50%;
  bottom: 100px;
  transform: translateX(-50%);
}
body main #mainv .tab .subcontent {
  width: var(--main-w09);
}
body main #mainv .tab .subcontent ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 25px;
}
body main #mainv .tab .subcontent ul li a {
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  width: 195px;
  background: #7ab2cf;
  border-radius: 15px;
  padding: 15px 10px 15px 0;
  position: relative;
  display: inline-block;
}
body main #mainv .tab .subcontent ul li a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 20px;
  mask: url(../images/menu_arrow.svg) no-repeat center center;
  background: #FFF;
  transform: translateY(-50%);
}
body main #mainv .tab .subcontent ul li a:hover {
  transform: translateY(-5px);
  transition: transform 0.3s ease;
  opacity: 1;
}
body main #mainv .tab .subcontent ul li:nth-child(2) a, body main #mainv .tab .subcontent ul li:nth-child(4) a {
  width: 180px;
  padding: 15px 25px 15px 0;
}
body main #mainv .tab .subcontent ul li:nth-child(2) a::after, body main #mainv .tab .subcontent ul li:nth-child(4) a::after {
  right: 12px;
}
body main #mote {
  opacity: 0;
  margin: 0 0 110px;
}
body main #mote .subcontent {
  width: var(--main-w10);
  display: flex;
  justify-content: space-between;
}
body main #mote .subcontent .text {
  width: 390px;
  color: #666;
}
body main #mote .subcontent .text .top {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.9;
  margin: 0 0 50px;
}
body main #mote .subcontent .text .top .strong {
  color: #f77e85;
}
body main #mote .subcontent .text .sub {
  font-size: 18px;
  line-height: 2.2;
}
body main #mote .subcontent .photo {
  padding: 50px 0 0;
  display: flex;
  justify-content: center;
  align-items: end;
  column-gap: 30px;
}
body main #mote .subcontent .photo picture:first-child {
  width: 230px;
  transform: translateY(30px);
}
body main #mote .subcontent .photo picture:last-child {
  width: 280px;
}
body main #important {
  margin: 0 0 125px;
  padding: 70px 0 0;
  overflow-X: hidden;
}
body main #important .subcontent {
  width: var(--main-w10);
}
body main #important .subcontent .boxWrap {
  padding: 25px 0 30px;
  background: #fdeaec;
  border-radius: 25px;
  position: relative;
}
body main #important .subcontent .boxWrap h2 {
  color: #666;
  font-size: 28px;
  font-weight: 500;
  text-align: center;
  letter-spacing: 0.03em;
  margin: 0 0 30px;
}
body main #important .subcontent .boxWrap h2 .strong {
  color: #f7949e;
  font-weight: bold;
  margin: 0 3px;
}
body main #important .subcontent .boxWrap h2 .strong .itali {
  font-size: 40px;
  font-family: "Poppins", sans-serif;
  font-weight: 600;
  font-style: italic;
  transform: translateY(3px);
  display: inline-block;
}
body main #important .subcontent .boxWrap .heart {
  width: 350px;
  position: absolute;
  top: -70px;
  right: -180px;
}
body main #important .subcontent .boxWrap ul {
  display: flex;
  align-items: center;
}
body main #important .subcontent .boxWrap ul li {
  width: 330px;
  font-size: 25px;
  text-align: center;
  line-height: 1.8;
  padding: 40px 0 10px;
  position: relative;
}
body main #important .subcontent .boxWrap ul li .strong {
  color: #f7949e;
  font-weight: bold;
}
body main #important .subcontent .boxWrap ul li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) rotate(-30deg);
  width: 30px;
  height: 30px;
  mask: url(../images/paws_wh.svg) no-repeat center center;
  background: #f7949e;
}
body main #important .subcontent .boxWrap ul li::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 25px;
  top: 0;
  left: 315px;
  background-repeat: repeat-y;
  background-size: 1em 0.3em;
  background-image: radial-gradient(1.5px 1.5px at center center, #666, #666 100%, transparent);
}
body main #important .subcontent .boxWrap ul li:last-child::after {
  display: none;
}
body main #plan01 {
  margin: 0 0 95px;
}
body main #plan01 .subcontent {
  grid-template-columns: 350px auto;
  grid-template-rows: 140px 70px;
  width: 825px;
  display: grid;
  column-gap: 55px;
  justify-content: center;
}
body main #plan01 .subcontent .catch {
  position: relative;
  grid-row: 1/2;
  grid-column: 1/2;
}
body main #plan01 .subcontent .catch .sta {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  line-height: 1.3;
  position: absolute;
  top: -17px;
  left: -65px;
  transform: rotate(-15deg);
  z-index: -1;
  visibility: hidden;
}
body main #plan01 .subcontent .catch .sta::after {
  content: "";
  width: 145px;
  height: 145px;
  border-radius: 50vh;
  border: 5px dotted #fbbec2;
  display: block;
  top: -50px;
  left: -25px;
  position: absolute;
}
body main #plan01 .subcontent .catch .main {
  font-size: 26px;
  font-weight: bold;
  margin: 0 0 0 40px;
}
body main #plan01 .subcontent .catch .main .strong {
  color: #f77e85;
  font-size: 46px;
}
body main #plan01 .subcontent .catch .main .maru {
  padding-top: 12px;
  background-position: top left 1px;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  background-image: radial-gradient(0.12em 0.12em at center center, #666, #666 100%, transparent);
}
body main #plan01 .subcontent .itemWrap {
  font-size: 21px;
  width: 400px;
  grid-row: 1/3;
  grid-column: 2/3;
  font-weight: 500;
  position: relative;
}
body main #plan01 .subcontent .itemWrap::after, body main #plan01 .subcontent .itemWrap::before {
  content: "";
  position: absolute;
  background: #666;
}
body main #plan01 .subcontent .itemWrap::after {
  width: 30px;
  height: 3px;
  top: 82px;
  left: 50%;
  transform: translateX(-45%);
}
body main #plan01 .subcontent .itemWrap::before {
  width: 3px;
  height: 30px;
  top: 84px;
  left: 50%;
  transform: translateY(-50%);
}
body main #plan01 .subcontent .itemWrap .top {
  text-align: center;
  width: 395px;
  padding: 15px 0;
  background: #FFF;
  border: #adcfe0 3px solid;
  border-radius: 15px;
  margin: 0 0 20px;
  box-shadow: 0px 0px 20px 0px rgba(148, 148, 148, 0.3);
}
body main #plan01 .subcontent .itemWrap ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
body main #plan01 .subcontent .itemWrap ul li {
  text-align: center;
  width: 185px;
  padding: 15px 0;
  background: #fcfae7;
  border: #adcfe0 3px solid;
  border-radius: 15px;
  box-shadow: 0px 0px 20px 0px rgba(148, 148, 148, 0.3);
}
body main #plan01 .subcontent .itemWrap ul li .item {
  padding: 0 0 10px;
  letter-spacing: 0.25em;
  position: relative;
}
body main #plan01 .subcontent .itemWrap ul li .item::after {
  content: "";
  position: absolute;
  border-bottom: dotted 2px #333;
  height: 100%;
  top: 0;
  right: 0;
}
body main #plan01 .subcontent .itemWrap ul li .fee {
  color: #f77e85;
  font-size: 30px;
  font-weight: bold;
}
body main #plan01 .subcontent .btn {
  grid-row: 2/3;
  grid-column: 1/2;
}
body main #plan01 .subcontent .btn a {
  font-size: 20px;
  font-weight: bold;
  width: 350px;
  display: inline-block;
  padding: 20px 0;
  background: #7ab2cf;
  text-align: center;
  border-radius: 50vh;
  letter-spacing: 0.07em;
  position: relative;
  transition: all 0.3s ease;
  border: 2px solid #FFF;
}
body main #plan01 .subcontent .btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  width: 20px;
  height: 20px;
  transform: translateY(-50%);
  background: url(../images/paws_wh.svg) no-repeat center center;
}
body main #plan01 .subcontent .btn a:hover {
  color: #7ab2cf;
  background: #FFF;
  border: 2px solid #7ab2cf;
}
body main #plan01 .subcontent .btn a:hover::after {
  mask: url(../images/paws_wh.svg) no-repeat center center;
  background: #7ab2cf;
}
body main #tms {
  margin: 0 0 90px;
  overflow: hidden;
}
body main #tms .subcontent {
  width: var(--main-w09);
  background: #e6f0f5;
  padding: 70px 50px 45px;
  grid-template-columns: 380px auto;
  grid-template-rows: 210px auto;
  display: grid;
  column-gap: 55px;
  border-radius: 30px;
}
body main #tms .subcontent .left {
  grid-row: 1/2;
  grid-column: 1/2;
}
body main #tms .subcontent .left .catch {
  font-size: 20px;
  letter-spacing: 0.5em;
  text-align: center;
  background: linear-gradient(to right, transparent 0%, transparent 0%, rgba(247, 148, 158, 0.5) 12%, #f7949e 25%, #f7949e 75%, rgba(247, 148, 158, 0.5) 88%, transparent 100%, transparent 100%);
  color: #FFF;
  padding: 5px 0;
  width: 280px;
  margin: 0 auto 20px;
}
body main #tms .subcontent .left .main {
  font-size: 26px;
  text-align: center;
  font-weight: 500;
}
body main #tms .subcontent .left .main .bk {
  color: #666;
}
body main #tms .subcontent picture {
  width: 444px;
  grid-row: 1/3;
  grid-column: 2/3;
  margin: 10px 0 0;
}
body main #tms .subcontent .note {
  grid-row: 2/3;
  grid-column: 1/2;
}
body main #feature {
  background: #f5ebdd;
  padding: 100px 0;
  overflow: hidden;
}
body main #feature .subcontent {
  width: var(--main-w12);
}
body main #feature .subcontent h2 {
  font-size: 36px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 75px;
}
body main #feature .subcontent h2 > .strong {
  color: #7ab2cf;
  font-size: 61px;
  font-family: "vdl-penletter", sans-serif;
  margin: 0 0 0 25px;
  letter-spacing: 0.05em;
}
body main #feature .subcontent h2 > .strong .num {
  font-size: 100px;
  font-weight: 500;
  margin: 0 3px;
  vertical-align: sub;
}
body main #feature .subcontent ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 50px;
}
body main #feature .subcontent ul li {
  width: 300px;
  height: 475px;
  padding: 25px 37px 40px;
  background: #FFF;
  border-radius: 20px;
  position: relative;
}
body main #feature .subcontent ul li .fuki {
  position: absolute;
  content: "";
  top: -35px;
}
body main #feature .subcontent ul li .contWrap .title {
  text-align: center;
}
body main #feature .subcontent ul li .contWrap .title .num {
  color: #f5f0b0;
  font-size: 32px;
  font-weight: bold;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.05em;
  -webkit-text-stroke: #7ab2cf 1px;
}
body main #feature .subcontent ul li .contWrap .title .main {
  color: #7ab2cf;
  font-size: 24px;
  font-weight: bold;
  line-height: 1.5;
  margin: 0 0 20px;
}
body main #feature .subcontent ul li .contWrap .text {
  color: #666;
  font-size: 16px;
  height: 160px;
}
body main #feature .subcontent ul li .contWrap .text .line {
  font-weight: bold;
  background: linear-gradient(transparent 60%, #f5f0b0 60%);
}
body main #feature .subcontent ul li .contWrap .text + .text {
  margin-top: 2em;
}
body main #feature .subcontent ul li .contWrap picture {
  width: 100%;
  border-radius: 15px;
}
body main #feature .subcontent ul li:nth-child(2) .contWrap picture {
  transform: translateY(-20px);
}
body main #feature .subcontent ul li:nth-child(odd) .fuki {
  left: 20px;
}
body main #feature .subcontent ul li:nth-child(even) .fuki {
  right: 20px;
}
body main #feature.start01 li { /*ねこひょっこり*/ }
body main #feature.start01 li:nth-child(3) {
  position: relative;
}
body main #feature.start01 li:nth-child(3)::after {
  content: "";
  position: absolute;
  background: url(../images/cat_i02_pc.png) no-repeat center center/100% 100%;
  width: 103px;
  height: 159px;
  top: 35px;
  right: -103px;
  animation: slideIn_right 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  z-index: -1;
  opacity: 0;
}
@media screen and (min-width: 755px) {
  body main #feature ul li {
    opacity: 1 !important;
  }
}
@media screen and (max-width: 1320px) {
  body main #feature .subcontent {
    width: var(--main-w09);
  }
  body main #feature .subcontent ul {
    column-gap: 100px;
    width: 905px;
    margin: 0 auto;
  }
}
body main #plan02 {
  background: #fdfcef;
  margin: 0 0 80px;
  padding: 110px 0;
}
body main #plan02 .subcontent h2 {
  text-align: center;
  font-size: 36px;
  margin: 0 0 30px;
}
body main #plan02 .subcontent .planSlider {
  padding: 60px 0;
  background: #FFF;
}
body main #plan02 .subcontent .planSlider .item {
  width: 600px !important;
}
body main #plan02 .subcontent .planSlider .item:not(.slick-active) {
  opacity: 0.7;
}
body main #plan02 .subcontent .planSlider .item .catch {
  text-align: center;
  color: #FFF;
  width: 350px;
  margin: 0 auto 25px;
  padding: 5px 0 8px;
  font-size: 26px;
  font-weight: bold;
  border-radius: 50vh;
  position: relative;
}
body main #plan02 .subcontent .planSlider .item .catch::after {
  content: "";
  position: absolute;
  bottom: -35px;
  left: 50%;
  border: 18px solid transparent;
  transform: translateX(-50%);
}
body main #plan02 .subcontent .planSlider .item .itemWrap {
  display: flex;
  justify-content: space-between;
  border-radius: 35px;
  height: 480px;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .course {
  color: #FFF;
  text-align: center;
  width: 250px;
  position: relative;
  align-items: center;
  justify-content: center;
  display: flex;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .course::after {
  content: "";
  position: absolute;
  bottom: 5px;
  right: -20px;
  width: 180px;
  height: 180px;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .course > div {
  z-index: 1;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .course > div .main {
  font-size: 26px;
  font-weight: bold;
  margin: 0 0 15px;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont {
  width: 350px;
  border-radius: 35px;
  z-index: 1;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner {
  height: calc(100% - 30px);
  background: #FFF;
  border-radius: 0 33px 33px 0;
  padding: 30px 30px 0;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr {
  width: 280px;
  margin: 0 0 15px;
  padding: 0 0 5px;
  display: inline-block;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr td {
  font-size: 18px;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr td:first-child {
  width: 180px;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr td:last-child {
  font-weight: bold;
  width: 90px;
  text-align: right;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr:not(:last-child) {
  border-bottom: 2px solid #b3b3b3;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner .support {
  font-size: 14px;
  text-align: center;
  margin: 0 0 15px;
  padding: 2px 0;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner ul li {
  font-weight: bold;
  width: 100%;
  margin: 0 0 0 25px;
  position: relative;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner ul li::after {
  content: "";
  position: absolute;
  top: 5px;
  left: -20px;
  width: 17px;
  height: 17px;
}
body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner ul li span.detail {
  font-size: 13px;
  font-weight: 300;
}
body main #plan02 .subcontent .planSlider .item.item01 .catch {
  background: #7ab2cf;
}
body main #plan02 .subcontent .planSlider .item.item01 .catch::after {
  border-top: 25px solid #7ab2cf;
}
body main #plan02 .subcontent .planSlider .item.item01 .itemWrap {
  border: 2px #a0cff0 solid;
  background: #a0cff0;
}
body main #plan02 .subcontent .planSlider .item.item01 .itemWrap .course::after {
  background: url(../images/course_paws01.svg) no-repeat center center/100% 100%;
}
body main #plan02 .subcontent .planSlider .item.item01 .itemWrap .cont {
  background: #a0cff0;
}
body main #plan02 .subcontent .planSlider .item.item01 .itemWrap .cont .inner tbody tr td:last-child {
  color: #7ab2cf;
}
body main #plan02 .subcontent .planSlider .item.item01 .itemWrap .cont .inner .support {
  background: #ecf5fc;
}
body main #plan02 .subcontent .planSlider .item.item01 .itemWrap .cont .inner ul li::after {
  mask: url(../images/check01.svg) no-repeat center center/100% 100%;
  background: #7ab2cf;
}
body main #plan02 .subcontent .planSlider .item.item02 {
  position: relative;
}
body main #plan02 .subcontent .planSlider .item.item02::before {
  content: "";
  position: absolute;
  background: url(../images/recom_pc.png) no-repeat center center/100% 100%;
  width: 94px;
  height: 94px;
  top: 105px;
  left: 30px;
}
body main #plan02 .subcontent .planSlider .item.item02 .catch {
  background: #f74a5c;
}
body main #plan02 .subcontent .planSlider .item.item02 .catch::after {
  border-top: 25px solid #f74a5c;
}
body main #plan02 .subcontent .planSlider .item.item02 .itemWrap {
  border: 2px #f7949e solid;
  background: #f7949e;
}
body main #plan02 .subcontent .planSlider .item.item02 .itemWrap .course::after {
  background: url(../images/course_paws02.svg) no-repeat center center/100% 100%;
}
body main #plan02 .subcontent .planSlider .item.item02 .itemWrap .cont {
  background: #f7949e;
}
body main #plan02 .subcontent .planSlider .item.item02 .itemWrap .cont .inner tbody tr td:last-child {
  color: #f7949e;
}
body main #plan02 .subcontent .planSlider .item.item02 .itemWrap .cont .inner .support {
  background: #fde5e8;
}
body main #plan02 .subcontent .planSlider .item.item02 .itemWrap .cont .inner ul li::after {
  mask: url(../images/check01.svg) no-repeat center center/100% 100%;
  background: #f7949e;
}
body main #plan02 .subcontent .planSlider .item.item03 .catch {
  background: #ff8000;
}
body main #plan02 .subcontent .planSlider .item.item03 .catch::after {
  border-top: 25px solid #ff8000;
}
body main #plan02 .subcontent .planSlider .item.item03 .itemWrap {
  border: 2px #ffb061 solid;
  background: #ffb061;
}
body main #plan02 .subcontent .planSlider .item.item03 .itemWrap .course::after {
  background: url(../images/course_paws03.svg) no-repeat center center/100% 100%;
}
body main #plan02 .subcontent .planSlider .item.item03 .itemWrap .cont {
  background: #ffb061;
}
body main #plan02 .subcontent .planSlider .item.item03 .itemWrap .cont .inner tbody tr td:last-child {
  color: #ff8000;
}
body main #plan02 .subcontent .planSlider .item.item03 .itemWrap .cont .inner .support {
  background: #ffefdf;
}
body main #plan02 .subcontent .planSlider .item.item03 .itemWrap .cont .inner ul li::after {
  mask: url(../images/check01.svg) no-repeat center center/100% 100%;
  background: #ff8000;
}
body main #plan02 .subcontent .planSlider .item + li {
  margin: 0 50px 0 0;
}
body main #voice {
  margin: 0 0 200px;
}
body main #voice .subcontent .cont > p {
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 50px;
}
body main #voice .subcontent .cont picture {
  width: 870px;
  margin: 0 auto 80px;
  display: block;
}
body main #voice .subcontent .itemWrap > p {
  text-align: center;
  font-size: 28px;
  font-weight: bold;
  margin: 0 0 50px;
}
body main #voice .subcontent .itemWrap .item {
  background: #fdfcef;
  border-radius: 50px;
  padding: 60px 135px 20px;
  grid-template-columns: 380px 525px;
  grid-template-rows: 260px auto;
  display: grid;
  column-gap: 25px;
}
body main #voice .subcontent .itemWrap .item .textWrap {
  grid-row: 1/2;
  grid-column: 1/2;
}
body main #voice .subcontent .itemWrap .item .textWrap picture {
  margin: 0 0 10px;
}
body main #voice .subcontent .itemWrap .item .textWrap .text {
  text-align: center;
  font-size: 18px;
  line-height: 1.7;
}
body main #voice .subcontent .itemWrap .item .textWrap .text span {
  font-weight: bold;
}
body main #voice .subcontent .itemWrap .item .photo {
  transform: translateY(-10px);
  grid-row: 1/2;
  grid-column: 2/3;
  position: relative;
}
body main #voice .subcontent .itemWrap .item .photo::before {
  content: "";
  position: absolute;
  bottom: 10px;
  right: 20px;
  width: 87px;
  height: 94px;
  background: url(../images/voice_side02.svg) no-repeat center center/100% 100%;
  animation: fuwafuwa01 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
  animation-delay: 1s;
}
body main #voice .subcontent .itemWrap .item .photo::after {
  content: "";
  position: absolute;
  bottom: 10px;
  left: -20px;
  width: 102px;
  height: 72px;
  background: url(../images/voice_side01.svg) no-repeat center center/100% 100%;
  animation: fuwafuwa02 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
  animation-delay: 1s;
}
body main #voice .subcontent .itemWrap .item .voiceSlider {
  margin: 0;
  grid-row: 2/3;
  grid-column: 1/3;
}
body main #voice .subcontent .itemWrap .item .voiceSlider .slick-list {
  padding: 10px 0 0;
}
body main #voice .subcontent .itemWrap.start01 .textWrap picture {
  animation: poyoyon 1s ease-in-out forwards;
  opacity: 0;
}
body main #flow {
  margin: 0 0 80px;
  padding: 0 0 135px;
  position: relative;
}
body main #flow::before {
  content: "";
  position: absolute;
  top: 140px;
  left: 0;
  width: 100%;
  height: 90px;
  background: url(../images/flow_bg_pc.png) no-repeat center center/100% 100%;
}
body main #flow::after {
  content: "";
  position: absolute;
  top: 228px;
  left: 0;
  width: 100%;
  height: calc(100% - 228px);
  background: #feeff0;
  z-index: -1;
}
body main #flow h2 {
  text-align: center;
  margin: 0 0 50px;
}
body main #flow .catJamp {
  transform: translateX(-50%);
  margin: 0 0 60px;
}
body main #flow .catJamp .neko2 {
  animation-delay: 0.5s;
}
body main #flow .catJamp .nuri {
  border: #feeff0 solid 3px;
}
body main #flow .subcontent {
  width: var(--main-w10);
}
body main #flow .subcontent > .title {
  font-size: 36px;
  text-align: center;
  font-weight: bold;
  margin: 0 0 40px;
}
body main #flow .subcontent .modal > li:not(:last-child) {
  margin: 0 0 30px;
}
body main #flow .subcontent .modal > li > .main {
  font-size: 22px;
  font-weight: bold;
  background: #FFF;
  border-radius: 15px;
  padding: 25px 80px 25px 50px;
  column-gap: 15px;
  align-items: center;
  display: flex;
  position: relative;
  cursor: pointer;
}
body main #flow .subcontent .modal > li > .main .num {
  color: #FFF;
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  background: #f7949e;
  border-radius: 50vh;
  width: 28px;
  height: 28px;
  justify-content: center;
  align-items: center;
  display: flex;
}
body main #flow .subcontent .modal > li > .main::after, body main #flow .subcontent .modal > li > .main::before {
  content: "";
  position: absolute;
  background: #666;
  top: 50%;
  transform: translateY(-50%);
}
body main #flow .subcontent .modal > li > .main::after {
  width: 30px;
  height: 2px;
  right: 50px;
}
body main #flow .subcontent .modal > li > .main::before {
  width: 2px;
  height: 30px;
  right: 64px;
}
body main #flow .subcontent .modal > li > .main.open {
  border-radius: 15px 15px 0 0;
}
body main #flow .subcontent .modal > li > .main.open::before {
  display: none;
}
body main #flow .subcontent .modal > li .contWrap {
  background: #FFF;
  border-radius: 0 0 15px 15px;
  padding: 20px 50px 40px;
  display: none;
  transform: translateY(-8px);
}
body main #flow .subcontent .modal > li .contWrap .flex {
  display: flex;
  flex-direction: row-reverse;
  column-gap: 75px;
}
body main #flow .subcontent .modal > li .contWrap .flex .text {
  width: 460px;
  line-height: 1.7;
}
body main #flow .subcontent .modal > li .contWrap .flex picture {
  width: 365px;
}
body main #flow .subcontent .modal > li .contWrap .plus {
  border: 1px solid #b3b3b3;
  border-radius: 10px;
  margin: 20px 0 0;
  padding: 30px 0 25px;
  column-gap: 50px;
  display: flex;
  cursor: pointer;
}
body main #flow .subcontent .modal > li .contWrap .plus .title {
  width: 170px;
  justify-content: center;
  align-items: center;
  display: flex;
  border-right: 1px solid #b3b3b3;
}
body main #flow .subcontent .modal > li .contWrap .plus .list {
  width: 685px;
}
body main #flow .subcontent .modal > li .contWrap .plus .list .item {
  font-size: 14px;
  width: 725px;
  flex-wrap: wrap;
  display: flex;
}
body main #flow .subcontent .modal > li .contWrap .plus .list .item > p {
  width: 300px;
  line-height: 1.9;
  position: relative;
}
body main #flow .subcontent .modal > li .contWrap .plus .list .item > p::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  background: #666;
  border-radius: 50vh;
  top: 15px;
  left: -20px;
}
body main #flow .subcontent .modal > li .contWrap .plus .list .note {
  color: #666666;
  font-size: 12px;
  margin: 20px 0 0;
  transform: translateX(-25px);
}
body main #flow .subcontent .modal > li .contWrap .point {
  border: 1px solid #f77e85;
  border-radius: 10px;
  margin: 30px 0 0;
  cursor: pointer;
}
body main #flow .subcontent .modal > li .contWrap .point .title {
  font-size: 18px;
  text-align: center;
  padding: 15px 0;
  position: relative;
}
body main #flow .subcontent .modal > li .contWrap .point .title span.pc {
  display: inline;
}
body main #flow .subcontent .modal > li .contWrap .point .title::after, body main #flow .subcontent .modal > li .contWrap .point .title::before {
  content: "";
  position: absolute;
  background: #666;
  top: 50%;
  width: 15px;
  height: 2px;
}
body main #flow .subcontent .modal > li .contWrap .point .title::after {
  right: 60px;
  transform: rotate(-45deg);
}
body main #flow .subcontent .modal > li .contWrap .point .title::before {
  right: 51px;
  transform: rotate(45deg);
}
body main #flow .subcontent .modal > li .contWrap .point .title.open {
  border-radius: 15px 15px 0 0;
}
body main #flow .subcontent .modal > li .contWrap .point .title.open::after {
  transform: rotate(-130deg);
}
body main #flow .subcontent .modal > li .contWrap .point .title.open::before {
  transform: rotate(130deg);
}
body main #flow .subcontent .modal > li .contWrap .point .inner {
  padding: 0 50px 20px;
  display: none;
}
body main #flow .subcontent .modal > li .contWrap .point .inner .block {
  padding: 20px 0 0;
  border-top: 1px solid #b3b3b3;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
body main #flow .subcontent .modal > li .contWrap .point .inner .block ul li {
  font-size: 14px;
  width: 350px;
  margin: 0 0 15px;
}
body main #flow .subcontent .modal > li .contWrap .point .inner .block ul li .main {
  color: #f77e85;
  font-weight: bold;
  margin: 0 0 5px;
}
body main #flow .subcontent .modal > li .contWrap .check {
  padding: 25px 80px 40px;
  background: #fcfae7;
  border-radius: 10px;
  margin: 30px 0 0;
  cursor: pointer;
}
body main #flow .subcontent .modal > li .contWrap .check .title {
  color: #f77e85;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  margin: 0 0 45px;
}
body main #flow .subcontent .modal > li .contWrap .check ul {
  display: flex;
  justify-content: space-between;
  text-align: center;
  line-height: 1.7;
}
body main #flow .subcontent .modal > li .contWrap .check ul li {
  position: relative;
}
body main #flow .subcontent .modal > li .contWrap .check ul li::before {
  content: "";
  position: absolute;
  background: url(../images/check02.svg) no-repeat center center/100% 100%;
  top: -20px;
  left: 50%;
  width: 16px;
  height: 13px;
  transform: translateX(-50%);
}
body main #about {
  margin: 0 0 100px;
}
body main #about .subcontent h2 {
  font-size: 32px;
  text-align: center;
  color: #f7949e;
  margin: 0 0 30px;
}
body main #about .subcontent .aboutSlider {
  width: 1000px;
  margin: 0 auto;
  position: relative;
}
body main #about .subcontent .aboutSlider .inner {
  background: #fdfdf3;
  border: 2px solid #f7949e;
  border-radius: 20px;
  margin: 0 104px;
}
body main #about .subcontent .aboutSlider .inner.cont01 {
  color: #666;
  font-family: "vdl-penletter", sans-serif;
  width: 700px;
  padding: 30px 50px 60px;
  position: relative;
}
body main #about .subcontent .aboutSlider .inner.cont01 .main {
  font-size: 34px;
  text-align: center;
  letter-spacing: 0.2em;
  margin: 0 0 20px;
}
body main #about .subcontent .aboutSlider .inner.cont01 .text {
  font-size: 18px;
  line-height: 1.5;
}
body main #about .subcontent .aboutSlider .inner.cont02 {
  width: 560px;
  padding: 70px 120px 60px;
  position: relative;
}
body main #about .subcontent .aboutSlider .inner.cont02 .main {
  font-size: 26px;
  text-align: center;
  color: #f7949e;
  font-weight: bold;
  margin: 0 0 40px;
}
body main #about .subcontent .aboutSlider .inner.cont02 table tr {
  padding: 15px 0;
  display: inline-block;
  position: relative;
}
body main #about .subcontent .aboutSlider .inner.cont02 table tr::after {
  content: "";
  position: absolute;
  height: 100%;
  width: 566px;
  top: 0;
  left: 0;
  background-repeat: repeat-x;
  background-size: 0.5em 0.1em;
  background-image: radial-gradient(1.5px 1.5px at center center, #666, #666 100%, transparent);
}
body main #about .subcontent .aboutSlider .inner.cont02 table tr td:first-child {
  font-size: 16px;
  font-weight: bold;
  width: 10.2em;
}
body main #about .subcontent .aboutSlider .inner.cont02 table tr td:last-child {
  font-size: 18px;
}
body main #about .subcontent .aboutSlider .inner.cont02 table tr td.top {
  vertical-align: top;
}
body main #about .subcontent .aboutSlider .inner.cont02 table tr:last-child::before {
  content: "";
  position: absolute;
  height: 100%;
  width: 566px;
  top: 60px;
  left: 0;
  background-repeat: repeat-x;
  background-size: 0.5em 0.1em;
  background-image: radial-gradient(1.5px 1.5px at center center, #666, #666 100%, transparent);
}
body main #about .subcontent .aboutSlider .inner.cont02 picture {
  position: absolute;
  top: 100px;
  right: 30px;
}
body main #about .subcontent .aboutSlider .slide-arrow {
  z-index: 3;
  cursor: pointer;
}
body main #about .subcontent .aboutSlider .slide-arrow.next-arrow {
  width: 30px;
  height: 50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 45px;
}
body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::before, body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 0;
  width: 20px;
  height: 2px;
  background: #f7949e;
  transform-origin: 100% 50%;
  z-index: 99;
}
body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::before {
  transform: translateX(-50%) rotate(45deg);
}
body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::after {
  transform: translateX(-50%) rotate(-45deg);
}
body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow {
  width: 30px;
  height: 50px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 45px;
}
body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::before, body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 15px;
  width: 20px;
  height: 2px;
  border-radius: 50vh;
  background: #f7949e;
  transform-origin: 0%;
  z-index: 99;
}
body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::before {
  transform: translateX(-50%) rotate(45deg);
}
body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::after {
  transform: translateX(-50%) rotate(-45deg);
}
body main #about.start01 .subcontent .aboutSlider .inner.cont01::after {
  content: "";
  position: absolute;
  background: url(../images/cat_i02_pc.png) no-repeat center center/100% 100%;
  width: 103px;
  height: 159px;
  top: 35px;
  right: -103px;
  animation: slideIn_right 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  z-index: -1;
  opacity: 0;
}
body footer {
  color: #666;
  text-align: center;
  margin: 0 0 20px;
}

/*レスポンシブ調整*/
@media screen and (max-width: 1170px) {
  body main #important .subcontent .boxWrap .heart {
    top: -70px;
    right: -75px;
  }
}
@media screen and (max-width: 1320px) {
  body main #feature .subcontent {
    width: var(--main-w09);
  }
  body main #feature .subcontent ul {
    column-gap: 100px;
    width: 905px;
    margin: 0 auto;
  }
  body main #feature.start01 li { /*ねこひょっこり*/ }
  body main #feature.start01 li:nth-child(2) {
    position: relative;
  }
  body main #feature.start01 li:nth-child(2)::after {
    content: "";
    position: absolute;
    background: url(../images/cat_i02_pc.png) no-repeat center center/100% 100%;
    width: 103px;
    height: 159px;
    top: 35px;
    right: -103px;
    animation: slideIn_right 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    z-index: -1;
    opacity: 0;
  }
  body main #feature.start01 li:nth-child(3)::after {
    content: none;
  }
}
@media screen and (max-width: 756px) {
  :root {
    --main-w12: 88vw;
    --main-w10: 88vw;
    --main-w09: 88vw;
  }
  /*共通CSS*/
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  /*スライダーのボタン*/
  .slick-dots {
    width: 17.8vw;
    bottom: -12vw;
  }
  .slick-dots button::after {
    width: 3vw;
    height: 3vw;
  }
  .subcontent {
    margin: 0 auto;
  }
  .start01.slid {
    animation: slideIn 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
  }
  @keyframes slideIn {
    0% {
      transform: translateY(180px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
    }
    40%, 100% {
      opacity: 1;
    }
  }
  body {
    min-width: 100%;
    width: 100%;
    font-size: 4.2vw; /*16px*/
  }
  body header .header.sp {
    background: #FFF;
    width: 100%;
    height: 11vw;
    padding: 2vw 0;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99;
  }
  body header .header.sp .subcontent {
    width: 92vw;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  body header .header.sp .subcontent h1 {
    width: 70vw;
    margin: 0;
  }
  body header .header.sp .subcontent .hunMenu {
    width: 8vw;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn {
    width: 100%;
    height: 7vw;
    position: relative;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn span {
    display: block;
    position: absolute;
    height: 1vw;
    width: 100%;
    background: #f7949e;
    border-radius: 50vh;
    transition: 0.3s;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn span.line1 {
    top: 0;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn span.line2 {
    top: 2.5vw;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn span.line3 {
    top: 5vw;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn.active .line1 {
    transform: rotate(45deg);
    top: 2vw;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn.active .line2 {
    opacity: 0;
  }
  body header .header.sp .subcontent .hunMenu .menuBtn.active .line3 {
    transform: rotate(-45deg);
    top: 2vw;
  }
  body header .header.sp .subcontent .navMenu {
    height: 100vh;
    background: rgb(255, 255, 255);
    width: 100vw;
    top: 14vw;
    left: 0px;
    position: fixed;
    z-index: 99;
    display: none;
  }
  body header .header.sp .subcontent .navMenu .list {
    width: 81vw;
    margin: 10.5vw auto 8vw;
  }
  body header .header.sp .subcontent .navMenu .list li a {
    color: #7ab2cf;
    font-size: 4vw;
    font-weight: bold;
    border-bottom: 1px solid #7ab2cf;
    width: 100%;
    margin: 0 0 6vw;
    padding: 0 0 3vw;
    display: inline-block;
    position: relative;
  }
  body header .header.sp .subcontent .navMenu .list li a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: 4vw;
    height: 4vw;
    mask: url(../images/menu_arrow.svg) no-repeat center center;
    background: #7ab2cf;
    transform: translateY(-70%);
  }
  body header .header.sp .subcontent .navMenu .btn {
    width: 72vw;
    margin: 0 auto;
  }
  body header .header.sp .subcontent .navMenu .btn li {
    margin: 0 0 3vw;
  }
  body header .header.sp .subcontent .navMenu .btn li a {
    font-size: 4.2vw;
    font-weight: bold;
    text-align: center;
    border-radius: 50vh;
    background: #f78691;
    width: 100%;
    padding: 4vw 0;
    display: inline-block;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  body header .header.sp .subcontent .navMenu .btn li a::after {
    content: "";
    mask: url(../images/paws_wh.svg) no-repeat center center;
    position: absolute;
    background: #f76f77;
    top: 50%;
    right: -1vw;
    width: 10.6vw;
    height: 10.6vw;
    transform: translateY(-50%);
    z-index: -1;
  }
  body header .header.sp .subcontent .navMenu .btn li:last-child {
    margin: 0;
  }
  body header .header.sp .subcontent .navMenu .btn li:last-child a {
    background: #8ab8d9;
  }
  body header .header.sp .subcontent .navMenu .btn li:last-child a::after {
    background: #7ab2cf;
  }
  body main {
    overflow: hidden;
  }
  body main #float {
    position: fixed;
    left: 0;
    bottom: -5vw;
    z-index: 98;
  }
  body main #float ul {
    display: flex;
    background: rgba(255, 255, 255, 0.6);
    width: 100vw;
    justify-content: center;
    align-items: center;
    column-gap: 4vw;
    padding: 3vw 0;
  }
  body main #float ul li a {
    font-size: 4.2vw;
    font-weight: bold;
    text-align: center;
    border-radius: 50vh;
    background: #f78691;
    width: 45vw;
    padding: 4vw 0;
    display: inline-block;
    position: relative;
    z-index: 1;
    overflow: hidden;
  }
  body main #float ul li a::after {
    content: "";
    mask: url(../images/paws_wh.svg) no-repeat center center;
    position: absolute;
    background: #f76f77;
    top: 50%;
    right: -2vw;
    width: 9.6vw;
    height: 9.6vw;
    transform: translateY(-50%);
    z-index: -1;
  }
  body main #float ul li:last-child {
    margin: 0;
  }
  body main #float ul li:last-child a {
    background: #8ab8d9;
  }
  body main #float ul li:last-child a::after {
    background: #7ab2cf;
  }
  body main #mainv {
    background: url("../images/fv_bg_sp.jpg") no-repeat center -11vw/100%;
    width: 100%;
    height: 177vw;
    margin: 5vw 0 0;
    padding: 5vw 0 0;
  }
  body main #mainv .subcontent {
    background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(237, 221, 83, 0.02) 40%);
  }
  body main #mainv .subcontent .fv {
    width: 100%;
    height: 130vw;
    top: 0;
    left: 0;
  }
  body main #mainv .subcontent .sub {
    width: 50.6vw;
    top: 11vw;
    left: 46vw;
  }
  body main #mainv .subcontent .main {
    width: 114vw;
    top: 54vw;
    right: -8vw;
    filter: drop-shadow(0px 0px 15px #FFFFFF);
    transform: translateZ(0);
  }
  body main #mainv .subcontent .main svg g {
    transform: translateZ(0);
  }
  @keyframes textanimation {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  body main #mainv .subcontent .topCat {
    bottom: -7vw;
    left: 5vw;
  }
  body main #mainv .subcontent .topCat .catJamp {
    width: 36vw;
    border-bottom: 2vw solid #FFf;
  }
  body main #mainv .subcontent .topCat picture {
    width: 66vw;
    transform: translateX(-11vw) translateY(-4vw);
  }
  body main #mainv .tab {
    bottom: 6vw;
  }
  body main #mainv .tab .subcontent {
    width: 87vw;
  }
  body main #mainv .tab .subcontent ul {
    flex-wrap: wrap;
    gap: 2.6vw;
  }
  body main #mainv .tab .subcontent ul li a {
    font-size: 4vw;
    width: 42vw;
    padding: 4vw 0;
    border-radius: 3vw;
  }
  body main #mainv .tab .subcontent ul li a::after {
    right: 3vw;
    width: 3.5vw;
    height: 4vw;
  }
  body main #mainv .tab .subcontent ul li:nth-child(2) a, body main #mainv .tab .subcontent ul li:nth-child(4) a {
    width: 38vw;
    padding: 4vw 4vw 4vw 0;
  }
  body main #mote {
    margin: 0 0 13vw;
  }
  body main #mote .subcontent {
    width: 100%;
    display: block;
  }
  body main #mote .subcontent .text {
    text-align: center;
    width: 100%;
    margin: 0 0 11vw;
  }
  body main #mote .subcontent .text .top {
    font-size: 5.8vw;
    line-height: 1.7;
    margin: 0 0 3vw;
  }
  body main #mote .subcontent .text .sub {
    font-size: 4.2vw;
    line-height: 1.7;
  }
  body main #mote .subcontent .photo {
    padding: 0;
    column-gap: 6vw;
  }
  body main #mote .subcontent .photo picture:first-child {
    width: 40vw;
    transform: translateY(18vw);
  }
  body main #mote .subcontent .photo picture:last-child {
    width: 54vw;
  }
  body main #important .subcontent {
    width: 93vw;
    margin: 0 0 0 7vw;
  }
  body main #important .subcontent .boxWrap {
    padding: 12.5vw 8vw 12vw 5.5vw;
    border-radius: 11vw 0 0 11vw;
    z-index: -1;
  }
  body main #important .subcontent .boxWrap h2 {
    font-size: 5.8vw;
    line-height: 1.4;
  }
  body main #important .subcontent .boxWrap h2 .strong {
    color: #f7949e;
    font-weight: bold;
    margin: 0 0.2vw;
  }
  body main #important .subcontent .boxWrap h2 .strong .itali {
    font-size: 8vw;
    transform: translateY(0.5vw);
  }
  body main #important .subcontent .boxWrap .heart {
    width: 44vw;
    top: 7vw;
    right: -6vw;
  }
  body main #important .subcontent .boxWrap ul {
    display: block;
  }
  body main #important .subcontent .boxWrap ul li {
    font-size: 4.2vw;
    text-align: left;
    width: 100%;
    margin: 0 0 0 12vw;
    padding: 3vw 0;
  }
  body main #important .subcontent .boxWrap ul li::before {
    top: 50%;
    left: -7vw;
    width: 5.3vw;
    height: 5.3vw;
    transform: translateY(-50%) rotate(-30deg);
  }
  body main #important .subcontent .boxWrap ul li::after {
    content: "";
    background: none;
    height: 0.3em;
    width: 79vw;
    top: 13vw;
    left: -8vw;
    background: url(../images/dots_line.svg) no-repeat center center/100% 100%;
  }
  body main #important .subcontent .boxWrap ul li:last-child::after {
    display: inline-block;
  }
  body main #plan01 {
    margin: 0 0 13.5vw;
  }
  body main #plan01 .subcontent {
    width: 80vw;
    margin: 0 auto;
    display: block;
  }
  body main #plan01 .subcontent .catch {
    text-align: center;
  }
  body main #plan01 .subcontent .catch .sta {
    font-size: 3.7vw;
    top: 7vw;
    left: -8.5vw;
    z-index: 1;
  }
  body main #plan01 .subcontent .catch .sta::after {
    width: 28.2vw;
    height: 28.2vw;
    top: -9vw;
    left: -4vw;
    border: 2px dotted #fbbec2;
  }
  body main #plan01 .subcontent .catch .main {
    font-size: 5.3vw;
    margin: 0 0 5vw;
  }
  body main #plan01 .subcontent .catch .main .strong {
    font-size: 8vw;
  }
  body main #plan01 .subcontent .itemWrap {
    width: 100%;
  }
  body main #plan01 .subcontent .itemWrap::after {
    width: 6vw;
    height: 0.5vw;
    top: 39%;
    left: 50%;
    transform: translateX(-50%);
  }
  body main #plan01 .subcontent .itemWrap::before {
    width: 0.5vw;
    height: 6vw;
    top: 40%;
    left: 39.7vw;
  }
  body main #plan01 .subcontent .itemWrap .top {
    font-size: 4.2vw;
    width: 100%;
    margin: 0 0 4vw;
    padding: 3vw 0;
  }
  body main #plan01 .subcontent .itemWrap ul {
    margin: 0 0 8vw;
  }
  body main #plan01 .subcontent .itemWrap ul li {
    width: 36.5vw;
    padding: 4vw 0;
  }
  body main #plan01 .subcontent .itemWrap ul li .item {
    font-size: 4.2vw;
  }
  body main #plan01 .subcontent .itemWrap ul li .fee {
    font-size: 5.8vw;
  }
  body main #plan01 .subcontent .btn a {
    font-size: 4.2vw;
    width: 100%;
    padding: 4vw 0;
  }
  body main #plan01 .subcontent .btn a::after {
    top: 50%;
    right: 4.2vw;
    width: 4.5vw;
    height: 4.5vw;
  }
  body main #tms {
    margin: 0;
  }
  body main #tms .subcontent {
    width: 75vw;
    padding: 9.3vw 6.5vw 10.5vw;
    display: block;
  }
  body main #tms .subcontent .left .catch {
    font-size: 4.5vw;
  }
  body main #tms .subcontent .left .main {
    font-size: 5.8vw;
    margin: 0 0 5vw;
  }
  body main #tms .subcontent picture {
    width: 100%;
    margin: 0 0 3vw;
  }
  body main #feature {
    padding: 15vw 0 9vw;
    background: linear-gradient(to bottom, #FFF 0px, #f5ebdd 5%);
    position: relative;
  }
  body main #feature .subcontent h2 {
    font-size: 5.8vw;
    margin: 0 0 9vw;
    line-height: 1.2;
  }
  body main #feature .subcontent h2 .strong {
    font-size: 12.6vw;
    margin: 0;
  }
  body main #feature .subcontent h2 .strong .num {
    font-size: 20vw;
    margin: 0 0.2vw 0;
  }
  body main #feature .subcontent ul {
    width: 100%;
    row-gap: 8vw;
  }
  body main #feature .subcontent ul li {
    width: 100%;
    height: auto;
    border-radius: 3vw;
    padding: 10.6vw 8vw 10vw;
  }
  body main #feature .subcontent ul li .fuki {
    width: 28.3vw;
    top: -5vw;
  }
  body main #feature .subcontent ul li .contWrap .title {
    text-align: center;
  }
  body main #feature .subcontent ul li .contWrap .title .num {
    font-size: 8.5vw;
    line-height: 1.3;
  }
  body main #feature .subcontent ul li .contWrap .title .main {
    font-size: 6.4vw;
    margin: 0 0 6vw;
  }
  body main #feature .subcontent ul li .contWrap .text {
    font-size: 4.2vw;
    height: auto;
    margin: 0 0 10.6vw;
  }
  body main #feature .subcontent ul li:nth-child(2) .contWrap picture {
    transform: none;
  }
  body main #feature .subcontent ul li:nth-child(2)::after, body main #feature .subcontent ul li:nth-child(3)::after {
    content: none;
  }
  body main #feature .subcontent ul li:nth-child(odd) .fuki {
    left: 2vw;
  }
  body main #feature .subcontent ul li:nth-child(even) .fuki {
    right: 2vw;
  }
  body main #feature.start01::after {
    content: "";
    position: absolute;
    background: url(../images/cat_i02_sp.png) no-repeat center center/100% 100%;
    width: 22.4vw;
    height: 35.4vw;
    top: 30vw;
    right: 0;
    animation: slideIn_left 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    z-index: 1;
    opacity: 0;
  }
  body main #plan02 {
    padding: 10.6vw 0 17vw;
    margin: 0 0 10vw;
  }
  body main #plan02 .subcontent {
    width: 100%;
  }
  body main #plan02 .subcontent h2 {
    font-size: 6.4vw;
    margin: 0;
  }
  body main #plan02 .subcontent .planSlider {
    margin: 0;
    padding: 1vw 0 0;
    background: none;
  }
  body main #plan02 .subcontent .planSlider .slick-dots button::after {
    width: 3vw;
    height: 3vw;
    top: -3vw;
  }
  body main #plan02 .subcontent .planSlider .item {
    width: 80vw !important;
    padding: 7vw 0 0;
  }
  body main #plan02 .subcontent .planSlider .item .catch {
    font-size: 5.3vw;
    width: 100%;
    margin: 0 auto 5vw;
    padding: 2vw 0 3vw;
  }
  body main #plan02 .subcontent .planSlider .item .catch::after {
    bottom: -8vw;
    left: 50%;
    border: 4vw solid transparent;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap {
    width: 100%;
    border-radius: 3vw;
    min-height: 140vw;
    height: 100%;
    display: block;
    overflow: hidden;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .course {
    width: 100%;
    margin: 5vw 0;
    display: block;
    z-index: 1;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .course > div .main {
    font-size: 5.3vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .course > div .sub {
    font-size: 4.2vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .course::after {
    bottom: -8vw;
    right: -4vw;
    width: 30vw;
    height: 30vw;
    z-index: -1;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont {
    width: 100%;
    position: relative;
    z-index: 1;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner {
    width: calc(100% - 10vw);
    border-radius: 5vw 5vw 2.5vw 2.5vw;
    padding: 5vw;
    height: 100%;
    min-height: 140vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr {
    width: 100%;
    margin: 0 0 4vw;
    padding: 0 0 2vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr td {
    font-size: 4.2vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr td:first-child {
    width: 60vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner tbody tr td:last-child {
    width: 40vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner .support {
    font-size: 3.7vw;
    margin: 0 0 5.3vw;
    padding: 0.8vw 0;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner ul li {
    width: calc(100% - 10vw);
    margin: 0 0 0 5.5vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner ul li span.detail {
    font-size: 3.4vw;
  }
  body main #plan02 .subcontent .planSlider .item .itemWrap .cont .inner ul li::after {
    top: 1.5vw;
    left: -5.5vw;
    width: 4.2vw;
    height: 4.2vw;
  }
  body main #plan02 .subcontent .planSlider .item.item01 .catch::after {
    border-top: 5vw solid #7ab2cf;
  }
  body main #plan02 .subcontent .planSlider .item.item02::before {
    content: "";
    position: absolute;
    background: url(../images/recom_sp.png) no-repeat center center/100% 100%;
    width: 16.5vw;
    height: 16.5vw;
    top: 1vw;
    left: 5vw;
    z-index: 1;
  }
  body main #plan02 .subcontent .planSlider .item.item02 .catch::after {
    border-top: 5vw solid #f74a5c;
  }
  body main #plan02 .subcontent .planSlider .item.item03 .catch::after {
    border-top: 5vw solid #ff8000;
  }
  body main #plan02 .subcontent .planSlider .item + li {
    margin: 0 6vw 0 0;
  }
  body main #voice {
    margin: 0 0 18.6vw;
  }
  body main #voice .subcontent {
    width: 88vw;
  }
  body main #voice .subcontent .cont > p {
    font-size: 6.4vw;
    margin: 0 0 8vw;
  }
  body main #voice .subcontent .cont picture {
    width: calc(100% + 7vw);
    transform: translateX(-6vw);
  }
  body main #voice .subcontent .itemWrap > p {
    font-size: 4.8vw;
    margin: 0 0 13vw;
  }
  body main #voice .subcontent .itemWrap .item {
    width: calc(100% + 12vw);
    padding: 40vw 0 17vw;
    border-radius: 0;
    position: relative;
    display: block;
    transform: translateX(-6vw);
  }
  body main #voice .subcontent .itemWrap .item .textWrap {
    width: 84vw;
    margin: 0 auto;
    position: absolute;
    top: -8vw;
    left: 50%;
    transform: translateX(-50%);
  }
  body main #voice .subcontent .itemWrap .item .textWrap picture {
    width: 100%;
    margin: 0 0 2vw;
  }
  body main #voice .subcontent .itemWrap .item .textWrap .text {
    font-size: 4.2vw;
  }
  body main #voice .subcontent .itemWrap .item .photo {
    width: 90vw;
    margin: 0 auto;
    display: block;
  }
  body main #voice .subcontent .itemWrap .item .photo::before {
    bottom: unset;
    top: -8vw;
    right: -2vw;
    width: 16vw;
    height: 18vw;
  }
  body main #voice .subcontent .itemWrap .item .photo::after {
    bottom: unset;
    left: -2vw;
    top: -7vw;
    width: 19.4vw;
    height: 14.6vw;
  }
  body main #voice .subcontent .itemWrap .item .voiceSlider {
    width: 90vw;
    margin: 0 auto;
  }
  body main #voice .subcontent .itemWrap .item .voiceSlider .slick-dots {
    width: 24.8vw;
    bottom: -8vw;
  }
  body main #voice .subcontent .itemWrap .item .voiceSlider .slick-dots::after {
    bottom: -10vw;
  }
  body main #flow {
    margin: 0 0 10.5vw;
    padding: 0 0 21vw;
  }
  body main #flow::before {
    top: 43vw;
    left: 0;
    width: 100%;
    height: 15vw;
    background: url(../images/flow_bg_sp.png) no-repeat center center/100% 100%;
  }
  body main #flow::after {
    top: 57vw;
    height: calc(100% - 57vw);
  }
  body main #flow h2 {
    font-size: 6.4vw;
  }
  body main #flow .catJamp {
    width: 39vw;
    margin: 0 0 5vw;
    border-bottom: 2vw solid #feeff0;
    padding: 0;
  }
  body main #flow .subcontent .title {
    font-size: 5.8vw;
    margin: 0 0 9vw;
  }
  body main #flow .subcontent .modal > li:not(:last-child) {
    margin: 0 0 6vw;
  }
  body main #flow .subcontent .modal > li > .main {
    font-size: 4.8vw;
    width: 71vw;
    padding: 6.6vw 12vw 6.6vw 5vw;
    border-radius: 4vw;
    column-gap: 2vw;
  }
  body main #flow .subcontent .modal > li > .main .num {
    font-size: 4.2vw;
  }
  body main #flow .subcontent .modal > li > .main::after {
    width: 4.8vw;
    height: 0.5vw;
    right: 4vw;
  }
  body main #flow .subcontent .modal > li > .main::before {
    width: 0.5vw;
    height: 4.8vw;
    right: 6.2vw;
  }
  body main #flow .subcontent .modal > li > .main.open {
    border-radius: 15px 15px 0 0;
  }
  body main #flow .subcontent .modal > li .contWrap {
    padding: 2vw 5vw 13vw;
    transform: translateY(-2vw);
  }
  body main #flow .subcontent .modal > li .contWrap .flex {
    display: block;
  }
  body main #flow .subcontent .modal > li .contWrap .flex .text {
    width: 100%;
  }
  body main #flow .subcontent .modal > li .contWrap .flex picture {
    width: 100%;
    margin: 0 0 5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .plus {
    padding: 5vw;
    display: block;
  }
  body main #flow .subcontent .modal > li .contWrap .plus .title {
    font-size: 4.2vw;
    width: calc(100% - 10vw);
    border-bottom: 1px solid #b3b3b3;
    border-right: none;
    padding: 0 5vw 5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .plus .list {
    width: calc(100% - 5vw);
    margin: 0 5vw 5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .plus .list .item {
    width: 100%;
    display: block;
    margin: 0 0 5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .plus .list .item > p {
    width: 100%;
  }
  body main #flow .subcontent .modal > li .contWrap .plus .list .item > p::before {
    width: 1vw;
    height: 1vw;
    top: 3vw;
    left: -5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .plus .list .note {
    font-size: 3.2vw;
    margin: 0;
  }
  body main #flow .subcontent .modal > li .contWrap .point {
    margin: 15vw 0 0;
  }
  body main #flow .subcontent .modal > li .contWrap .point .title {
    font-size: 4.2vw;
    margin: 0;
    padding: 4.8vw 0;
    position: relative;
  }
  body main #flow .subcontent .modal > li .contWrap .point .title::after, body main #flow .subcontent .modal > li .contWrap .point .title::before {
    width: 3vw;
    height: 0.5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .point .title::after {
    right: 7vw;
  }
  body main #flow .subcontent .modal > li .contWrap .point .title::before {
    right: 5.1vw;
  }
  body main #flow .subcontent .modal > li .contWrap .point .title span.pc {
    position: absolute;
    top: -9vw;
    left: 50%;
    transform: translateX(-50%);
  }
  body main #flow .subcontent .modal > li .contWrap .point .title span.pc::before, body main #flow .subcontent .modal > li .contWrap .point .title span.pc::after {
    content: "";
    height: 5vw;
    position: absolute;
    top: 1vw;
    pointer-events: none;
  }
  body main #flow .subcontent .modal > li .contWrap .point .title span.pc::before {
    border-left: 1px solid #000;
    left: -1.5vw;
    transform: rotate(-20deg);
  }
  body main #flow .subcontent .modal > li .contWrap .point .title span.pc::after {
    border-right: 1px solid #000;
    right: -1.5vw;
    transform: rotate(20deg);
  }
  body main #flow .subcontent .modal > li .contWrap .point .inner {
    padding: 0 5vw 11vw;
    display: block;
  }
  body main #flow .subcontent .modal > li .contWrap .point .inner .block {
    padding: 5vw 0 0;
    display: block;
  }
  body main #flow .subcontent .modal > li .contWrap .point .inner .block ul li {
    font-size: 3.7vw;
    margin: 0 0 3vw;
    width: 100%;
  }
  body main #flow .subcontent .modal > li .contWrap .point .inner .block ul li .main {
    margin: 0 0 1vw;
  }
  body main #flow .subcontent .modal > li .contWrap .point .inner .block ul li .sub {
    margin: 0 0 0 0.8em;
  }
  body main #flow .subcontent .modal > li .contWrap .check {
    margin: 10vw 0 0;
    padding: 7vw 4vw 5vw;
  }
  body main #flow .subcontent .modal > li .contWrap .check .title {
    font-size: 4.8vw;
    margin: 0 0 4vw;
  }
  body main #flow .subcontent .modal > li .contWrap .check ul {
    font-size: 4.2vw;
    text-align: left;
    margin: 0 0 0 6vw;
    display: block;
  }
  body main #flow .subcontent .modal > li .contWrap .check ul li::before {
    top: 2.5vw;
    left: -4vw;
    width: 5vw;
    height: 4vw;
  }
  body main #about {
    margin: 0 0 10vw;
  }
  body main #about .subcontent {
    width: 100%;
  }
  body main #about .subcontent h2 {
    font-size: 6.4vw;
    margin: 0 0 5vw;
  }
  body main #about .subcontent .aboutSlider {
    width: 100%;
  }
  body main #about .subcontent .aboutSlider .inner {
    margin: 0 5vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont01 {
    width: 71vw;
    max-width: calc(100% - 11vw);
    padding: 10vw 5vw 7vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont01 .main {
    font-size: 5.8vw;
    margin: 0 0 6vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont01 .text {
    font-size: 4.2vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 {
    width: 71vw;
    max-width: calc(100% - 11vw);
    padding: 10vw 5vw 5vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 .main {
    font-size: 4.8vw;
    margin: 0 0 6vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table {
    margin: 0 0 5vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr {
    margin: 0 0 5vw;
    padding: 3vw 0;
    display: block;
    position: relative;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr::after {
    content: "";
    position: absolute;
    height: 0.3em;
    width: 100%;
    top: -3vw;
    left: 0;
    background: url(../images/dots_line.svg) no-repeat center center/100% 100%;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr:first-child {
    position: relative;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr:first-child::after {
    content: "";
    position: absolute;
    height: 0.3em;
    width: 100%;
    top: -3vw;
    left: 0;
    background: url(../images/dots_line.svg) no-repeat center center/100% 100%;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr td:first-child {
    font-size: 3.5vw;
    width: 6em;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr td:last-child {
    font-size: 3.7vw;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 table tr:last-child::before {
    content: none;
  }
  body main #about .subcontent .aboutSlider .inner.cont02 picture {
    width: 67vw;
    top: 0px;
    left: 2vw;
    position: relative;
  }
  body main #about .subcontent .aboutSlider .slide-arrow.next-arrow {
    width: 7vw;
    height: 10vw;
    top: 50%;
    right: 2vw;
  }
  body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::before, body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::after {
    top: 5vw;
    left: 4vw;
    width: 3.6vw;
    height: 0.7vw;
  }
  body main #about .subcontent .aboutSlider .slide-arrow.next-arrow::before {
    top: 5.1vw;
  }
  body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow {
    width: 7vw;
    height: 10vw;
    top: 50%;
    left: 2vw;
  }
  body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::before, body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::after {
    top: 5vw;
    left: 4vw;
    width: 3.6vw;
    height: 0.7vw;
  }
  body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::before {
    top: 4.7vw;
    transform: translateX(-50%) rotate(45deg);
  }
  body main #about .subcontent .aboutSlider .slide-arrow.prev-arrow::after {
    transform: translateX(-50%) rotate(-45deg);
  }
  body main #about.start01 {
    position: relative;
  }
  body main #about.start01::after {
    content: "";
    position: absolute;
    background: url(../images/cat_i02_sp.png) no-repeat center center/100% 100%;
    width: 22.4vw;
    height: 35.4vw;
    top: 4vw;
    right: 0;
    animation: slideIn_left 1s cubic-bezier(0.25, 1, 0.5, 1) forwards;
    z-index: 1;
    opacity: 0;
  }
  body main #about.start01 .subcontent .aboutSlider .inner.cont01::after {
    content: none;
  }
  body footer {
    margin: 0 0 25vw;
  }
}

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