body {
  background: #F0EDED;
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  font-size: 0.8333333333vw;
  letter-spacing: 0.04em;
  line-height: 1;
  font-weight: 500;
}
body * {
  box-sizing: border-box;
}

img {
  width: 100%;
}

a {
  color: #333;
  text-decoration: none;
}
@media (any-hover: hover) {
  a:hover {
    opacity: 0.8;
    transition: all 0.3s;
  }
}

ul, li {
  list-style-type: none;
  margin: 0;
  padding: 0;
}

.inner {
  width: 78.125vw;
  margin-inline: auto;
  position: relative;
}

.serif {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho Pro", serif;
}

header {
  background:rgb(255, 255, 255);
  color: #4d4d4d;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 6.3020833333vw;
  border-bottom: 1px solid #827374;
  z-index: 999;
}
header .inner {
  width: 87.3958333333vw;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
header .logo {
  width: 23.59375vw;
  margin: 0 0 0 0.5208333333vw;
}
header .logo p {
  font-size: 1.0416666667vw;
  font-weight: 300;
  margin-bottom: 0.9895833333vw;
}
header #gnav ul {
  display: flex;
  align-items: center;
  gap: 2.0833333333vw;
}
header #gnav li {
  font-size: 1.09375vw;
  font-weight: 700;
}
header #gnav .ask a {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: #001E43;
  width: 13.0208333333vw;
  height: 4.3229166667vw;
  border-radius: 0.5208333333vw;
}

#fv {
}
#fv .inner {
  padding: 1.0416666667vw 0 0;
}
#fv h1 {
  width: 85.3645833333vw;
  margin: 0 0 0 0.5729166667vw;
  position: relative;
  z-index: 5;
}

#about {
  background: url(../img/about_bg.jpg) no-repeat center 0/100% 100%;
  height: 74.2708333333vw;
  color: #fff;
  text-align: center;
  margin: -9.53125vw auto -13.8541666667vw;
  position: relative;
  z-index: 2;
}
#about .inner {
  padding: 6.7708333333vw 0 0;
}
#about .txt01 {
  font-size: 1.875vw;
  letter-spacing: 0.04em;
  margin-bottom: 1.4583333333vw;
}
#about .feat {
  display: flex;
  align-items: flex-end;
  gap: 1.4583333333vw;
  margin: 0 0 1.0416666667vw 18.2291666667vw;
}
#about .sub {

  align-items: center;
  justify-content: center;
  width: 22.3958333333vw;
  height: 100%;
  color: #001E43;
  letter-spacing: 0.02em;
  margin-bottom: 0.2604166667vw;
  display: inline-block;
  padding: 2vw 1vw;
  text-align: left;
  background: linear-gradient(to right, white 80%, #ffffff);
  font-weight: bold;
  border-radius: 5px;
  clip-path: polygon(0 0, 90% 0, 100% 50%, 90% 100%, 0 100%);
  font-size: 2.3958333333vw;
}
#about .num {
  font-size: 5.7291666667vw;
  letter-spacing: 0.04em;
  font-weight: 900;
}
#about .num span {
  font-size: 3.2291666667vw;
}
#about .num i {
  font-style: normal;
  font-weight: 500;
  font-size: 1.875vw;
}
#about h2 {
  font-size: 3.2291666667vw;
  line-height: 4.4270833333vw;
  margin: 3.0208333333vw 0 4.84375vw;
}
#about h2 strong {
  display: block;
  width: 20.9895833333vw;
  margin-inline: auto;
}
#about h2 span {
  font-size: 1.875vw;
  font-weight: normal;
}
#about .partner {
  background: #fff;
  width: 72.9166666667vw;
  box-shadow: 0.3645833333vw 0.3645833333vw 0 #666B9A;
  padding: 0 0 1.9270833333vw;
}
#about .partner h3 {
  background: #665EBF;
  border-radius: 0vw 0vw 1.5625vw 1.5625vw;
  width: 18.75vw;
  height: 6.7708333333vw;
  margin-inline: auto;
  font-size: 2.0833333333vw;
  padding: 1.4583333333vw 0 0;
}
#about .partner h3 span {
  display: block;
  font-weight: 400;
  font-size: 1.0416666667vw;
  margin-top: 0.8333333333vw;
}
#about .partner ul {
  width: 73vw;
  margin: 0.625vw auto 0;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
}
#about .partner ul li{
  width: 14vw;
  height: 10vw;
  position: relative;
}
#about .partner ul li img {
  width: 91%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

#reason {
  background: #CCD2D9;
  padding: 18.4375vw 0 10.8333333333vw;
  overflow-x: hidden;
}
#reason #reason_ttl {
  font-size: 3.2vw;
  color: rgb(0, 30, 67);
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho Pro", serif;
  width: 100%;
  margin: -9.375vw auto 7.65625vw;
  padding-top: 9.375vw;
  text-align: center;
}
#reason .block {
  width: 81.25vw;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
#reason .figure {
  width: 38.0208333333vw;
}
#reason .txt_wrap {
  width: 33.8541666667vw;
  margin-left: 4.6875vw;
}
#reason .txt_wrap .num {
  font-size: 3.2vw;
    color: rgb(0, 30, 67);
    font-family: YuMincho, "Yu Mincho", "Hiragino Mincho Pro", serif;
}
#reason .txt_wrap .num strong {
  font-size: 4.5vw;
}
#reason .txt_wrap h3 {
  font-size: 2.9166666667vw;
  letter-spacing: 0.02em;
  margin: 1.71875vw 0 1.9791666667vw;
}
#reason .txt_wrap h3 span {
  font-size: 70%;
}
#reason .txt_wrap .txt p {
  font-size: 1.25vw;
  line-height: 2.0833333333vw;
  letter-spacing: 0.06em;
}
#reason #reason01 {
  margin-bottom: 5.7291666667vw;
}
#reason #reason01 .figure {
  background: #fff;
  height: 18.0208333333vw;
  border-radius: 1.0416666667vw;
  padding: 1.71875vw 0 0;
}
#reason #reason01 table.data {
  width: 33.8541666667vw;
  margin-inline: auto;
  border-collapse: collapse;
  border: none;
}
#reason #reason01 table.data tr:nth-of-type(3) th, #reason #reason01 table.data tr:nth-of-type(3) td {
  border-top: 1px solid #5F9CB9;
  border-bottom: 1px solid #5F9CB9;
}
#reason #reason01 table.data th {
  width: 16.1458333333vw;
  text-align: left;
}
#reason #reason01 table.data th p {
  background: url(../img/ico_mov.png) no-repeat 0 0/2.34375vw;
  background-size: 2.34375vw;
  color: #001E43;
  font-size: 0.9895833333vw;
  font-weight: 500;
  height: 2.3958333333vw;
  padding: 0.625vw 0 0 3.90625vw;
}
#reason #reason01 table.data td {
  font-size: 2.0833333333vw;
  letter-spacing: 0.04em;
  font-weight: 700;
  text-align: center;
  height: 4.1666666667vw;
}
#reason #reason01 table.data td span {
  font-size: 1.5625vw;
}
#reason #reason01 table.data .thead td {
  font-weight: 500;
  height: auto;
  padding-bottom: 0.5208333333vw;
}
#reason #reason01 table.data .view p {
  width: 6.25vw;
  height: 2.0833333333vw;
  background: #DEBCDC;
  border-radius: 100vh;
  text-align: center;
  font-size: 1.3020833333vw;
  letter-spacing: 0.04em;
  padding: 0.2604166667vw 0 0;
  color: #93278F;
  margin-inline: auto;
}
#reason #reason01 table.data .retention p {
  width: 8.3333333333vw;
  height: 2.0833333333vw;
  background: #D0CDEB;
  border-radius: 100vh;
  text-align: center;
  font-size: 1.3020833333vw;
  letter-spacing: 0.04em;
  padding: 0.2604166667vw 0 0;
  color: #665EBF;
  margin-inline: auto;
}
#reason #reason01 .txt_wrap {
  padding-top: 1.09375vw;
}
#reason #reason02 {
  margin-bottom: 5.7291666667vw;
}
#reason #reason02 .txt_wrap {
  width: 38.0208333333vw;
  padding-top: 4.21875vw;
  margin: 0;
}
#reason #reason02 .txt_wrap .txt {
  width: 33.8541666667vw;
}
#reason #reason02 .txt_wrap .txt p {
  letter-spacing: 0.1em;
}
#reason #reason03 .txt_wrap {
  padding-top: 2.2395833333vw;
}
#reason #reason03 h3 {
  margin-top: 1.40625vw;
}
.figure img {
  height: 92%;
}

.figure {
  background: #fff;
  height: 18.0208333333vw;
  border-radius: 1.0416666667vw;
  padding: 1.71875vw 0 0;
}

.company-logo {
  width: 100px
}

.company-logo {
  width: 224px;
}

#case {
  background: #F0EDED;
  padding: 9.84375vw 0 8.6979166667vw;
}
#case h2 {
  width: 18.3333333333vw;
  margin: 0 auto 4.1666666667vw;
}
#case .tiktok_list {
  width: 67.7083333333vw;
  margin-inline: auto;
  display: flex;
  flex-flow: row wrap;
  gap: 4.4270833333vw 4.1666666667vw;
}
#case .tiktok_list li {
  width: 19.7916666667vw;
}
#case .tiktok_list p {
  color: #001E43;
  font-size: 1.25vw;
  font-weight: 600;
  padding: 0 0 0 2.1875vw;
  height: 1.875vw;
}
#case .tiktok_list p span {
  font-size: 70%;
}
@media screen and (max-width: 1500px) {
  #case .tiktok_list {
    width: 72.9166666667vw;
    gap: 4.4270833333vw 2.0833333333vw;
  }
  #case .tiktok_list li {
    width: 22.9166666667vw;
  }
}
@media screen and (max-width: 1280px) {
  #case .tiktok_list {
    width: 90vw;
    gap: 4.4270833333vw 2.0833333333vw;
  }
  #case .tiktok_list li {
    width: 28.125vw;
    min-width: 325px;
  }
}
#case .mov {
  width: 100%;
  background: #fff;
  margin-bottom: 1.1979166667vw;
}
#case .ttl {
  white-space: nowrap;
  font-size: 1.5625vw;
  line-height: 1.9791666667vw;
  border-bottom: 1px solid #999;
  padding-bottom: 0.8333333333vw;
  margin: 0 0 0.7291666667vw;
}
#case .ttl span {
  font-size: 1.3020833333vw;
  display: block;
  margin-bottom: 0.1041666667vw;
}
#case .times {
  background: url(../img/case_ico01.png) no-repeat 0 
  margin: 0.2083333333vw 0;
}


#comment {
  background: url(../img/comment_bg.jpg) no-repeat center 0/100% 100%;
  height: 96.3541666667vw;
  padding: 10.15625vw 0 0;
}
#comment h2 {
  width: 13.4895833333vw;
  margin: 0 auto 2.6041666667vw;
}
#comment .txt_wrap {
  height: 49.1145833333vw;
  margin-bottom: 5.7291666667vw;
}
#comment .txt {
  position: absolute;
  font-size: 1.25vw;
  line-height: 2.0833333333vw;
  letter-spacing: 0.08em;
}
#comment .txt strong {
  font-size: 1.6666666667vw;
  color: #001E43;
}
#comment .txt img {
  width: 1.1979166667vw;
  display: inline-block;
  margin-right: 0.2083333333vw;
}
#comment .txt01 {
  top: 2.4vw;
  left: 5.1875vw;
}
#comment .txt02 {
  top: 5.3645833333vw;
  left: 37.65625vw;
}
#comment .txt03 {
  top: 10.2vw;
  left: 13.71875vw;
}
#comment .txt04 {
  top: 18.2291666667vw;
  left: 12.989583vw;
}
#comment .txt05 {
  top: 15.1041666667vw;
  left: 48.1770833333vw;
}
#comment .txt06 {
  top: 28.945833vw;
  left: 3.1875vw;
}
#comment .txt07 {
  top: 26.8vw;
  left: 25.739583vw;
}
#comment .txt08 {
  top: 26.5625vw;
  left: 61.71875vw;
}
#comment .txt09 {
  top: 32.5520833333vw;
  left: 36.6145833333vw;
}
#comment .txt10 {
  top: 40.1041666667vw;
  left: 3.6458333333vw;
}
#comment .txt11 {
  top: 37.8vw;
  left: 20.1041666667vw;
}
#comment .txt12 {
  top: 36.71875vw;
  left: 59.5520833333vw;
}
#comment .txt13 {
  top: 44.53125vw;
  left: 28.125vw;
}
#comment h3 {
  text-align: center;
  color: #fff;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.6770833333vw;
  font-size: 2.5vw;
  line-height: 4.4270833333vw;
  letter-spacing: 0.08em;
  font-weight: 400;
}

#plan {
  background: #F0EDED;
  padding: 10.15625vw 0 0;
  overflow-x: hidden;
}
#plan h2 {
  width: 18.28125vw;
  margin-inline: auto;
}
#plan .txt_wrap {
  background: url(../img/plan_img.png) no-repeat center 0/100%;
  width: 78.28125vw;
  height: 63.3854166667vw;
  margin: 4.6354166667vw 0 0 3.90625vw;
  padding: 0 0 0 5.6770833333vw;
  display: flex;
  gap: 10.9375vw;
}
#plan .plan {
  width: 23.9583333333vw;
}
#plan .plan h3 {
  color: #fff;
  text-align: center;
  font-size: 1.875vw;
  line-height: 2.2916666667vw;
  font-weight: 500;
  padding: 0.625vw 0 0;
  margin: 0 0 18.8541666667vw;
  height: 6.25vw;
}
#plan .plan .sub {
  text-align: center;
  font-size: 1.5625vw;
  letter-spacing: 0.04em;
  width: 17.1875vw;
  height: 3.125vw;
  padding: 0.625vw 0 0;
  margin: 0 auto;
}
#plan .plan ul {
  height: 19.7395833333vw;
  font-size: 1.25vw;
  line-height: 1.9791666667vw;
  padding: 1.40625vw 0 0;
}
#plan .plan ul li {
  text-indent: -1em;
  padding-left: 1em;
}
#plan .plan .txt {
  font-size: 1.25vw;
  width: 17.1875vw;
  padding: 1.4583333333vw 0 0;
  margin: 0 auto;
}
#plan .plan01 ul {
  margin: 0 0 0 3.4895833333vw;
}
#plan .plan02 ul {
  margin: 0 0 0 2.8645833333vw;
}

#form_area {
  background: #F0EDED;
  padding: 8.3333333333vw 0 4.21875vw;
}
#form_area .inner {
  background: #E1DBDB;
  border-radius: 1.5625vw;
  padding: 8.0208333333vw 0 4.5833333333vw;
  margin-bottom: 3.90625vw;
}
#form_area h2 {
  width: 22.1354166667vw;
  margin-inline: auto;
}
#form_area .txt {
  text-align: center;
  font-size: 1.25vw;
  line-height: 2.0833333333vw;
  margin: 5.7291666667vw 0 5.7291666667vw;
}
#form_area .txt span {
  color: #665EBF;
}
#form_area .link a {
  display: block;
  background: url(../img/btn_link.png) no-repeat center 0/100%;
  width: 47.2395833333vw;
  height: 8.1770833333vw;
  margin: 0 auto;
  color: #5F9CB9;
  font-size: 1.8229166667vw;
  letter-spacing: 0.04em;
  font-weight: 700;
  padding: 2.8125vw 0 0 12.65625vw;
}

#form {
  border: none;
  border-collapse: collapse;
  width: 54.8958333333vw;
  margin-inline: auto;
}
#form th {
  width: 15.625vw;
  text-align: left;
  vertical-align: top;
  font-size: 1.25vw;
  font-weight: 500;
  margin: 0;
  padding: 1.8229166667vw 0 0;
}
#form th::after {
  content: "*";
  color: #665EBF;
  margin-left: 0.2604166667vw;
}
#form td {
  padding: 1.3020833333vw 0;
  margin: 0;
}
#form input[type=name], #form input[type=text], #form input[type=email], #form input[type=tel] {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0.5208333333vw;
  outline: none;
  width: 39.0625vw;
  height: 3.6458333333vw;
  padding: 0 0.5208333333vw;
  font-size: 1.25vw;
}
#form input[type=name]:focus, #form input[type=text]:focus, #form input[type=email]:focus, #form input[type=tel]:focus {
  box-shadow: 0 0 0.2604166667vw rgba(0, 0, 0, 0.2);
}
#form input[type=radio] {
  width: 1.0416666667vw;
  height: 1.0416666667vw;
  appearance: none;
  -webkit-appearance: none;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 50%;
  margin-right: 0.9375vw;
  position: relative;
}
#form input[type=radio]:checked::before {
  content: "";
  position: absolute;
  top: 0.15625vw;
  left: 0.15625vw;
  display: inline-block;
  width: 0.625vw;
  height: 0.625vw;
  background: #4D4D4D;
  border-radius: 50%;
}
#form label {
  display: flex;
  align-items: center;
  cursor: pointer;
  font-size: 1.25vw;
  margin: 0.5208333333vw 0 0.8333333333vw;
}
#form textarea {
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 0.5208333333vw;
  outline: none;
  width: 39.0625vw;
  height: 11.9791666667vw;
  padding: 0.5208333333vw;
  font-size: 1.25vw;
}

.form_btn {
  display: block;
  width: 17.1875vw;
  height: 5.2083333333vw;
  border: none;
  color: #fff;
  background: #001E43;
  margin-inline: auto;
  font-size: 1.5104166667vw;
  border-radius: 0.5208333333vw;
  cursor: pointer;
}
@media (any-hover: hover) {
  .form_btn:hover {
    opacity: 0.8;
  }
}
.form_btn:disabled {
  pointer-events: none;
}

.recaptcha {
  margin: 2.4479166667vw auto 2.96875vw;
  text-align: center;
}
.recaptcha .g-recaptcha {
  display: flex;
  justify-content: center;
}
.recaptcha img {
  margin-inline: auto;
  width: 16.09375vw;
}
.recaptcha p {
  font-size: 1.25vw;
  margin: 0.5208333333vw 0 0;
  font-weight: 400;
}

footer {
  position: relative;
  padding: 10px;
  text-align: center;
  color: #000000;
  z-index: 0;
}
footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: url('../img/logo.jpg'); /* ç”»åƒã®ãƒ‘ã‚¹ */
  background-size: cover;
  background-position: center;
  opacity: 0.2;
  z-index: -1;
}
.contents {
  font-size: 24px;
  line-height: 34px;
}
.contents a {
  margin: 10px;
}

.thanks-wrap {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.thanks-wrap footer {
  margin-top: auto;
}

.thanks {
  text-align: center;
  padding: 8.3333333333vw 0 6.9270833333vw;
}
.thanks h1 {
  font-size: 2.4479166667vw;
  letter-spacing: 0.04em;
  color: #827374;
  font-weight: 400;
  margin-bottom: 3.0208333333vw;
}
.thanks .txt {
  margin-bottom: 6.7708333333vw;
}
.thanks .txt p {
  font-size: 1.25vw;
  line-height: 2.0833333333vw;
  margin-bottom: 2.0833333333vw;
}
.thanks .btn {
  display: block;
  color: #fff;
  background: #5F9CB9;
  width: 26.0416666667vw;
  height: 5.2083333333vw;
  margin-inline: auto;
  border-radius: 0.5208333333vw;
  font-size: 1.5104166667vw;
  padding: 1.8229166667vw 0 0;
}/*# sourceMappingURL=style.css.map */