@charset "UTF-8";
html {
  font-family: "Noto Serif JP", serif;
  position: relative;
  padding-bottom: 7.8125vw;
  scroll-behavior: smooth;
}
@media screen and (max-width: 600px) {
  html {
    padding-bottom: 19.2307692308vw;
  }
}

.sp {
  display: none;
}

@media screen and (max-width: 600px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
* {
  box-sizing: border-box;
}

p {
  line-height: 1.5;
  letter-spacing: 0.12rem;
  color: #2E2E2E;
}

a {
  text-decoration: none;
}

.text-red {
  color: #C50A11;
}

img {
  width: 100%;
  height: auto;
}

header {
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  padding: 1.0416666667vw 2.0833333333vw;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
  z-index: 1000;
}
header ul {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
header ul li {
  padding: 0.5208333333vw 0;
}
header ul a {
  margin: 0.5208333333vw 1.0416666667vw;
  font-size: 0.9895833333vw;
  color: #2E2E2E;
  text-decoration: none;
  letter-spacing: 0.2rem;
}
header ul a:hover {
  opacity: 0.7;
}

.header-logo {
  width: 3.4375vw;
}

.fv {
  background: url("../images/fv-bg.png");
  background-position: center;
  background-size: cover;
  height: 49.4791666667vw;
  width: 100%;
  background-repeat: no-repeat;
}
@media screen and (max-width: 600px) {
  .fv {
    background: url("../images/fv-bg-sp.png");
    height: 153.8461538462vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-position: center;
    background-size: cover;
  }
}
.fv .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.fv .fv-logo {
  width: 11.4583333333vw;
  margin-bottom: 1.5625vw;
  margin-top: 7.2916666667vw;
}
@media screen and (max-width: 600px) {
  .fv .fv-logo {
    width: 25.641025641vw;
    margin-bottom: 10.2564102564vw;
  }
}
.fv p {
  text-align: center;
  font-size: 1.1979166667vw;
  margin-bottom: 1.5625vw;
  font-weight: 500;
}
@media screen and (max-width: 600px) {
  .fv p {
    font-size: 4.6153846154vw;
  }
}
.fv .scroll {
  margin-top: 2.0833333333vw;
  font-size: 1.4583333333vw;
}
.fv .fv-arrow {
  width: 1.4583333333vw;
  margin-top: 1.8229166667vw;
}

.contact-bar {
  z-index: 10;
  position: fixed;
  bottom: 0;
  background-color: #F5F5F5;
  width: 100vw;
  padding: 1.5625vw 0;
}
@media screen and (max-width: 600px) {
  .contact-bar {
    padding: 5.1282051282vw 0;
  }
}
.contact-bar .inner {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  padding: 0 11.9791666667vw;
}
@media screen and (max-width: 600px) {
  .contact-bar .inner {
    padding: 0 5.1282051282vw;
  }
}
.contact-bar .phone {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.contact-bar .icon-phone {
  width: 2.1875vw;
  margin-right: 1.5625vw;
  margin-top: 0.2083333333vw;
}
@media screen and (max-width: 600px) {
  .contact-bar .icon-phone {
    width: 4.1025641026vw;
    margin-top: 0.5128205128vw;
  }
}
.contact-bar .phone-number {
  font-size: 2.4479166667vw;
}
@media screen and (max-width: 600px) {
  .contact-bar .phone-number {
    font-size: 4.358974359vw;
  }
}
.contact-bar .button-application-now {
  background-color: #891C20;
  color: white;
  width: 26.0416666667vw;
  height: 4.6875vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transition: 0.3s ease-in-out;
  font-size: 1.3541666667vw;
}
@media screen and (max-width: 600px) {
  .contact-bar .button-application-now {
    width: 41.0256410256vw;
    height: 8.9743589744vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0.2rem;
  }
}
.contact-bar .button-application-now:hover {
  opacity: 0.8;
  transition: 0.3s ease-in-out;
  cursor: pointer;
}

@media screen and (max-width: 600px) {
  .trouble {
    padding-top: 10.2564102564vw;
  }
}
.trouble .inner {
  padding: 0 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .trouble .inner {
    padding: 0 3.5897435897vw;
  }
}
.trouble .trouble-copy {
  padding: 12.5vw 0;
  background: url("../images/trouble-bg.png");
  background-size: 38.5416666667vw 18.4895833333vw;
  background-repeat: no-repeat;
  background-position: center;
}
@media screen and (max-width: 600px) {
  .trouble .trouble-copy {
    background-size: 65.1282051282vw 31.5384615385vw;
  }
}
.trouble .trouble-copy-text {
  text-align: center;
  font-size: 3.125vw;
}
@media screen and (max-width: 600px) {
  .trouble .trouble-copy-text {
    font-size: 5.1282051282vw;
  }
}
.trouble .trouble-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  -moz-column-gap: 2.0833333333vw;
       column-gap: 2.0833333333vw;
  row-gap: 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .trouble .trouble-list {
    -moz-column-gap: 2.5641025641vw;
         column-gap: 2.5641025641vw;
    row-gap: 3.8461538462vw;
  }
}
.trouble .trouble-list li {
  position: relative;
  background-color: #F8F8F8;
  width: 41.6666666667vw;
  height: 9.1145833333vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 600px) {
  .trouble .trouble-list li {
    width: 45.3846153846vw;
    height: 24.8717948718vw;
  }
}
.trouble .trouble-list p {
  font-size: 1.5625vw;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .trouble .trouble-list p {
    font-size: 3.3333333333vw;
    letter-spacing: 0.05rem;
  }
}
.trouble .trouble-triangle {
  position: absolute;
  top: 0;
  left: 0;
  width: 2.0833333333vw;
}
@media screen and (max-width: 600px) {
  .trouble .trouble-triangle {
    width: 3.5897435897vw;
  }
}
.trouble .trouble-img {
  width: 100%;
}

.data {
  background: url("../images/data-bg.png");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding: 2.0833333333vw 0;
}
.data .inner {
  padding: 7.2916666667vw 5.2083333333vw;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .data .inner {
    padding: 12.8205128205vw 2.5641025641vw;
  }
}
.data .inner::before {
  background: url("../images/data-filter.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  mix-blend-mode: multiply;
  padding: 0 5.2083333333vw;
  box-sizing: border-box;
  content: "";
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}
@media screen and (max-width: 600px) {
  .data .inner::before {
    background-size: cover;
    box-sizing: border-box;
    padding: 0 2.5641025641vw;
    width: 100%;
    background-size: 100% 100%;
  }
}
.data p {
  color: white;
  text-align: center;
  position: relative;
  z-index: 1;
}
.data .data-title {
  font-size: 3.5416666667vw;
  position: relative;
  z-index: 1;
  font-weight: bold;
}
@media screen and (max-width: 600px) {
  .data .data-title {
    font-size: 5.1282051282vw;
  }
}
.data .data-text {
  font-size: 1.3020833333vw;
  position: relative;
  z-index: 1;
  margin-top: 7.2916666667vw;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 3;
}
@media screen and (max-width: 600px) {
  .data .data-text {
    font-size: 3.0769230769vw;
    letter-spacing: 0.05rem;
    line-height: 2.5;
  }
}
.data .data-figure {
  position: relative;
  z-index: 1;
  width: 47.9166666667vw;
}
@media screen and (max-width: 600px) {
  .data .data-figure {
    width: 79.4871794872vw;
  }
}

.about {
  padding: 11.4583333333vw 0;
  background: url("../images/about-bg.png");
  background-position: top 21.875vw left 0;
  background-size: 67.7083333333vw 57.2916666667vw;
  background-repeat: no-repeat;
}
@media screen and (max-width: 600px) {
  .about {
    padding: 28.2051282051vw 0;
    background: url("../images/about-bg-sp.png");
    background-position: top 58.4615384615vw left 0;
    background-size: 85.1282051282vw 132.5641025641vw;
    background-repeat: no-repeat;
  }
}
.about .inner {
  padding: 0 0 0 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .about .inner {
    padding: 0 0 0 8.7179487179vw;
  }
}
.about .about-text-main {
  color: #891C20;
  font-weight: bold;
  line-height: 2.5;
  font-size: 2.34375vw;
}
@media screen and (max-width: 600px) {
  .about .about-text-main {
    font-size: 4.8717948718vw;
    line-height: 2;
    letter-spacing: 0.2rem;
  }
}
.about .about-text-sub {
  font-size: 1.3020833333vw;
  line-height: 3;
  margin-top: 5.2083333333vw;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 600px) {
  .about .about-text-sub {
    font-size: 3.0769230769vw;
    letter-spacing: 0.05rem;
    line-height: 2.5;
  }
}
.about .about-img-wrapper {
  margin-top: 5.2083333333vw;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
.about .about-img {
  width: 67.7083333333vw;
  right: 0;
}
@media screen and (max-width: 600px) {
  .about .about-img {
    width: 82.0512820513vw;
  }
}

.service {
  background-color: #F8F8F8;
  padding-top: 6.25vw;
  padding-bottom: 11.4583333333vw;
  background: linear-gradient(180deg, white 0%, white 1.25%, #F8F8F8 1.25%, #F8F8F8 100%);
}
@media screen and (max-width: 600px) {
  .service {
    padding-top: 30.7692307692vw;
    background: linear-gradient(180deg, white 0%, white 2.4%, #F8F8F8 2.4%, #F8F8F8 100%);
  }
}
.service .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.service .service-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: linear-gradient(180deg, white 0%, white 50%, #F8F8F8 50%, #F8F8F8 100%);
}
.service .service-bg {
  width: 40.3125vw;
  height: 17.3958333333vw;
}
@media screen and (max-width: 600px) {
  .service .service-bg {
    display: none;
  }
}
.service .service-title {
  font-size: 2.6041666667vw;
  font-weight: bold;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
  .service .service-title {
    font-size: 6.6666666667vw;
  }
}
.service .service-figure {
  width: 52.0833333333vw;
  height: 52.0833333333vw;
  margin-top: 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .service .service-figure {
    width: 89.7435897436vw;
    height: 86.9230769231vw;
    margin-top: 15.3846153846vw;
    margin-left: 5.1282051282vw;
    margin-bottom: 15.3846153846vw;
  }
}
.service .container-odd {
  background: url("../images/service-container-bg.png");
  background-size: 62.5vw 33.8541666667vw;
  background-position: top 10.4166666667vw right 0;
  background-repeat: no-repeat;
  padding: 0 5.2083333333vw;
  padding-bottom: 13.0208333333vw;
  margin-bottom: 7.8125vw;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .service .container-odd {
    flex-direction: column;
    align-items: center;
    background: none;
  }
}
.service .container-odd .service-img {
  width: 41.6666666667vw;
  height: 34.375vw;
  margin-bottom: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .service-img {
    width: 74.358974359vw;
    height: auto;
    margin-bottom: -7.6923076923vw;
    position: relative;
    z-index: 1;
  }
}
.service .container-odd .service-bg01 {
  width: 48.9583333333vw;
  height: 18.2291666667vw;
  position: absolute;
  bottom: 0;
  left: 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .service-bg01 {
    width: 89.7435897436vw;
    left: 5.1282051282vw;
    bottom: auto;
    top: 30%;
    z-index: 2;
    mix-blend-mode: multiply;
    height: auto;
  }
}
.service .container-odd .service-bg03 {
  width: 57.2916666667vw;
  height: 17.1875vw;
  position: absolute;
  bottom: 0;
  left: 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .service-bg03 {
    width: 90.7692307692vw;
    left: 5.1282051282vw;
    bottom: auto;
    top: 32%;
    z-index: 2;
    mix-blend-mode: multiply;
    height: auto;
  }
}
.service .container-odd .service-bg05 {
  width: 38.0208333333vw;
  height: 16.6666666667vw;
  position: absolute;
  bottom: 0;
  left: 18.2291666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .service-bg05 {
    width: 58.9743589744vw;
    left: 20.5128205128vw;
    bottom: auto;
    top: 32%;
    z-index: 2;
    mix-blend-mode: multiply;
    height: auto;
  }
}
.service .container-odd .container-text {
  margin-left: -4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .container-text {
    text-align: center;
    margin-left: 0;
    background-color: white;
    padding: 20.5128205128vw 6.4102564103vw 12.8205128205vw 6.4102564103vw;
    width: 89.7435897436vw;
  }
}
.service .container-odd .container-title {
  font-size: 2.2395833333vw;
  color: #C50A11;
  border-bottom: 1px solid #C50A11;
  padding-left: 10.4166666667vw;
  font-weight: bold;
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .container-title {
    text-align: center;
    padding-left: 0;
    font-size: 5.1282051282vw;
  }
}
.service .container-odd .container-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3020833333vw;
  line-height: 2.5;
  margin-top: 2.6041666667vw;
  padding-left: 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-odd .container-description {
    text-align: center;
    padding-left: 0;
    font-size: 3.3333333333vw;
    line-height: 2.2;
    letter-spacing: 0.08rem;
  }
}
.service .container-even {
  background: url("../images/service-container-bg.png");
  background-size: 62.5vw 33.8541666667vw;
  background-position: top 9.375vw left 0;
  background-repeat: no-repeat;
  padding: 0 5.2083333333vw;
  padding-bottom: 14.5833333333vw;
  margin-bottom: 7.8125vw;
  position: relative;
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .service .container-even {
    flex-direction: column;
    align-items: center;
    background: none;
  }
}
.service .container-even .service-img {
  width: 41.6666666667vw;
  height: 34.375vw;
}
@media screen and (max-width: 600px) {
  .service .container-even .service-img {
    width: 74.358974359vw;
    height: auto;
    margin-bottom: -7.6923076923vw;
    position: relative;
    z-index: 1;
  }
}
.service .container-even .service-bg02 {
  width: 50.5208333333vw;
  height: 16.6666666667vw;
  position: absolute;
  bottom: 0;
  right: 18.2291666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-even .service-bg02 {
    width: 93.0769230769vw;
    height: auto;
    left: 4.1025641026vw;
    bottom: auto;
    top: 33%;
    z-index: 2;
    mix-blend-mode: multiply;
  }
}
.service .container-even .service-bg04 {
  width: 61.9791666667vw;
  height: 10.4166666667vw;
  position: absolute;
  bottom: 0;
  right: 26.0416666667vw;
  margin-bottom: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-even .service-bg04 {
    width: 88.4615384615vw;
    height: auto;
    left: 4.1025641026vw;
    bottom: auto;
    top: 37%;
    z-index: 2;
    mix-blend-mode: multiply;
  }
}
.service .container-even .container-text {
  margin-right: -4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-even .container-text {
    text-align: center;
    margin-right: 0;
    background-color: white;
    padding: 20.5128205128vw 6.4102564103vw 12.8205128205vw 6.4102564103vw;
    width: 89.7435897436vw;
    box-sizing: border-box;
  }
}
.service .container-even .container-title {
  font-size: 2.2395833333vw;
  color: #C50A11;
  border-bottom: 1px solid #C50A11;
  padding-right: 10.4166666667vw;
  font-weight: bold;
  padding-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-even .container-title {
    text-align: center;
    padding-right: 0;
    font-size: 5.1282051282vw;
  }
}
.service .container-even .container-description {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3020833333vw;
  line-height: 2.5;
  margin-top: 2.6041666667vw;
  padding-right: 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .service .container-even .container-description {
    text-align: center;
    padding-right: 0;
    font-size: 3.3333333333vw;
    line-height: 2.2;
    letter-spacing: 0.08rem;
  }
}
.service .service-feature {
  margin: auto;
  background-color: white;
  width: 67.7083333333vw;
}
@media screen and (max-width: 600px) {
  .service .service-feature {
    width: 76.9230769231vw;
  }
}
.service .service-feature-title {
  font-size: 2.9166666667vw;
  font-weight: bold;
  position: relative;
  text-align: center;
  margin-top: -2.1354166667vw;
  margin-bottom: 7.8125vw;
}
@media screen and (max-width: 600px) {
  .service .service-feature-title {
    font-size: 6.6666666667vw;
    margin-top: -5.3846153846vw;
  }
}
.service .service-feature-title::before {
  content: "";
  height: 2px;
  background-color: #8F272B;
  width: 15.625vw;
  position: absolute;
  top: 50%;
  left: 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .service .service-feature-title::before {
    left: -10.2564102564vw;
  }
}
.service .service-feature-title::after {
  content: "";
  height: 2px;
  background-color: #8F272B;
  width: 15.625vw;
  position: absolute;
  top: 50%;
  right: 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .service .service-feature-title::after {
    right: -10.2564102564vw;
  }
}
.service .service-feature-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-bottom: 7.8125vw;
}
.service .service-feature-img {
  width: 28.6458333333vw;
}
@media screen and (max-width: 600px) {
  .service .service-feature-img {
    width: 76.9230769231vw;
  }
}
.service .service-feature-heading {
  color: #891C20;
  font-size: 1.8229166667vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  margin-top: 1.0416666667vw;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .service .service-feature-heading {
    font-size: 4.358974359vw;
  }
}
.service .service-feature-description {
  margin-top: 1.5625vw;
  font-size: 1.3020833333vw;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .service .service-feature-description {
    margin-top: 5.1282051282vw;
    font-size: 3.3333333333vw;
    letter-spacing: 0.1rem;
    line-height: 1.8;
  }
}
.service .service-feature-description span {
  margin-top: 1.0416666667vw;
  font-size: 1.1458333333vw;
  display: inline-block;
}
@media screen and (max-width: 600px) {
  .service .service-feature-description span {
    font-size: 2.8205128205vw;
  }
}

.ba {
  padding: 10.4166666667vw 0;
}
.ba .ba-title {
  color: #891C20;
  font-size: 3.3854166667vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  text-align: center;
  margin-bottom: 7.8125vw;
}
@media screen and (max-width: 600px) {
  .ba .ba-title {
    font-size: 5.8974358974vw;
  }
}
.ba table {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  width: 67.7083333333vw;
  margin: auto;
}
@media screen and (max-width: 600px) {
  .ba table {
    width: 87.1794871795vw;
  }
}
.ba tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border-bottom: 1px #707070 dashed;
}
.ba tr:first-child {
  border-bottom: none;
}
.ba tr:first-child td {
  padding-top: 0;
}
.ba td {
  padding: 2.0833333333vw;
  font-size: 1.3020833333vw;
  line-height: 1.8;
  letter-spacing: 0.1rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .ba td {
    font-size: 2.8205128205vw;
    line-height: 1.6;
    letter-spacing: 0.05rem;
  }
}
.ba td:last-child {
  color: #891C20;
  font-weight: bold;
  border-left: 1px solid #707070;
}
@media screen and (max-width: 600px) {
  .ba td:last-child {
    border: none;
  }
}
.ba .before {
  font-size: 1.5625vw;
  background-color: #EAEAEA;
  padding: 0;
  margin-top: 0;
  height: 4.1666666667vw;
  width: 25vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .ba .before {
    font-size: 4.1025641026vw;
    height: 12.8205128205vw;
    width: 43.5897435897vw;
    border: none;
  }
}
.ba .after {
  font-size: 1.5625vw;
  background-color: #891C20;
  color: white !important;
  font-weight: normal !important;
  padding: 0;
  margin-top: 0;
  height: 4.1666666667vw;
  border-left: 1px solid #707070;
  width: 25vw;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .ba .after {
    font-size: 4.1025641026vw;
    height: 12.8205128205vw;
    width: 43.5897435897vw;
    border: none;
  }
}

.campaign {
  padding: 3.125vw 0 5.2083333333vw;
}
.campaign .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.campaign .campaign-img {
  width: 80.7291666667vw;
}
@media screen and (max-width: 600px) {
  .campaign .campaign-img {
    width: 92.3076923077vw;
    margin-left: 5.5555555556vw;
  }
}

.application {
  background-color: #F5F5F5;
  padding: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .application {
    padding: 10.2564102564vw 0;
  }
}
.application .inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.application .application-text {
  width: 67.1875vw;
}
@media screen and (max-width: 600px) {
  .application .application-text {
    width: 92.3076923077vw;
    padding-bottom: 5.1282051282vw;
  }
}
.application .button-application {
  width: 57.2916666667vw;
  transition: 0.2s ease-in-out;
  margin-bottom: 0.5208333333vw;
  margin-top: 0;
}
@media screen and (max-width: 600px) {
  .application .button-application {
    width: 92.3076923077vw;
  }
}
.application .button-application:hover {
  margin-top: 0.5208333333vw;
  margin-bottom: 0;
  opacity: 0.8;
  transition: 0.2s ease-in-out;
}

@media screen and (max-width: 600px) {
  .coach {
    padding-top: 20.5128205128vw;
  }
}
.coach .coach-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .coach .coach-title-wrapper {
    margin-bottom: 10.2564102564vw;
  }
}
.coach .coach-bg {
  width: 30.7291666667vw;
  height: 18.2291666667vw;
}
@media screen and (max-width: 600px) {
  .coach .coach-bg {
    width: 57.6923076923vw;
    height: 34.6153846154vw;
  }
}
.coach .coach-title {
  font-size: 2.6041666667vw;
  font-weight: bold;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
  .coach .coach-title {
    font-size: 5.1282051282vw;
  }
}
.coach .inner {
  padding-left: 14.5833333333vw;
}
@media screen and (max-width: 600px) {
  .coach .inner {
    padding-left: 0;
  }
}
.coach .coach-container {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
  margin-bottom: 9.375vw;
}
@media screen and (max-width: 600px) {
  .coach .coach-container {
    flex-direction: column;
    overflow: hidden;
  }
}
.coach .coach-left {
  width: 30.2083333333vw;
}
@media screen and (max-width: 600px) {
  .coach .coach-left {
    width: 65.8974358974vw;
  }
}
.coach .coach-right {
  margin-left: 4.1666666667vw;
  padding-top: 4.1666666667vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .coach .coach-right {
    flex-direction: column;
  }
}
.coach .coach-img02 {
  width: 29.1666666667vw;
  margin-bottom: 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .coach .coach-img02 {
    width: 76.9230769231vw;
    margin-left: 25.641025641vw;
    margin-top: -25.641025641vw;
  }
}
.coach .business {
  color: #C50A11;
  font-weight: bold;
  font-size: 1.4583333333vw;
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 0.5208333333vw;
}
@media screen and (max-width: 600px) {
  .coach .business {
    font-size: 3.5897435897vw;
  }
}
.coach .name {
  font-size: 2.2395833333vw;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  margin-bottom: 1.5625vw;
}
@media screen and (max-width: 600px) {
  .coach .name {
    font-size: 7.1794871795vw;
  }
}
.coach .name span {
  font-size: 1.71875vw;
  color: #C1C1C1;
  letter-spacing: 0;
}
@media screen and (max-width: 600px) {
  .coach .name span {
    font-size: 4.1025641026vw;
  }
}
.coach .profile {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2.2;
  font-size: 1.1979166667vw;
}
@media screen and (max-width: 600px) {
  .coach .profile {
    font-size: 3.0769230769vw;
    line-height: 1.8;
  }
}
.coach .qa-container {
  margin-left: 5.7291666667vw;
  display: flex;
  width: 58.3333333333vw;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 2.0833333333vw;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .coach .qa-container {
    width: 100%;
    padding: 0 5.1282051282vw;
    margin: auto;
    margin-bottom: 7.6923076923vw;
  }
}
.coach .question {
  text-align: left;
  font-family: "Noto Sans JP", sans-serif;
  background-color: #F4F4F4;
  border-radius: 0.5208333333vw;
  padding: 1.0416666667vw 2.0833333333vw;
  font-size: 1.09375vw;
  font-weight: bold;
}
@media screen and (max-width: 600px) {
  .coach .question {
    font-size: 4.1025641026vw;
    line-height: 1.6;
  }
}
.coach .answer {
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .coach .answer {
    align-items: flex-start;
  }
}
.coach .answer p {
  font-family: "Noto Sans JP", sans-serif;
  width: 100%;
  font-size: 0.9895833333vw;
  line-height: 1.8;
  border: #891C20 solid 0.2604166667vw;
  padding: 1.5625vw 3.125vw;
  width: 50.5208333333vw;
  border-radius: 0.5208333333vw;
  position: relative;
  background: #FFF;
}
@media screen and (max-width: 600px) {
  .coach .answer p {
    border: #891C20 solid 0.7692307692vw;
    font-size: 3.3333333333vw;
    width: 69.2307692308vw;
  }
}
.coach .answer p:before {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.25vw;
  margin-top: -0.625vw;
  border: 0.625vw solid transparent;
  border-left: 0.625vw solid white;
  z-index: 2;
  transform: scaleX(150%) translateX(0.2083333333vw);
}
@media screen and (max-width: 600px) {
  .coach .answer p:before {
    top: 35%;
    right: -4.8717948718vw;
    margin-top: -3.0769230769vw;
    border: 2.5641025641vw solid transparent;
    border-left: 2.5641025641vw solid white;
    z-index: 2;
    transform: scaleX(150%) translateX(1.0256410256vw);
  }
}
.coach .answer p:after {
  content: "";
  position: absolute;
  top: 50%;
  right: -1.6666666667vw;
  margin-top: -0.7291666667vw;
  border: 0.7291666667vw solid transparent;
  border-left: 0.7291666667vw solid #891C20;
  z-index: 1;
  transform: scaleX(150%) translateX(0.2083333333vw);
}
@media screen and (max-width: 600px) {
  .coach .answer p:after {
    top: 35%;
    right: -6.9230769231vw;
    margin-top: -3.5897435897vw;
    border: 3.0769230769vw solid transparent;
    border-left: 3.0769230769vw solid #891C20;
    z-index: 1;
    transform: scaleX(150%) translateX(1.0256410256vw);
  }
}
.coach .coach-img03 {
  width: 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .coach .coach-img03 {
    width: 15.3846153846vw;
    margin-top: 3.0769230769vw;
  }
}

.voice .voice-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.voice .voice-bg {
  width: 28.125vw;
  height: 18.2291666667vw;
}
@media screen and (max-width: 600px) {
  .voice .voice-bg {
    width: 62.5641025641vw;
    height: 41.5384615385vw;
  }
}
.voice .voice-title {
  font-size: 2.6041666667vw;
  font-weight: bold;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
  .voice .voice-title {
    font-size: 5.1282051282vw;
  }
}
.voice .inner {
  padding: 0 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .voice .inner {
    padding: 0 5.1282051282vw;
    width: 100%;
  }
}
.voice .voice-container {
  background-color: #F9F9F9;
  padding: 1.0416666667vw;
  margin-bottom: 4.1666666667vw;
}
.voice .voice-container-inner {
  border: solid #8A1F23 0.15625vw;
  padding: 4.4270833333vw;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: space-between;
}
@media screen and (max-width: 600px) {
  .voice .voice-container-inner {
    flex-direction: column;
    border: solid #8A1F23 0.7692307692vw;
  }
}
.voice .voice-img {
  width: 18.75vw;
}
@media screen and (max-width: 600px) {
  .voice .voice-img {
    width: 100%;
  }
}
.voice .voice-text {
  font-family: "Noto Sans JP", sans-serif;
  width: 44.2708333333vw;
}
@media screen and (max-width: 600px) {
  .voice .voice-text {
    width: 100%;
  }
}
.voice .voice-heading {
  font-size: 1.5625vw;
  color: #891C20;
  font-weight: bold;
  margin-bottom: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .voice .voice-heading {
    font-size: 5.1282051282vw;
    text-align: center;
    margin-top: 4.1025641026vw;
  }
}
.voice .voice-name {
  font-size: 1.4583333333vw;
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .voice .voice-name {
    font-size: 3.5897435897vw;
    text-align: center;
    margin-top: 2.5641025641vw;
    margin-bottom: 5.1282051282vw;
  }
}
.voice .voice-description {
  border-top: solid #C50A11 0.1302083333vw;
  font-size: 1.1458333333vw;
  padding-top: 2.6041666667vw;
  line-height: 2.2;
}
@media screen and (max-width: 600px) {
  .voice .voice-description {
    border-top: solid #C50A11 0.5128205128vw;
    font-size: 3.3333333333vw;
  }
}
.voice .voice-description span {
  color: #C50A11;
}

.flow {
  padding-top: 13.0208333333vw;
}
.flow .inner {
  padding: 0 5.2083333333vw;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .flow .inner {
    flex-direction: column;
  }
}
.flow .flow-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 4.1666666667vw;
}
.flow .flow-bg {
  width: 24.4791666667vw;
  height: 18.2291666667vw;
}
@media screen and (max-width: 600px) {
  .flow .flow-bg {
    width: 42.3076923077vw;
    height: 31.7948717949vw;
    margin-top: 5.1282051282vw;
  }
}
.flow .flow-title {
  font-size: 2.6041666667vw;
  font-weight: bold;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
  .flow .flow-title {
    font-size: 5.1282051282vw;
  }
}
.flow .flow-left {
  margin-right: 3.6458333333vw;
}
.flow .flow-img {
  width: 42.34375vw;
}
@media screen and (max-width: 600px) {
  .flow .flow-img {
    width: 100%;
  }
}
.flow .flow-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .flow .flow-right {
    width: 100%;
  }
}
.flow .flow-container {
  margin-bottom: 2.6041666667vw;
}
@media screen and (max-width: 600px) {
  .flow .flow-container {
    width: 100%;
    height: auto;
    margin-bottom: 7.6923076923vw;
  }
}
.flow .flow-heading {
  width: 34.375vw;
  height: 3.125vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  background: url("../images/flow-heading-bg.png");
  background-position: center left 0;
  background-size: cover;
  padding-left: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .flow .flow-heading {
    width: 100%;
    height: auto;
    background-position: center right 0;
    padding: 1.5384615385vw 4.1025641026vw;
    margin-left: 2.5641025641vw;
  }
}
.flow .flow-heading-number {
  font-family: "Osaka", sans-serif;
  font-size: 2.1875vw;
  color: white;
  margin-right: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .flow .flow-heading-number {
    font-size: 5.3846153846vw;
    margin-right: 1.0416666667vw;
  }
}
.flow .flow-heading-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5625vw;
  color: white;
  margin-bottom: 0.2083333333vw;
}
@media screen and (max-width: 600px) {
  .flow .flow-heading-text {
    font-size: 4.6153846154vw;
  }
}
.flow .flow-description {
  font-family: "Noto Sans JP", sans-serif;
  padding-left: 5.2083333333vw;
  margin-top: 1.0416666667vw;
  line-height: 1.8;
  font-size: 1.1458333333vw;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 600px) {
  .flow .flow-description {
    font-size: 4.1025641026vw;
    padding-left: 10.2564102564vw;
    line-height: 1.6rem;
    margin-top: 4.1025641026vw;
  }
}

.course {
  padding-top: 6.25vw;
}
@media screen and (max-width: 600px) {
  .course {
    padding-top: 5.1282051282vw;
    overflow: hidden;
  }
}
.course .inner {
  padding: 0 5.2083333333vw;
}
@media screen and (max-width: 600px) {
  .course .inner {
    padding: 0;
  }
}
@media screen and (max-width: 600px) {
  .course .inner.sp {
    margin-left: -1px;
  }
}
.course .course-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.course .course-bg {
  width: 38.5416666667vw;
  height: 18.2291666667vw;
}
@media screen and (max-width: 600px) {
  .course .course-bg {
    width: 55.1282051282vw;
    height: 32.8205128205vw;
  }
}
.course .course-title {
  font-size: 2.6041666667vw;
  font-weight: bold;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
  .course .course-title {
    font-size: 6.6666666667vw;
    top: 45%;
  }
}
.course table.course-table-head {
  border-spacing: 0.5208333333vw;
  border-collapse: separate;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .course table.course-table-head {
    margin-bottom: 4.1025641026vw;
    border: none;
    box-sizing: border-box;
  }
}
@media screen and (max-width: 600px) {
  .course table.course-table-head tbody {
    border: none;
    box-sizing: border-box;
    margin-left: -1px;
  }
}
.course table.course-table-head td {
  padding: 1.3020833333vw;
  width: 25%;
  text-align: center;
}
@media screen and (max-width: 600px) {
  .course table.course-table-head td {
    padding: 0;
    border: none;
    box-sizing: border-box;
  }
}
.course table.course-table-head td p {
  color: white;
  font-size: 1.8229166667vw;
  letter-spacing: 0.2rem;
}
@media screen and (max-width: 600px) {
  .course table.course-table-head td p {
    font-size: 4.8717948718vw;
    height: 15.3846153846vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100vw;
    margin-left: -0.5128205128vw;
  }
}
.course table.course-table-head td:first-child {
  background-color: #D67276;
}
.course table.course-table-head td.course-1 {
  background-color: #D67276 !important;
}
.course table.course-table-head td:nth-child(2) {
  background-color: #C50A11;
}
.course table.course-table-head td.course-2 {
  background-color: #C50A11 !important;
}
.course table.course-table-head td:nth-child(3) {
  background-color: #AA2A2F;
}
.course table.course-table-head td.course-3 {
  background-color: #AA2A2F !important;
}
.course table.course-table-head td:last-child {
  background-color: #6C2D2F;
  margin-right: 0;
}
.course table.course-table-head td.course-4 {
  background-color: #6C2D2F !important;
}
.course table.course-table-body {
  margin: 0 0.5208333333vw;
  width: 88.5416666667vw;
}
@media screen and (max-width: 600px) {
  .course table.course-table-body {
    margin: auto;
    margin-bottom: 10.2564102564vw;
  }
}
.course table.course-table-body tr:nth-child(odd) {
  background-color: #EDEDED;
}
.course table.course-table-body tr:nth-child(3) td p {
  text-align: left;
  line-height: 2;
}
@media screen and (max-width: 600px) {
  .course table.course-table-body tr:nth-child(3) td p {
    line-height: 1.6;
  }
}
.course table.course-table-body tr:last-child td p {
  text-align: left;
  font-size: 0.9375vw;
}
@media screen and (max-width: 600px) {
  .course table.course-table-body tr:last-child td p {
    font-size: 3.8461538462vw;
  }
}
.course table.course-table-body td {
  width: 25%;
  padding: 2.6041666667vw 0;
  border-right: 1px solid #707070;
  vertical-align: middle;
  text-align: center;
}
.course table.course-table-body td:last-child {
  border-right: none;
}
.course table.course-table-body td p {
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  font-size: 1.1458333333vw;
  width: auto;
  display: inline-block;
  margin: auto;
}
@media screen and (max-width: 600px) {
  .course table.course-table-body td p {
    font-size: 3.8461538462vw;
  }
}
.course table.course-table-body td p span {
  font-size: 0.9895833333vw;
  display: inline-block;
  margin-top: 0.5208333333vw;
}
@media screen and (max-width: 600px) {
  .course table.course-table-body td p span {
    font-size: 3.8461538462vw;
  }
}
.course table.course-table-body td p small {
  font-size: 0.78125vw;
}
@media screen and (max-width: 600px) {
  .course table.course-table-body td p small {
    font-size: 3.8461538462vw;
  }
}

.example {
  padding-top: 6.25vw;
}
@media screen and (max-width: 600px) {
  .example {
    padding-top: 5.1282051282vw;
  }
}
.example .inner {
  padding: 0 5.2083333333vw 0 11.4583333333vw;
}
@media screen and (max-width: 600px) {
  .example .inner {
    padding: 0;
  }
}
.example .example-title-wrapper {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-bottom: 3.125vw;
}
.example .example-bg {
  width: 38.5416666667vw;
  height: 14.5833333333vw;
}
@media screen and (max-width: 600px) {
  .example .example-bg {
    width: 78.2051282051vw;
    height: 30vw;
  }
}
.example .example-title {
  font-size: 2.6041666667vw;
  font-weight: bold;
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 600px) {
  .example .example-title {
    font-size: 6.6666666667vw;
    width: 100%;
    text-align: center;
  }
}
.example .example-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  margin-bottom: 6.25vw;
}
@media screen and (max-width: 600px) {
  .example .example-container {
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 71.7948717949vw;
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 15.3846153846vw;
  }
}
.example .example-img {
  width: 33.3333333333vw;
  margin-right: 6.25vw;
  flex-shrink: 0;
}
@media screen and (max-width: 600px) {
  .example .example-img {
    width: 66.6666666667vw;
    margin-right: 0;
  }
}
.example .example-heading {
  color: #C50A11;
  font-size: 2.03125vw;
  font-weight: bold;
}
@media screen and (max-width: 600px) {
  .example .example-heading {
    font-size: 5.1282051282vw;
    text-align: center;
    margin-top: 5.1282051282vw;
  }
}
.example .example-description {
  font-size: 1.40625vw;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2.2;
  margin-top: 1.0416666667vw;
}
@media screen and (max-width: 600px) {
  .example .example-description {
    font-size: 3.3333333333vw;
  }
}

.faq {
  padding: 17.1875vw 0;
}
.faq .faq-title {
  padding-left: 11.4583333333vw;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.03125vw;
  font-weight: bold;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 600px) {
  .faq .faq-title {
    padding-left: 10.2564102564vw;
    font-size: 5.3846153846vw;
    margin-bottom: 10.2564102564vw;
  }
}
.faq .accordion {
  margin: auto;
  border-bottom: solid 1px #9D9D9D;
  width: 59.8958333333vw;
}
@media screen and (max-width: 600px) {
  .faq .accordion {
    width: 83.3333333333vw;
  }
}
.faq .toggle {
  display: none;
}
.faq .option {
  position: relative;
}
.faq .title,
.faq .content {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
  transition: all 0.3s;
}
.faq .title {
  border-top: solid 1px #9D9D9D;
  padding: 2.6041666667vw;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  cursor: pointer;
}
.faq .title:hover {
  opacity: 0.7;
}
@media screen and (max-width: 600px) {
  .faq .title {
    padding: 8.9743589744vw 2.5641025641vw;
  }
}
.faq .question-text {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3020833333vw;
}
@media screen and (max-width: 600px) {
  .faq .question-text {
    font-size: 3.5897435897vw;
  }
}
.faq .number {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.3541666667vw;
  margin-right: 4.1666666667vw;
  display: inline-block;
  width: 2.6041666667vw;
  flex-shrink: 0;
}
@media screen and (max-width: 600px) {
  .faq .number {
    font-size: 3.5897435897vw;
    width: 6.6666666667vw;
  }
}
.faq .content {
  height: 0;
  overflow: hidden;
  transition: all 0.3s;
  width: 100%;
  padding: 2.6041666667vw;
  padding-bottom: 0;
  padding-top: 0;
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: flex-start;
}
@media screen and (max-width: 600px) {
  .faq .content {
    font-size: 3.5897435897vw;
  }
}
.faq .content p {
  margin: 0;
  font-size: 0.9em;
  line-height: 1.5;
  font-family: "Noto Sans JP", sans-serif;
}
.faq .toggle:checked + .title + .content {
  transition: all 0.3s;
  padding: 2.6041666667vw;
  padding-top: 0;
  height: auto;
  max-height: 500px;
  width: 100%;
}
@media screen and (max-width: 600px) {
  .faq .toggle:checked + .title + .content {
    font-size: 3.5897435897vw;
    padding: 5.1282051282vw 2.5641025641vw;
    padding-top: 0;
  }
}
.faq .toggle:checked + .title::before {
  transform: rotate(90deg) !important;
}

.message {
  padding: 10.4166666667vw 0 18.2291666667vw 0;
  background-image: url("../images/message-bg.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 600px) {
  .message {
    background-image: none;
    overflow: hidden;
  }
}
.message .inner {
  padding-right: 8.8541666667vw;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
@media screen and (max-width: 600px) {
  .message .inner {
    padding-right: 0;
    align-items: center;
  }
}
.message .message-img {
  position: absolute;
  width: 31.6666666667vw;
  left: -7.8125vw;
  top: -10.4166666667vw;
}
@media screen and (max-width: 600px) {
  .message .message-img {
    width: 120%;
    left: 5.1282051282vw;
    top: -30.7692307692vw;
  }
}
@media screen and (max-width: 600px) {
  .message .message-img-sp {
    width: 100%;
  }
}
.message .message-container {
  position: relative;
  background-color: white;
  padding: 5.2083333333vw;
  padding-top: 7.8125vw;
  width: auto;
  display: inline-block;
}
@media screen and (max-width: 600px) {
  .message .message-container {
    margin-top: -10.2564102564vw;
    width: 90%;
  }
}
.message .message-text {
  line-height: 2.5;
  font-size: 1.3020833333vw;
  font-family: "Noto Sans JP", sans-serif;
  margin-right: 4.1666666667vw;
}
@media screen and (max-width: 600px) {
  .message .message-text {
    font-size: 3.2051282051vw;
    letter-spacing: 0.05rem;
    margin-right: 0;
    margin-top: 15.3846153846vw;
  }
}
.message .message-name {
  width: 100%;
  text-align: right;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 1.7708333333vw;
  display: flex;
  flex-direction: row;
  align-items: flex-end;
  justify-content: flex-end;
  margin-top: 3.125vw;
}
@media screen and (max-width: 600px) {
  .message .message-name {
    font-size: 5.641025641vw;
  }
}
.message .message-name span {
  font-size: 1.25vw;
  font-weight: normal;
  margin-right: 2.0833333333vw;
}
@media screen and (max-width: 600px) {
  .message .message-name span {
    font-size: 3.8461538462vw;
  }
}

footer {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-top: 10.4166666667vw;
}
@media screen and (max-width: 600px) {
  footer {
    padding-top: 20.5128205128vw;
  }
}
footer .footer-logo {
  width: 8.3333333333vw;
  margin-bottom: 3.125vw;
}
@media screen and (max-width: 600px) {
  footer .footer-logo {
    width: 20.5128205128vw;
    margin-bottom: 7.6923076923vw;
  }
}
footer .footer-company {
  font-size: 1.4583333333vw;
  margin-bottom: 2.0833333333vw;
}
@media screen and (max-width: 600px) {
  footer .footer-company {
    margin-bottom: 7.6923076923vw;
    font-size: 3.8461538462vw;
  }
}
footer .footer-address {
  font-size: 1.1979166667vw;
}
@media screen and (max-width: 600px) {
  footer .footer-address {
    font-size: 3.3333333333vw;
  }
}
footer .footer-bar {
  background-color: #333333;
  height: 1.5625vw;
  width: 100%;
  margin-top: 4.6875vw;
}
@media screen and (max-width: 600px) {
  footer .footer-bar {
    height: 2.5641025641vw;
    margin-top: 17.9487179487vw;
  }
}

/*==================================================
　sp nav button
===================================*/
body {
  overflow-x: hidden;
}

.header-area {
  display: flex;
  justify-content: space-between;
  height: 65px;
  padding: 0 20px;
  align-items: center;
}

.hamburger {
  width: 10.6666666667vw;
  height: 10.6666666667vw;
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 100;
  background-color: #343434;
  padding: 2.6666666667vw;
  box-sizing: border-box;
}

.hamburger span {
  box-sizing: border-box;
  position: absolute;
  width: 70%;
  height: 1px;
  left: 15%;
  background-color: white;
  transition: 0.5s;
  /* 追記 */
}

.hamburger span:first-of-type {
  /* ハンバーガーメニューの1番目の線 */
  top: 25%;
}

.hamburger span:nth-of-type(2) {
  /* ハンバーガーメニューの2番目の線 */
  top: 50%;
}

.hamburger span:last-of-type {
  /* ハンバーガーメニューの3番目の線 */
  top: 75%;
}

.slide-menu {
  background-color: rgba(0, 0, 0, 0.8);
  position: fixed;
  top: 22.0512820513vw;
  width: 100%;
  left: 0;
  transform: translateX(100%);
  transition: 0.5s;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 100;
  /* 追記 */
}

.slide-menu li {
  color: #fff;
  line-height: 400%;
  text-align: center;
}
.slide-menu li a {
  color: white;
  font-size: 4.1025641026vw;
}

.hamburger.active span:first-of-type {
  /* ハンバーガーメニューの1番目の線 */
  top: 50%;
  transform: rotate(45deg);
}

.hamburger.active span:nth-of-type(2) {
  /* ハンバーガーメニューの2番目の線 */
  opacity: 0;
  /* 透明にする */
}

.hamburger.active span:last-of-type {
  /* ハンバーガーメニューの3番目の線 */
  top: 50%;
  transform: rotate(-45deg);
}

.slide-menu.active {
  transform: translateX(0);
}/*# sourceMappingURL=style.css.map */