@media screen and (min-width: 768px) {
  .pcview {
    display: block;
  }
}
@media (max-width: 767px) {
  .pcview {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .spview {
    display: none;
  }
}
@media (max-width: 767px) {
  .spview {
    display: initial;
  }
}

html {
  font-size: 62.5%;
}

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

.mainwrap {
  width: 75vw;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .mainwrap {
    width: 92vw;
    margin: 0 auto;
  }
}

.logoarea {
  width: 23.3125vw;
  text-align: center;
}
@media (max-width: 767px) {
  .logoarea {
    width: 82.9333333333vw;
    text-align: unset;
  }
}
.logoarea p {
  font-family: "Zen Maru Gothic", serif;
  font-size: 0.9375vw;
  font-weight: 700;
}
@media (max-width: 767px) {
  .logoarea p {
    font-size: 3.4666666667vw;
    line-height: 5.0666666667vw;
    padding-left: 2.1333333333vw;
  }
}
.logoarea img {
  margin-top: 0.5625vw;
}
@media (max-width: 767px) {
  .logoarea img {
    width: 76.8vw;
  }
}

.cta_btn {
  width: 38.625vw;
  height: 5.625vw;
  display: block;
  background: #ff9d06;
  border-radius: 2.8125vw;
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.75vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 5.625vw;
  color: #fff;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .cta_btn {
    width: 78.9333333333vw;
    height: 13.3333333333vw;
    border-radius: 8vw;
    font-size: 4vw;
    line-height: 13.3333333333vw;
  }
}
.cta_btn::before {
  content: "";
  display: inline-block;
  position: absolute;
  width: 3.8125vw;
  height: 2.41vw;
  background: url(../image/icon_cat@2x.png) no-repeat;
  background-size: cover;
  left: 3.05vw;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .cta_btn::before {
    width: 8.2933333333vw;
    height: 5.2453333333vw;
    left: 5.3333333333vw;
    top: 50%;
    transform: translateY(-50%);
  }
}
.cta_btn p {
  margin-left: 5.28125vw;
}
@media (max-width: 767px) {
  .cta_btn p {
    margin-left: 10.9333333333vw;
  }
}

.ttlAccent {
  text-align: center;
  font-family: "Zen Maru Gothic", serif;
  font-weight: 700;
}
.ttlAccent p {
  color: #333333;
  font-size: 2vw;
  letter-spacing: 0.1em;
  line-height: 2.875vw;
  margin-bottom: 0.25vw;
}
@media (max-width: 767px) {
  .ttlAccent p {
    font-size: 5.3333333333vw;
    line-height: 7.7333333333vw;
    margin-bottom: 1.0666666667vw;
    letter-spacing: unset;
  }
}
.ttlAccent h2 {
  color: #0c449b;
  font-size: 2.875vw;
  letter-spacing: 0.05em;
  line-height: 3.4375vw;
  display: inline;
  position: relative;
}
@media (max-width: 767px) {
  .ttlAccent h2 {
    font-size: 7.2vw;
    line-height: 9.6vw;
    letter-spacing: unset;
  }
}
.ttlAccent h2::before, .ttlAccent h2::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 4.58875vw;
  height: 5.425vw;
  top: 50%;
  transform: translateY(-50%);
}
@media (max-width: 767px) {
  .ttlAccent h2::before, .ttlAccent h2::after {
    width: 14.056vw;
    height: 16.6186666667vw;
  }
}
.ttlAccent h2::before {
  background: url(../image/accent_l@2x.png) no-repeat;
  background-size: cover;
  left: -3.4vw;
}
@media (max-width: 767px) {
  .ttlAccent h2::before {
    left: -14.9333333333vw;
  }
}
.ttlAccent h2::after {
  background: url(../image/accent_r@2x.png) no-repeat;
  background-size: cover;
  right: -11.25vw;
}
@media (max-width: 767px) {
  .ttlAccent h2::after {
    right: -29.9466666667vw;
  }
}

.ttlNormal {
  text-align: center;
}
.ttlNormal h2 {
  font-family: "Zen Maru Gothic", serif;
  font-size: 2.875vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 3.4375vw;
  color: #0c449b;
}
@media (max-width: 767px) {
  .ttlNormal h2 {
    font-size: 7.2vw;
    line-height: 9.6vw;
  }
}
.ttlNormal p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.5vw;
  font-weight: 500;
  line-height: 1.875vw;
  margin-top: 1vw;
}
@media (max-width: 767px) {
  .ttlNormal p {
    font-family: "Zen Maru Gothic", serif;
    font-size: 5.3333333333vw;
    line-height: 7.7333333333vw;
    margin-top: 3.2vw;
  }
}

.header {
  position: relative;
  z-index: 10;
  background: #fff;
}
@media (max-width: 767px) {
  .header {
    position: fixed;
    top: 0;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
}
.header__wrap {
  width: 97.5vw;
  margin: 0 auto;
  height: 7.375vw;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
}
@media (max-width: 767px) {
  .header__wrap {
    width: 97.0666666667vw;
    height: 23.7333333333vw;
  }
}
@media (max-width: 767px) {
  .header .burger {
    position: absolute;
    top: 5.3333333333vw;
    width: 8.2666666667vw;
    height: 6.1333333333vw;
    right: 0.5333333333vw;
    transition: 0.8 ease;
  }
  .header .burger.active {
    opacity: 0;
  }
  .header .burger span {
    display: block;
    width: 8.2666666667vw;
    height: 0.8vw;
    background: #000;
    position: absolute;
  }
  .header .burger span:first-child {
    top: 0;
  }
  .header .burger span:nth-child(2) {
    top: 2.6666666667vw;
  }
  .header .burger span:last-child {
    bottom: 0;
  }
}
@media (max-width: 767px) {
  .header nav {
    position: absolute;
    top: 0;
    margin: 0 calc(50% - 50vw);
    width: 100vw;
    background: rgba(255, 255, 255, 0.95);
    border-bottom: 0.2666666667vw solid #cccccc;
    left: 100vw;
    transition: 0.8s ease;
  }
  .header nav.active {
    left: 0;
  }
}
@media screen and (min-width: 768px) {
  .header nav .crossbar {
    display: none;
  }
}
@media (max-width: 767px) {
  .header nav .crossbar {
    position: relative;
  }
  .header nav .crossbar p {
    position: absolute;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: 900;
    font-size: 13.3333333333vw;
    line-height: 12.2666666667vw;
    top: 5.3333333333vw;
    right: 5.3333333333vw;
  }
}
.header nav ul {
  display: flex;
  gap: 2.25vw;
  margin-right: 2vw;
}
@media (max-width: 767px) {
  .header nav ul {
    flex-direction: column;
    margin-right: unset;
    align-items: center;
    margin-block: 23.7333333333vw 35.4666666667vw;
    height: 100vh;
    gap: unset;
  }
}
.header nav ul li {
  font-family: "Zen Maru Gothic", serif;
  font-size: 1vw;
  font-weight: 500;
}
@media (max-width: 767px) {
  .header nav ul li {
    font-size: 4.8vw;
    line-height: 14.4vw;
    height: 14.4vw;
    width: 100%;
    text-align: center;
    border-top: 0.2666666667vw solid #cccccc;
  }
  .header nav ul li:last-child {
    border-bottom: 0.2666666667vw solid #cccccc;
  }
}
.header nav ul li a {
  color: #1a202c;
}
@media (max-width: 767px) {
  .header nav ul li a {
    display: block;
  }
}

.mainvisual {
  height: 41.625vw;
  background: url(../image/mv_bg@2x.png) no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .mainvisual {
    margin-top: 23.7333333333vw;
    height: 154.6666666667vw;
    background: url(../image/mv_bg_sp@2x.png) no-repeat;
    background-size: cover;
  }
}
.mainvisual__wrap {
  display: grid;
  place-items: center;
  padding-block: 3.625vw 3.6875vw;
}
@media (max-width: 767px) {
  .mainvisual__wrap {
    padding-block: 39.7333333333vw 41.3333333333vw;
  }
}
.mainvisual__wrap h2 {
  font-family: "Zen Maru Gothic", serif;
  font-size: 3.125vw;
  font-weight: 700;
  text-align: center;
  color: #fff;
  text-shadow: 0 0 0.625vw #000;
}
@media (max-width: 767px) {
  .mainvisual__wrap h2 {
    font-size: 8vw;
    line-height: 10.1333333333vw;
    text-shadow: 0 0 2.6666666667vw #000;
  }
}
.mainvisual__wrap img {
  width: 15.25vw;
  margin-top: 1.6875vw;
}
@media (max-width: 767px) {
  .mainvisual__wrap img {
    width: 36.5333333333vw;
    margin-top: 2.1333333333vw;
  }
}
.mainvisual__wrap h3 {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.625vw;
  font-weight: 700;
  line-height: 1.8125vw;
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: 2.75vw;
  text-shadow: 0 0 0.625vw #000;
  position: relative;
}
@media (max-width: 767px) {
  .mainvisual__wrap h3 {
    font-size: 4vw;
    line-height: 6.4vw;
    text-shadow: 0 0 2.6666666667vw #000;
    margin-top: 3.5733333333vw;
  }
}
.mainvisual__wrap h3::before, .mainvisual__wrap h3::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 2.4125vw;
  height: 0.1875vw;
  background: #fff;
  border-radius: 0.09375vw;
  box-shadow: 0 0 0.625vw #000;
  bottom: 0.77vw;
}
@media (max-width: 767px) {
  .mainvisual__wrap h3::before, .mainvisual__wrap h3::after {
    width: 4.6666666667vw;
    height: 0.5333333333vw;
    border-radius: 0.2666666667vw;
    box-shadow: 0 0 2.6666666667vw #000;
    bottom: 2.776vw;
  }
}
.mainvisual__wrap h3::before {
  transform: rotate(45deg);
  left: -2.61375vw;
}
@media (max-width: 767px) {
  .mainvisual__wrap h3::before {
    left: -5.04vw;
  }
}
.mainvisual__wrap h3::after {
  transform: rotate(-45deg);
  right: -2.61375vw;
}
@media (max-width: 767px) {
  .mainvisual__wrap h3::after {
    right: -5.04vw;
  }
}
.mainvisual__wrap .cta_btn {
  margin-top: 1.5625vw;
}
@media (max-width: 767px) {
  .mainvisual__wrap .cta_btn {
    margin-top: 1.76vw;
  }
}

.reason {
  padding-block: 6.625vw 8.5625vw;
}
@media (max-width: 767px) {
  .reason {
    padding-block: 14.9333333333vw 9.6vw;
  }
}
@media (max-width: 767px) {
  .reason-title {
    margin: 0 calc(50% - 50vw);
    width: 100vw;
  }
  .reason-title.ttlAccent h2::before, .reason-title.ttlAccent h2::after {
    content: none;
  }
}
.reason-contents {
  margin-top: 3.625vw;
}
@media (max-width: 767px) {
  .reason-contents {
    margin-top: 6.6666666667vw;
  }
}
.reason-item {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .reason-item {
    flex-direction: column-reverse;
    gap: 4.6933333333vw;
  }
}
.reason-item:not(:first-child) {
  margin-top: 5.1875vw;
}
@media (max-width: 767px) {
  .reason-item:not(:first-child) {
    margin-top: 13.2266666667vw;
  }
}
.reason-item .txt, .reason-item .img {
  width: 50%;
}
@media (max-width: 767px) {
  .reason-item .txt, .reason-item .img {
    width: 100%;
  }
}
.reason-item .txt {
  padding-right: 2.9375vw;
}
@media (max-width: 767px) {
  .reason-item .txt {
    padding-right: unset;
  }
}
.reason-item .txt .point {
  font-family: "Zen Maru Gothic", serif;
  font-weight: 900;
  color: #fff;
  font-size: 1.4375vw;
  letter-spacing: 0.05em;
  background: #0c449b;
  height: 2.75vw;
  padding-inline: 1.125vw;
  display: inline-block;
  border-radius: 1.375vw;
  line-height: 2.5vw;
  margin-top: unset;
}
@media (max-width: 767px) {
  .reason-item .txt .point {
    font-size: 4.2666666667vw;
    height: 8.2666666667vw;
    padding-inline: 3.4666666667vw;
    border-radius: 4.2666666667vw;
    line-height: 7.4666666667vw;
  }
}
.reason-item .txt .point span {
  font-size: 1.875vw;
  margin-left: 0.375vw;
}
@media (max-width: 767px) {
  .reason-item .txt .point span {
    font-size: 5.3333333333vw;
    margin-left: 1.0666666667vw;
  }
}
.reason-item .txt h3 {
  font-family: "Zen Maru Gothic", serif;
  color: #0c449b;
  font-size: 2.25vw;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 3.4375vw;
  margin-top: 0.8125vw;
}
@media (max-width: 767px) {
  .reason-item .txt h3 {
    font-size: 5.8666666667vw;
    line-height: 8.5333333333vw;
    margin-top: 2.1333333333vw;
  }
}
.reason-item .txt > p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.125vw;
  line-height: 2.25vw;
  margin-top: 0.6875vw;
  font-weight: 400;
}
@media (max-width: 767px) {
  .reason-item .txt > p {
    font-size: 4.2666666667vw;
    line-height: 6.9333333333vw;
    margin-top: 2.1333333333vw;
  }
}
@media (max-width: 767px) {
  .reason-item.reverse {
    flex-direction: column;
  }
}
.reason-item.reverse .txt {
  padding-inline: 2.9375vw 0;
}
@media (max-width: 767px) {
  .reason-item.reverse .txt {
    padding-inline: unset;
  }
}

.cta {
  height: 27.25vw;
  background: url(../image/cta_bg@2x.png) no-repeat;
  background-size: cover;
}
@media (max-width: 767px) {
  .cta {
    height: 74.4vw;
    background: url(../image/cta_bg_sp@2x.png) no-repeat;
    background-size: cover;
  }
}
.cta::before {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 27.25vw;
  background: rgba(12, 67, 155, 0.8);
}
@media (max-width: 767px) {
  .cta::before {
    height: 74.4vw;
  }
}
.cta__wrap {
  display: grid;
  place-items: center;
  padding-block: 3.1875vw 3.625vw;
  position: relative;
}
@media (max-width: 767px) {
  .cta__wrap {
    padding-block: 6.4vw 8.5333333333vw;
  }
}
.cta__wrap h2 {
  font-family: "Zen Maru Gothic", serif;
  font-size: 2.625vw;
  font-weight: 700;
  line-height: 3.8125vw;
  color: #fff;
}
@media (max-width: 767px) {
  .cta__wrap h2 {
    font-size: 6.4vw;
    line-height: 8.8vw;
    text-align: center;
  }
}
.cta__wrap .balloon {
  margin-top: 1.3125vw;
  background: #fffb57;
  color: #0c449b;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-size: 1.8125vw;
  line-height: 3.5vw;
  border-radius: 0.625vw;
  padding-inline: 2.21875vw;
  position: relative;
}
@media (max-width: 767px) {
  .cta__wrap .balloon {
    margin-top: 3.7333333333vw;
    font-size: 4.2666666667vw;
    height: 8.5333333333vw;
    line-height: 8.5333333333vw;
    border-radius: 2.6666666667vw;
    padding-inline: 3.3066666667vw 2.56vw;
  }
}
.cta__wrap .balloon::after {
  content: "";
  display: block;
  position: absolute;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  width: 2.1875vw;
  height: 1.25vw;
  background: #fffb57;
  left: 50%;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .cta__wrap .balloon::after {
    width: 5.0666666667vw;
    height: 3.2vw;
  }
}
.cta__wrap .cap {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.5vw;
  font-weight: 700;
  line-height: 3.125vw;
  letter-spacing: 0.05em;
  color: #fff;
  margin-top: 2.5vw;
  position: relative;
}
@media (max-width: 767px) {
  .cta__wrap .cap {
    font-size: 4.2666666667vw;
    line-height: 4.8vw;
    margin-top: 8.2666666667vw;
  }
}
.cta__wrap .cap::before, .cta__wrap .cap::after {
  content: "";
  display: inline-block;
  position: absolute;
  width: 2.1875vw;
  height: 0.1875vw;
  background: #fff;
  border-radius: 0.09375vw;
  bottom: 1.544375vw;
}
@media (max-width: 767px) {
  .cta__wrap .cap::before, .cta__wrap .cap::after {
    width: 5.1733333333vw;
    height: 0.5333333333vw;
    border-radius: 0.2666666667vw;
    bottom: 1.792vw;
  }
}
.cta__wrap .cap::before {
  transform: rotate(45deg);
  left: -2.419375vw;
}
@media (max-width: 767px) {
  .cta__wrap .cap::before {
    left: -5.952vw;
  }
}
.cta__wrap .cap::after {
  transform: rotate(-45deg);
  right: -2.419375vw;
}
@media (max-width: 767px) {
  .cta__wrap .cap::after {
    right: -5.952vw;
  }
}
.cta__wrap .cta_btn {
  margin-top: 0.6875vw;
}
@media (max-width: 767px) {
  .cta__wrap .cta_btn {
    margin-top: 2.6666666667vw;
  }
}

.service {
  margin-top: 6.75vw;
}
@media (max-width: 767px) {
  .service {
    margin-top: 12vw;
  }
}
.service-title.ttlAccent p {
  margin-bottom: 0.75vw;
}
@media screen and (min-width: 768px) {
  .service-title.ttlAccent h2::before {
    left: -5.44vw;
  }
}
.service-contents {
  display: grid;
  grid-template-columns: 23.125vw 23.125vw 23.125vw;
  grid-template-rows: 1fr 1fr;
  gap: 2.99375vw 2.8125vw;
  margin-top: 1.4375vw;
}
@media (max-width: 767px) {
  .service-contents {
    grid-template-columns: 100%;
    gap: 13.6vw;
    margin-top: 10.32vw;
  }
}
.service-item {
  text-align: center;
}
.service-item .img-box {
  width: 100%;
  height: 10.625vw;
}
@media (max-width: 767px) {
  .service-item .img-box {
    height: unset;
  }
}
.service-item .img-box.btm {
  height: 9.8125vw;
}
@media (max-width: 767px) {
  .service-item .img-box.btm {
    height: unset;
  }
}
.service-item .img-box.center {
  position: relative;
}
@media (max-width: 767px) {
  .service-item .img-box.center {
    position: unset;
  }
}
.service-item .img-box.center img {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .service-item .img-box.center img {
    position: unset;
    transform: unset;
  }
}
.service-item:nth-child(1) img {
  width: 10.25vw;
}
@media (max-width: 767px) {
  .service-item:nth-child(1) img {
    width: 32.8453333333vw;
  }
}
.service-item:nth-child(2) img {
  width: 11.625vw;
}
@media (max-width: 767px) {
  .service-item:nth-child(2) img {
    width: 40.352vw;
  }
}
.service-item:nth-child(3) img {
  width: 9.5vw;
}
@media (max-width: 767px) {
  .service-item:nth-child(3) img {
    width: 33.8506666667vw;
  }
}
.service-item:nth-child(4) img {
  width: 8.5625vw;
}
@media (max-width: 767px) {
  .service-item:nth-child(4) img {
    width: 31.9493333333vw;
  }
}
.service-item:nth-child(5) img {
  width: 9.8125vw;
}
@media (max-width: 767px) {
  .service-item:nth-child(5) img {
    width: 34.872vw;
  }
}
.service-item:nth-child(6) img {
  width: 12.6875vw;
}
@media (max-width: 767px) {
  .service-item:nth-child(6) img {
    width: 42.4053333333vw;
  }
}
.service-item h3 {
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.875vw;
  font-weight: 700;
  line-height: 3.125vw;
  color: #0c449b;
}
@media (max-width: 767px) {
  .service-item h3 {
    font-size: 5.8666666667vw;
    line-height: 13.3333333333vw;
  }
}
.service-item p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.125vw;
  font-weight: 400;
  line-height: 1.875vw;
  color: #333333;
  margin-top: 0.625vw;
}
@media (max-width: 767px) {
  .service-item p {
    font-size: 4.2666666667vw;
    line-height: 6.4vw;
    margin-top: unset;
  }
}

.sample {
  margin-block: 7.0625vw 9.1875vw;
}
@media (max-width: 767px) {
  .sample {
    margin-block: 21.2266666667vw 22.4vw;
  }
}
.sample-contents {
  display: grid;
  grid-template-columns: 23.125vw 23.125vw 23.125vw;
  grid-template-rows: 1fr 1fr;
  gap: 3.125vw 2.875vw;
  margin-top: 3.3125vw;
}
@media (max-width: 767px) {
  .sample-contents {
    grid-template-columns: 100%;
    gap: 10.6666666667vw;
    margin-top: 8.5333333333vw;
  }
}
.sample-item h3 {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.5625vw;
  font-weight: 700;
  line-height: 3.125vw;
  color: #0c449b;
}
@media (max-width: 767px) {
  .sample-item h3 {
    font-size: 5.8666666667vw;
    line-height: 6.4vw;
    margin-top: 2.6666666667vw;
  }
}
.sample-item h3.small {
  font-size: 1.5vw;
}
@media (max-width: 767px) {
  .sample-item h3.small {
    font-size: 5.8666666667vw;
    line-height: 6.4vw;
  }
}

.flow {
  margin-top: 5.5625vw;
}
@media (max-width: 767px) {
  .flow {
    margin-top: 19.7333333333vw;
  }
}
.flow-movie {
  width: 50vw;
  margin: 0 auto;
  aspect-ratio: 16/9;
  margin-top: 1.48125vw;
}
@media (max-width: 767px) {
  .flow-movie {
    width: 100%;
    margin-top: 8.5333333333vw;
  }
}
.flow-movie iframe {
  width: 100%;
  height: 100%;
}
.flow-contents {
  display: grid;
  grid-template-columns: 16.875vw 16.875vw 16.875vw 16.875vw;
  gap: 2.5vw;
  margin-top: 2.73125vw;
}
@media (max-width: 767px) {
  .flow-contents {
    grid-template-columns: 100%;
    gap: 10.1333333333vw;
    margin-top: 14vw;
  }
}
.flow-item {
  position: relative;
}
.flow-item .num {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 3.125vw;
  font-weight: 700;
  line-height: 3.125vw;
  color: #2db6e8;
}
@media (max-width: 767px) {
  .flow-item .num {
    position: absolute;
    top: 0;
    left: 0;
    font-size: 13.3333333333vw;
    line-height: 13.3333333333vw;
  }
}
.flow-item:nth-child(1) img {
  width: 9.87vw;
}
@media (max-width: 767px) {
  .flow-item:nth-child(1) img {
    width: 33.808vw;
  }
}
.flow-item:nth-child(2) img {
  width: 11.059375vw;
}
@media (max-width: 767px) {
  .flow-item:nth-child(2) img {
    width: 36.144vw;
  }
}
.flow-item:nth-child(3) img {
  width: 8.8525vw;
}
@media (max-width: 767px) {
  .flow-item:nth-child(3) img {
    width: 28.9306666667vw;
  }
}
.flow-item:nth-child(4) img {
  width: 12.08375vw;
}
@media (max-width: 767px) {
  .flow-item:nth-child(4) img {
    width: 39.4933333333vw;
  }
}
.flow-inner {
  display: grid;
  place-items: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}
.flow-inner .img-box {
  height: 11.605625vw;
}
@media (max-width: 767px) {
  .flow-inner .img-box {
    height: unset;
  }
}
.flow-inner .img-box.center {
  position: relative;
}
@media (max-width: 767px) {
  .flow-inner .img-box.center {
    position: unset;
  }
}
.flow-inner .img-box.center img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .flow-inner .img-box.center img {
    position: unset;
    transform: unset;
  }
}
.flow-inner h3 {
  font-size: 1.625vw;
  font-weight: 700;
  line-height: 1.625vw;
  color: #0c449b;
}
@media (max-width: 767px) {
  .flow-inner h3 {
    font-size: 5.8666666667vw;
    line-height: 8.5333333333vw;
    margin-top: 3.2vw;
  }
}
.flow-inner p {
  font-size: 1.125vw;
  font-weight: 400;
  line-height: 1.875vw;
  margin-top: 1.3125vw;
}
@media (max-width: 767px) {
  .flow-inner p {
    font-size: 4.2666666667vw;
    line-height: 6.9333333333vw;
    margin-top: 4vw;
  }
}
.flow-inner p.small {
  font-size: 0.875vw;
  line-height: 1.375vw;
  color: #666;
  margin-top: 1.625vw;
}
@media (max-width: 767px) {
  .flow-inner p.small {
    font-size: 3.7333333333vw;
    line-height: 5.8666666667vw;
  }
}

.payment {
  margin-top: 7vw;
  background: #f5f5f5;
}
@media (max-width: 767px) {
  .payment {
    margin-top: 14.6666666667vw;
  }
}
.payment__wrap {
  padding-block: 6.625vw 7.3125vw;
}
@media (max-width: 767px) {
  .payment__wrap {
    padding-block: 15.7333333333vw 20.5333333333vw;
  }
}
.payment-contents {
  margin-top: 2.8125vw;
}
@media (max-width: 767px) {
  .payment-contents {
    margin-top: 7.2vw;
  }
}
.payment-item {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
}
.payment-item:not(:first-child) {
  margin-top: 3.4375vw;
}
@media (max-width: 767px) {
  .payment-item:not(:first-child) {
    margin-top: 12.2666666667vw;
  }
}
.payment-item h3 {
  font-size: 1.625vw;
  line-height: 3.125vw;
  color: #333333;
  font-weight: 700;
  padding-bottom: 0.25vw;
  border-bottom: 0.1875vw solid #0c449b;
}
@media (max-width: 767px) {
  .payment-item h3 {
    font-size: 5.8666666667vw;
    line-height: 13.3333333333vw;
    padding-bottom: 1.0666666667vw;
    border-bottom: 0.8vw solid #0c449b;
  }
}
.payment-item p {
  font-size: 1.125vw;
  font-weight: 400;
  line-height: 1.875vw;
  color: #333333;
  margin-top: 1.125vw;
}
@media (max-width: 767px) {
  .payment-item p {
    font-size: 4.2666666667vw;
    line-height: 6.9333333333vw;
    margin-top: 1.3333333333vw;
  }
}
.payment-item img {
  width: 23.6875vw;
  margin-top: 2.125vw;
}
@media (max-width: 767px) {
  .payment-item img {
    width: 84.5333333333vw;
    margin-top: 5.8666666667vw;
  }
}

.faq {
  margin-block: 5.9375vw 8.625vw;
}
@media (max-width: 767px) {
  .faq {
    margin-block: 15.2vw 9.3333333333vw;
  }
}
.faq-contents {
  margin-top: 1.9375vw;
}
@media (max-width: 767px) {
  .faq-contents {
    margin-top: 7.2vw;
  }
}
.faq-item {
  padding-bottom: 2.1875vw;
}
@media (max-width: 767px) {
  .faq-item {
    padding-bottom: 10.4vw;
  }
}
.faq-item:not(:first-child) {
  border-top: 0.0625vw solid #cccccc;
  padding-top: 1.5625vw;
}
@media (max-width: 767px) {
  .faq-item:not(:first-child) {
    border-top: 0.2666666667vw solid #cccccc;
    padding-top: 5.0666666667vw;
  }
}
.faq-item .question, .faq-item .answer {
  display: flex;
  gap: 0.9375vw;
}
@media (max-width: 767px) {
  .faq-item .question, .faq-item .answer {
    gap: 2.9333333333vw;
  }
}
.faq-item .question .iconQ, .faq-item .question .iconA, .faq-item .answer .iconQ, .faq-item .answer .iconA {
  width: 2.9375vw;
  height: 2.9375vw;
  line-height: 2.5vw;
  text-align: center;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.875vw;
  font-weight: bold;
  border-radius: 50%;
}
@media (max-width: 767px) {
  .faq-item .question .iconQ, .faq-item .question .iconA, .faq-item .answer .iconQ, .faq-item .answer .iconA {
    width: 8.5333333333vw;
    height: 8.5333333333vw;
    line-height: 7.4666666667vw;
    font-size: 5.3333333333vw;
  }
}
.faq-item .question {
  align-items: center;
}
.faq-item .question p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 2vw;
  line-height: 3.125vw;
  font-weight: bold;
  color: #333333;
}
@media (max-width: 767px) {
  .faq-item .question p {
    font-size: 5.6vw;
    line-height: 13.3333333333vw;
  }
}
.faq-item .question .iconQ {
  background: #0c449b;
}
.faq-item .answer {
  margin-top: 1.9375vw;
}
@media (max-width: 767px) {
  .faq-item .answer {
    margin-top: unset;
  }
}
.faq-item .answer p {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1.125vw;
  line-height: 1.875vw;
  font-weight: 400;
  color: #333333;
  width: 71.125vw;
}
@media (max-width: 767px) {
  .faq-item .answer p {
    font-size: 4.2666666667vw;
    line-height: 6.9333333333vw;
    width: 81.0666666667vw;
  }
}
.faq-item .answer .iconA {
  background: #ff9d06;
}

.footer {
  display: grid;
  place-items: center;
  padding-block: 2.6875vw 3.5vw;
}
@media (max-width: 767px) {
  .footer {
    padding-block: 9.0666666667vw 10.1333333333vw;
  }
}
.footer nav ul {
  display: flex;
  gap: 2.4375vw;
}
@media (max-width: 767px) {
  .footer nav ul {
    display: grid;
    grid-template-columns: 38.4vw 38.4vw;
    gap: 4.8vw 9.0666666667vw;
  }
}
.footer nav ul li {
  font-family: "Zen Maru Gothic", serif;
  font-size: 1.125vw;
  font-weight: 500;
  line-height: 3.875vw;
}
@media (max-width: 767px) {
  .footer nav ul li {
    font-size: 4.8vw;
    line-height: 6.4vw;
  }
}
.footer nav ul li a {
  color: #1a202c;
}
.footer-logo {
  margin: 0 auto;
  margin-top: 1.8125vw;
}
@media (max-width: 767px) {
  .footer-logo.logoarea {
    width: 100%;
    margin-top: 9.8666666667vw;
  }
  .footer-logo.logoarea p {
    font-size: 3.7333333333vw;
    line-height: 5.3333333333vw;
  }
  .footer-logo.logoarea img {
    width: 100%;
    margin-top: 2.6666666667vw;
  }
}
.footer-copyright {
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 0.875vw;
  font-weight: 400;
  line-height: 1.75vw;
  margin-top: 2.125vw;
}
@media (max-width: 767px) {
  .footer-copyright {
    font-size: 3.7333333333vw;
    line-height: 3.7333333333vw;
    margin-top: 11.2vw;
  }
}/*# sourceMappingURL=style.css.map */