@charset "UTF-8";

*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}
*, *::before, *::after {
  box-sizing: border-box;
}
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}
a, button {
  cursor: revert;
}
ol, ul, menu, summary {
  list-style: none;
}
img {
  max-inline-size: 100%;
  max-block-size: 100%;
}
table {
  border-collapse: collapse;
}
input, textarea {
  -webkit-user-select: auto;
}
textarea {
  white-space: revert;
}
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
  appearance: revert;
}
:where(pre) {
  all: revert;
  box-sizing: border-box;
}
::-moz-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}
:where([hidden]) {
  display: none;
}
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}
:where([draggable=true]) {
  -webkit-user-drag: element;
}
:where(dialog:modal) {
  all: revert;
  box-sizing: border-box;
}
::-webkit-details-marker {
  display: none;
}
html {
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  scroll-behavior: smooth;
}
body {
  position: relative;
  z-index: 0;
  font-family: "Noto Sans JP", "Helvetica Neue", arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", meiryo, sans-serif;
  font-size: 3.7333333333vw;
  font-weight: 400;
  font-feature-settings: "palt";
  font-optical-sizing: auto;
  font-style: normal;
  line-height: 2;
  color: #000;
  overflow-wrap: break-word;
  background-color: #fff;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  text-size-adjust: 100%;
  font-synthesis: none;
  line-break: strict;
  letter-spacing: 0.04em;
}
@media screen and (min-width: 769px) {
  body {
    font-size: .875rem;
  }
}
img {
  width: 100%;
  max-width: none;
  height: auto;
  vertical-align: top;
}
.wrapper {
  width: 100%;
  min-height: 100%;
  min-height: 100svh;
  overflow: clip;
  position: relative;
  z-index: 0;
}
.loader {
  display: block;
  width: 100%;
  height: 100%;
  height: 100vh;
  background-color: #fff;
  margin: auto;
  position: fixed;
  z-index: 100;
  inset: 0;
}
.loader.is-end {
  display: none;
}
.loader_container {
  display: block;
  width: 240px;
  height: 240px;
  margin: auto;
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.loader_box {
  display: block;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  position: relative;
  z-index: 0;
  margin: 70px auto;
  font-size: 1rem;
  text-indent: -9999px;
  border-top: 10px solid rgba(204, 204, 204, .2);
  border-right: 10px solid rgba(204, 204, 204, .2);
  border-bottom: 10px solid rgba(204, 204, 204, .2);
  border-left: 10px solid #ccc;
  transform: translateZ(0);
  animation: loading 1.1s infinite linear;
}
@keyframes loading {
  0% {
    transform: translateZ(0) rotate(0deg);
  }
  100% {
    transform: translateZ(0) rotate(360deg);
  }
}
.header {
  display: flex;
  width: 100%;
  height: 16vw;
  align-items: center;
  justify-content: space-between;
  position: relative;
  z-index: 50;
}
@media screen and (min-width: 769px) {
  .header {
    height: auto;
    padding-top: 20px;
  }
}
.header_logo {
  display: block;
  width: 10.6666666667vw;
  height: 7.4666666667vw;
  margin: 0 0 0 3.7333333333vw;
}
@media screen and (min-width: 769px) {
  .header_logo {
    width: 64px;
    height: 46px;
    margin-left: 24px;
  }
}
.header_nav {
  display: none;
}
@media screen and (min-width: 769px) {
  .header_nav {
    display: block;
    flex: 1 0 0;
    margin-right: 30px;
  }
}
.header_btn {
  display: grid;
  place-content: center;
  width: 16vw;
  height: 16vw;
  background-color: #1480ff;
  border-radius: 0 0 0 4.2666666667vw;
  border: none;
  margin: 0;
  padding: 0;
  position: fixed;
  top: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .header_btn {
    display: none;
  }
}
.header_btn_bar, .header_btn_bar::before, .header_btn_bar::after {
  width: 9.0666666667vw;
  border-bottom: 2px solid #fff;
}
.header_btn_bar {
  height: 6.4vw;
  position: relative;
}
.header_btn_bar::before, .header_btn_bar::after {
  content: "";
  display: block;
  position: absolute;
}
.header_btn_bar::before {
  top: 0;
}
.header_btn_bar::after {
  height: 0;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.nav {
  display: flex;
  align-items: center;
  justify-content: end;
  padding: 0;
  margin: 0;
  list-style: none;
  gap: 30px;
}
.nav_item {
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.7777777778;
  letter-spacing: 0.16em;
}
.nav_link {
  text-decoration: none;
  color: #000;
}
@media(hover: hover) {
  .nav_link:hover {
    color: #1480ff;
    border-bottom: 2px solid #1480ff;
  }
}
.nav_link-contact {
  display: grid;
  place-content: center;
  width: 180px;
  height: 50px;
  font-weight: 500;
  background-color: #1480ff;
  color: #fff;
  border-radius: 100vw;
}
@media(hover: hover) {
  .nav_link-contact:hover {
    color: #fff;
    border-bottom: none;
  }
}
.menu {
  display: flex;
  position: fixed;
  z-index: 60;
  align-items: flex-start;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  margin: auto;
  inset: 0;
  background-color: rgba(0, 0, 0, .1);
  visibility: hidden;
  opacity: 0;
}
.menu.is-open {
  visibility: visible;
  opacity: 1;
}
.menu_container {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  height: 100svh;
  overflow: hidden;
  overflow-y: auto;
  overscroll-behavior: none;
  background-color: rgba(0, 126, 226, .95);
  border-radius: 0 0 0 16.5333333333vw;
  transition: transform .2s ease-out;
  transform: translate3d(100vw, 0, 0);
}
.is-open .menu_container {
  transform: translate3d(0, 0, 0);
}
@media screen and (min-width: 769px) {
  .menu_container {
    width: 100%;
    max-width: 412px;
    height: 100%;
    min-height: 600px;
    max-height: 800px;
    border-radius: 0 0 0 60px;
  }
}
.menu_close {
  display: block;
  width: 9.0666666667vw;
  height: 10.9333333333vw;
  position: sticky;
  z-index: 10;
  top: 0;
  margin-left: auto;
  margin-right: 2.6666666667vw;
  padding-top: 4vw;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .menu_close {
    width: 34px;
    height: 54px;
    margin-right: 32px;
    padding-top: 28px;
  }
}
.menu_lst {
  display: block;
  width: 100%;
  padding: 13.3333333333vw 0 10.6666666667vw 18.1333333333vw;
}
@media screen and (min-width: 769px) {
  .menu_lst {
    padding: 30px 0 30px 68px;
  }
}
.menu_item {
  font-size: 5.3333333333vw;
  font-weight: 700;
  letter-spacing: 0.16em;
}
.menu_item:not(:first-child) {
  margin-top: 9.6vw;
}
.menu_item:last-child {
  margin-top: 17.0666666667vw;
}
@media screen and (min-width: 769px) {
  .menu_item {
    font-size: 1.5rem;
  }
  .menu_item:not(:first-child) {
    margin-top: 35px;
  }
  .menu_item:last-child {
    margin-top: 80px;
  }
}
.menu_link {
  color: #fff;
}
@media(hover: hover) {
  .menu_link:hover {
    border-bottom: 2px solid #fff;
  }
}
.menu_floating {
  display: none;
}
@media screen and (min-width: 769px) {
  .menu_floating {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    width: 120px;
    height: 120px;
    background-color: #fff;
    border: 4px solid #1480ff;
    border-radius: 50%;
    position: fixed;
    z-index: 60;
    bottom: 40px;
    right: 40px;
    font-size: 1.125rem;
    font-family: "Oswald", sans-serif;
    font-weight: 400;
    color: #1480ff;
    padding-top: 10px;
    box-shadow: 7px 7px 6px rgba(0, 0, 0, .2);
    opacity: 0;
    visibility: hidden;
    transition: opacity .2s ease-out;
    cursor: pointer;
    letter-spacing: 0.03em;
  }
  .menu_floating.is-show {
    opacity: 1;
    visibility: visible;
  }
}
.menu_floating_bar {
  display: block;
  width: 34px;
  height: 26px;
  border-top: 3px solid #1480ff;
  border-bottom: 3px solid #1480ff;
  margin-top: 6px;
  position: relative;
}
.menu_floating_bar::before {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  border-top: 3px solid #1480ff;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto 0;
}
.contents {
  margin-top: -16vw;
  position: relative;
  z-index: 0;
}
@media screen and (min-width: 769px) {
  .contents {
    margin-top: -70px;
  }
}
.contents_bg {
  position: absolute;
  z-index: 0;
}
.contents_bg-1 {
  width: 129.8666666667vw;
  height: 63.2vw;
  top: -57.6vw;
  left: -35.2vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-1 {
    width: 932px;
    height: 453px;
    top: -360px;
    left: -162px;
  }
}
.contents_bg-2 {
  display: none;
}
@media screen and (min-width: 769px) {
  .contents_bg-2 {
    display: block;
    width: 604px;
    height: 388px;
    top: -106px;
    right: -370px;
  }
}
.contents_bg-3 {
  width: 65.8666666667vw;
  height: 141.3333333333vw;
  top: 26.6666666667vw;
  left: -45.3333333333vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-3 {
    width: 674px;
    height: 1012px;
    top: 196px;
    left: -320px;
  }
}
.contents_bg-4 {
  width: 162.1333333333vw;
  height: 364.2666666667vw;
  top: 93.3333333333vw;
  right: -106.6666666667vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-4 {
    width: 928px;
    height: 1644px;
    top: 340px;
    right: -320px;
  }
}
.contents_bg-5 {
  width: 173.8666666667vw;
  height: 142.4vw;
  top: 304vw;
  left: -129.0666666667vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-5 {
    width: 1068px;
    height: 812px;
    top: 1336px;
    left: -480px;
    z-index: 1;
  }
}
.contents_bg-6 {
  width: 305.3333333333vw;
  height: 129.8666666667vw;
  top: 361.6vw;
  left: -136vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-6 {
    width: 1908px;
    height: 812px;
    top: 1500px;
    left: -360px;
  }
}
.contents_bg-7 {
  display: none;
}
@media screen and (min-width: 769px) {
  .contents_bg-7 {
    display: block;
    width: 934px;
    height: 792px;
    bottom: -576px;
    left: -160px;
  }
}
.contents_bg-8 {
  width: 192.5333333333vw;
  height: 105.6vw;
  bottom: -25.6vw;
  left: -120vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-8 {
    width: 1368px;
    height: 778px;
    bottom: -300px;
    left: -390px;
  }
}
.contents_bg-9 {
  width: 204.5333333333vw;
  height: 89.0666666667vw;
  bottom: -35.7333333333vw;
  right: -144vw;
}
@media screen and (min-width: 769px) {
  .contents_bg-9 {
    width: 1326px;
    height: 582px;
    bottom: -300px;
    right: -472px;
  }
}
.kv {
  display: block;
  width: 100%;
  min-height: 100%;
  min-height: 100svh;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .kv {
    min-height: 0;
  }
}
.kv_container {
  width: 100%;
  min-height: 185.0666666667vw;
  margin: 0 auto;
  position: relative;
}
@media screen and (min-width: 769px) {
  .kv_container {
    max-width: 1440px;
    min-height: min(67.3611111111vw, 970px);
  }
}
.kv_tit {
  margin: 0 0 0 4.8vw;
  padding-top: 28.2666666667vw;
  width: 85.3333333333vw;
  height: 82.6666666667vw;
  position: relative;
  z-index: 100;
}
@media screen and (min-width: 769px) {
  .kv_tit {
    margin: 0 auto 0;
    padding-top: min(11.6666666667vw, 168px);
    width: min(37.0833333333vw, 534px);
    height: min(36.3888888889vw, 524px);
    transform: translateX(min(-1.8055555556vw, -26px));
  }
}
.kv_scroll {
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  position: absolute;
  z-index: 100;
  top: calc(100svh - 18.6666666667vw);
  left: 0;
  right: 0;
}
@media screen and (min-width: 769px) {
  .kv_scroll {
    top: min(48.6111111111vw, 700px);
    transform: translateX(min(0.8333333333vw, 12px));
  }
}
.kv_scroll::before, .kv_scroll::after {
  content: "";
  display: block;
}
.kv_scroll::before {
  width: 2.9333333333vw;
  height: 12.2666666667vw;
  background-color: #000;
  border: 5px solid #fff;
  position: absolute;
  bottom: -12.2666666667vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .kv_scroll::before {
    width: 11px;
    height: 65px;
    bottom: -65px;
  }
}
.kv_scroll::after {
  width: 2.1333333333vw;
  height: 2.1333333333vw;
  background-color: #007ee2;
  border-radius: 50%;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2.6666666667vw;
  margin: 0 auto;
  animation: scrollPointSP 1s linear infinite;
}
@media screen and (min-width: 769px) {
  .kv_scroll::after {
    width: 14px;
    height: 14px;
    bottom: -14px;
    animation: scrollPointPC 1s linear infinite;
  }
}
.kv_scroll_txt {
  display: grid;
  place-content: center;
  width: -moz-fit-content;
  width: fit-content;
  padding: 2px 8px;
  font-size: 2.6666666667vw;
  font-weight: 700;
  line-height: 1.2;
  background-color: #fff;
  border-radius: 8px/50%;
}
@media screen and (min-width: 769px) {
  .kv_scroll_txt {
    font-size: .875rem;
  }
}
.kv_inner {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  margin: auto;
  z-index: 0;
  overflow-x: hidden;
}
@media screen and (min-width: 769px) {
  .kv_inner {
    overflow-x: visible;
  }
}
.kv_map {
  display: block;
  width: 134.6666666667vw;
  height: 84.8vw;
  position: absolute;
  z-index: 0;
  top: 85.3333333333vw;
  left: -11.7333333333vw;
  opacity: 0;
  transform: translate3d(0, 20px, 0);
}
@media screen and (min-width: 769px) {
  .kv_map {
    width: min(82.9861111111vw, 1195px);
    height: min(52.3611111111vw, 754px);
    top: min(14.7222222222vw, 212px);
    left: min(19.3055555556vw, 278px);
  }
}
.is-show .kv_map {
  animation: fadeUpAnime .3s ease-out forwards;
}
.kv_ico {
  display: block;
  position: absolute;
  z-index: 10;
  opacity: 0;
}
.kv_ico-1 {
  width: 12.2666666667vw;
  height: 16.5333333333vw;
  top: 7.4666666667vw;
  left: 60.8vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-1 {
    width: min(5.4166666667vw, 78px);
    height: min(7.0833333333vw, 102px);
    top: min(2.7777777778vw, 40px);
    left: min(40.8333333333vw, 588px);
  }
}
.is-show .kv_ico-1 {
  animation: ico1sp .3s ease-out forwards .3s;
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-1 {
    animation: ico1pc .3s ease-out forwards .3s;
  }
}
.kv_ico-2 {
  width: 13.3333333333vw;
  height: 13.8666666667vw;
  top: 122.1333333333vw;
  left: 7.4666666667vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-2 {
    width: min(5.6944444444vw, 82px);
    height: min(6.1111111111vw, 88px);
    top: min(9.0277777778vw, 130px);
    left: min(62.5vw, 900px);
  }
}
.is-show .kv_ico-2 {
  animation: ico2sp .3s ease-out forwards .5s;
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-2 {
    animation: ico2pc .3s ease-out forwards .5s;
  }
}
.kv_ico-3 {
  width: 25.6vw;
  height: 14.9333333333vw;
  top: 85.3333333333vw;
  left: 74.6666666667vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-3 {
    width: min(10.9722222222vw, 158px);
    height: min(6.5277777778vw, 94px);
    top: min(8.1944444444vw, 118px);
    left: min(82.9166666667vw, 1194px);
  }
}
.is-show .kv_ico-3 {
  animation: ico3sp .3s ease-out forwards .4s;
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-3 {
    animation: ico3pc .3s ease-out forwards .4s;
  }
}
.kv_ico-4 {
  width: 23.4666666667vw;
  height: 16vw;
  top: 25.0666666667vw;
  left: 84.8vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-4 {
    width: min(10vw, 144px);
    height: min(6.8055555556vw, 98px);
    top: min(23.0555555556vw, 332px);
    left: min(91.1111111111vw, 1312px);
  }
}
.is-show .kv_ico-4 {
  animation: ico4sp .3s ease-out forwards .5s;
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-4 {
    animation: ico4pc .3s ease-out forwards .5s;
  }
}
.kv_ico-5 {
  width: 18.6666666667vw;
  height: 21.8666666667vw;
  top: 121.0666666667vw;
  left: 80.5333333333vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-5 {
    width: min(8.0555555556vw, 116px);
    height: min(9.4444444444vw, 136px);
    top: min(28.1944444444vw, 406px);
    left: min(82.2222222222vw, 1184px);
  }
}
.is-show .kv_ico-5 {
  animation: ico5sp .3s ease-out forwards .6s;
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-5 {
    animation: ico5pc .3s ease-out forwards .6s;
  }
}
.kv_ico-6 {
  display: none;
}
@media screen and (min-width: 769px) {
  .kv_ico-6 {
    display: block;
    width: min(6.8055555556vw, 98px);
    height: min(5vw, 72px);
    top: min(45.1388888889vw, 650px);
    left: min(76.5277777778vw, 1102px);
  }
  .is-show .kv_ico-6 {
    animation: ico6pc .3s ease-out forwards .3s;
  }
}
.kv_ico-7 {
  width: 16.5333333333vw;
  height: 13.8666666667vw;
  top: 170.6666666667vw;
  left: 82.1333333333vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-7 {
    width: min(7.2222222222vw, 104px);
    height: min(6.1111111111vw, 88px);
    top: min(48.75vw, 702px);
    left: min(60.9722222222vw, 878px);
  }
}
.is-show .kv_ico-7 {
  animation: ico7sp .3s ease-out forwards .4s;
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-7 {
    animation: ico7pc .3s ease-out forwards .4s;
  }
}
.kv_ico-8 {
  width: 14.9333333333vw;
  height: 12.2666666667vw;
  top: 86.9333333333vw;
  left: 3.2vw;
}
@media screen and (min-width: 769px) {
  .kv_ico-8 {
    width: min(6.3888888889vw, 92px);
    height: min(5.1388888889vw, 74px);
    top: min(36.5277777778vw, 526px);
    left: min(29.0277777778vw, 418px);
  }
}
.is-show .kv_ico-8 {
  animation: ico8sp .3s ease-out forwards .3s
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-8 {
    animation: ico8pc .3s ease-out forwards .3s
  }
}
.kv_ico-9 {
  width: 26.1333333333vw;
  height: 16vw;
  top: 67.2vw;
  left: -16vw
}
@media screen and (min-width: 769px) {
  .kv_ico-9 {
    width: min(11.3888888889vw, 164px);
    height: min(6.8055555556vw, 98px);
    top: min(29.4444444444vw, 424px);
    left: min(4.7222222222vw, 68px)
  }
}
.is-show .kv_ico-9 {
  animation: ico9sp .3s ease-out forwards .6s
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-9 {
    animation: ico9pc .3s ease-out forwards .6s
  }
}
.kv_ico-10 {
  width: 14.4vw;
  height: 19.7333333333vw;
  top: 10.6666666667vw;
  left: 20.8vw
}
@media screen and (min-width: 769px) {
  .kv_ico-10 {
    width: min(6.25vw, 90px);
    height: min(8.4722222222vw, 122px);
    top: min(10vw, 144px);
    left: min(5.9722222222vw, 86px)
  }
}
.is-show .kv_ico-10 {
  animation: ico10sp .3s ease-out forwards .7s
}
@media screen and (min-width: 769px) {
  .is-show .kv_ico-10 {
    animation: ico10pc .3s ease-out forwards .7s
  }
}
.kv_ico-11 {
  display: none
}
@media screen and (min-width: 769px) {
  .kv_ico-11 {
    display: block;
    width: min(5.5555555556vw, 80px);
    height: min(6.3888888889vw, 92px);
    top: min(2.2222222222vw, 32px);
    left: min(19.8611111111vw, 286px)
  }
  .is-show .kv_ico-11 {
    animation: ico11pc .3s ease-out forwards .3s
  }
}
.kv_read {
  width: 104.5333333333vw;
  height: 43.7333333333vw;
  position: absolute;
  z-index: 20;
  top: 140.8vw;
  left: -1.6vw;
  opacity: 0;
  transform: translate3d(0, 20px, 0)
}
@media screen and (min-width: 769px) {
  .kv_read {
    width: min(102.7777777778vw, 1480px);
    height: min(16.3888888889vw, 236px);
    top: min(39.5833333333vw, 570px);
    left: min(-1.25vw, -18px);
    z-index: 5
  }
}
.is-show .kv_read {
  animation: fadeUpAnime .3s ease-out forwards
}
.kv_human {
  width: 58.1333333333vw;
  height: 78.4vw;
  position: absolute;
  z-index: 30;
  top: 85.8666666667vw;
  left: 20.8vw
}
@media screen and (min-width: 769px) {
  .kv_human {
    width: min(60.2777777778vw, 868px);
    height: min(28.0555555556vw, 404px);
    top: min(16.25vw, 234px);
    left: min(18.4027777778vw, 265px)
  }
}
@keyframes scrollPointSP {
  0% {
    transform: translate3d(0, 0, 0)
  }
  10% {
    transform: translate3d(0, 0, 0)
  }
  100% {
    transform: translate3d(0, 9.6vw, 0)
  }
}
@keyframes scrollPointPC {
  0% {
    transform: translate3d(0, 0, 0)
  }
  10% {
    transform: translate3d(0, 0, 0)
  }
  100% {
    transform: translate3d(0, 54px, 0)
  }
}
@keyframes fadeUpAnime {
  0% {
    opacity: 0;
    transform: translate3d(0, 20px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico1sp {
  0% {
    opacity: 0;
    transform: translate3d(-15px, 40px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico1pc {
  0% {
    opacity: 0;
    transform: translate3d(40%, 50%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico2sp {
  0% {
    opacity: 0;
    transform: translate3d(20px, -40px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico2pc {
  0% {
    opacity: 0;
    transform: translate3d(-60%, 80%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico3sp {
  0% {
    opacity: 0;
    transform: translate3d(-40px, 0, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico3pc {
  0% {
    opacity: 0;
    transform: translate3d(-40%, 80%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico4sp {
  0% {
    opacity: 0;
    transform: translate3d(-30px, 40px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico4pc {
  0% {
    opacity: 0;
    transform: translate3d(-100%, 10%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico5sp {
  0% {
    opacity: 0;
    transform: translate3d(-30px, -30px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico5pc {
  0% {
    opacity: 0;
    transform: translate3d(-30%, 5%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico6pc {
  0% {
    opacity: 0;
    transform: translate3d(-30%, -30%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico7sp {
  0% {
    opacity: 0;
    transform: translate3d(-60px, -60px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico7pc {
  0% {
    opacity: 0;
    transform: translate3d(-30%, -70%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico8sp {
  0% {
    opacity: 0;
    transform: translate3d(30px, 0, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico8pc {
  0% {
    opacity: 0;
    transform: translate3d(60%, 0, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico9sp {
  0% {
    opacity: 0;
    transform: translate3d(30px, 20px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico9pc {
  0% {
    opacity: 0;
    transform: translate3d(80%, 10%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico10sp {
  0% {
    opacity: 0;
    transform: translate3d(10px, 60px, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico10pc {
  0% {
    opacity: 0;
    transform: translate3d(80%, 50%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
@keyframes ico11pc {
  0% {
    opacity: 0;
    transform: translate3d(20%, 60%, 0)
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0)
  }
}
.mg {
  padding-top: 34.6666666667vw;
  padding-bottom: 85.3333333333vw;
  position: relative;
  z-index: 10
}
@media screen and (min-width: 769px) {
  .mg {
    padding-top: 50px;
    padding-bottom: 400px
  }
}
.mg_container {
  width: 84vw;
  margin: 0 auto;
  position: relative;
  z-index: 0
}
@media screen and (min-width: 769px) {
  .mg_container {
    width: 100%;
    max-width: 1440px
  }
}
.mg_tit {
  font-size: 9.0666666667vw;
  font-weight: 700;
  text-align: center;
  color: #007ee2;
  margin: 0;
  letter-spacing: 0.2em
}
@media screen and (min-width: 769px) {
  .mg_tit {
    font-size: 3rem
  }
}
.mg_read {
  font-size: 3.7333333333vw;
  text-align: center;
  margin-top: 9.3333333333vw;
  line-height: 2;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .mg_read {
    font-size: 1.125rem;
    margin-top: 35px
  }
}
.mg_human {
  width: 82.1333333333vw;
  height: 113.6vw;
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  bottom: -139.7333333333vw;
  margin: 0 auto
}
@media screen and (min-width: 769px) {
  .mg_human {
    width: 516px;
    height: 1072px;
    bottom: -1188px
  }
}
.mg_br-sp {
  display: block
}
@media screen and (min-width: 769px) {
  .mg_br-sp {
    display: none
  }
}
.mg_br-pc {
  display: none
}
@media screen and (min-width: 769px) {
  .mg_br-pc {
    display: block
  }
}
.mg_bg_rail {
  position: absolute;
  z-index: 10
}
.mg_bg_rail-1 {
  width: 100vw;
  height: 83.7333333333vw;
  background: url("../images/bg_rail1a-sp.webp") no-repeat center;
  background-size: contain;
  left: -8vw;
  bottom: -127.4666666667vw
}
@media screen and (min-width: 769px) {
  .mg_bg_rail-1 {
    width: 238px;
    height: 212px;
    background: url("../images/bg_rail1a-pc.webp") no-repeat center;
    background-size: contain;
    bottom: -452px;
    left: 60px
  }
}
@media screen and (min-width: 1440px) {
  .mg_bg_rail-1 {
    left: 146px
  }
}
.mg_bg_rail-2 {
  display: none
}
@media screen and (min-width: 769px) {
  .mg_bg_rail-2 {
    display: block;
    width: 100vw;
    height: 98px;
    background: url("../images/bg_rail1b-pc.webp") repeat-x left top;
    background-size: 106px 98px;
    left: auto;
    right: -302px;
    bottom: -338px
  }
}
@media screen and (min-width: 1440px) {
  .mg_bg_rail-2 {
    left: 384px;
    right: auto
  }
}
.sf {
  padding-top: 13.3333333333vw;
  padding-bottom: 5.3333333333vw;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .sf {
    padding-top: 50px;
    padding-bottom: 140px
  }
}
.sf_container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  padding-top: 10.6666666667vw;
  padding-bottom: 8vw;
  background-color: #197ddc;
  background: repeating-linear-gradient(135deg, #007ee4, #007ee4 45px, #0070dc 45px, #0070dc 90px);
  border-radius: 10.6666666667vw;
  overflow: hidden
}
@media screen and (min-width: 769px) {
  .sf_container {
    padding-top: 115px;
    padding-bottom: 120px;
    border-radius: 60px;
    background: repeating-linear-gradient(135deg, #007ee4, #007ee4 100px, #0070dc 100px, #0070dc 200px)
  }
}
.sf_tit {
  width: -moz-fit-content;
  width: fit-content;
  font-size: 7.4666666667vw;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 20;
  letter-spacing: 0.1em
}
@media screen and (min-width: 769px) {
  .sf_tit {
    font-size: 2.875rem;
    letter-spacing: 0.2em
  }
}
.sf_tit::before {
  content: "";
  display: block;
  width: 65.6vw;
  height: 11.7333333333vw;
  background: url("../images/sta_star1-sp.svg") no-repeat center;
  position: absolute;
  top: -4.2666666667vw;
  left: -8vw
}
@media screen and (min-width: 769px) {
  .sf_tit::before {
    width: 502px;
    height: 96px;
    background: url("../images/sta_star1-pc.svg") no-repeat center;
    top: -40px;
    left: -110px
  }
}
.sf_tit_body {
  position: relative;
  z-index: 10
}
.sf_read {
  font-size: 3.2vw;
  font-weight: 700;
  color: #fff;
  text-align: center;
  margin-top: 2.1333333333vw;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .sf_read {
    font-size: 1.125rem;
    margin-top: 30px
  }
}
.sf_inner {
  width: 88vw;
  margin: 0 auto;
  padding-top: 5.3333333333vw;
  position: relative
}
@media screen and (min-width: 769px) {
  .sf_inner {
    width: 100%;
    max-width: 1114px;
    padding-top: 60px
  }
}
.sf_human {
  position: absolute;
  z-index: 10
}
.sf_human-1 {
  width: 28.2666666667vw;
  height: 60.8vw;
  top: -12.8vw;
  left: -7.4666666667vw
}
@media screen and (min-width: 769px) {
  .sf_human-1 {
    width: min(16.3375224417%, 182px);
    height: min(32.6750448833%, 364px);
    top: min(-6.2836624776%, -70px);
    left: min(16.157989228%, 180px)
  }
}
.sf_human-2 {
  width: 26.6666666667vw;
  height: 56.5333333333vw;
  top: -11.7333333333vw;
  left: 66.1333333333vw
}
@media screen and (min-width: 769px) {
  .sf_human-2 {
    width: min(16.157989228%, 180px);
    height: min(32.315978456%, 360px);
    top: min(-5.565529623%, -62px);
    left: min(69.4793536804%, 774px)
  }
}
.sf_row {
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .sf_row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 10px 50px;
  }
}
.sf_col {
  display: block;
  background-color: rgba(0, 0, 0, 0);
  border: none;
  cursor: pointer;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  position: relative;
  z-index: 10
}
@media screen and (min-width: 769px) {
  .sf_col {
    width: 325px
  }
}
@media screen and (min-width: 769px)and (hover: hover) {
  .sf_col picture {
    transition: transform .2s linear
  }
  .sf_col picture::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    inset: 0;
    margin: auto;
    position: absolute;
    opacity: .001
  }
  .sf_col:hover picture {
    transform: translate(15px, 15px)
  }
  .sf_col:hover picture::after {
    opacity: 1
  }
  .sf_col:hover picture img {
    opacity: .0001
  }
}
.sf_col:not(:first-child) {
  margin-top: 2.1333333333vw
}
@media screen and (min-width: 769px) {
  .sf_col:not(:first-child) {
    margin-top: 0
  }
}
.sf_col:active picture {
  transform: translate(1.0666666667vw, 1.6vw)
}
@media screen and (min-width: 769px) {
  .sf_col:active picture {
    transform: translate(15px, 15px)
  }
}
.sf_col picture {
  display: block;
  pointer-events: none;
  position: relative;
  z-index: 20
}
.sf_col::before {
  content: "";
  display: block;
  width: 85.3333333333vw;
  height: 48.5333333333vw;
  background: url("../images/sta_item_bg-sp.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  z-index: 15;
  right: -1.0666666667vw;
  bottom: -1.6vw;
  pointer-events: none
}
@media screen and (min-width: 769px) {
  .sf_col::before {
    width: 298px;
    height: 480px;
    background: url("../images/sta_item_bg-pc.svg") no-repeat center;
    background-size: contain;
    right: -14px;
    bottom: -14px
  }
}
@media(hover: hover) {
  .sf_col-1 picture::after {
    background: url("../images/sta_item1_hover-pc.webp") no-repeat center;
    background-size: contain;
    pointer-events: none
  }
}
@media(hover: hover) {
  .sf_col-2 picture::after {
    background: url("../images/sta_item2_hover-pc.webp") no-repeat center;
    background-size: contain;
    pointer-events: none
  }
}
@media(hover: hover) {
  .sf_col-3 picture::after {
    background: url("../images/sta_item3_hover-pc.webp") no-repeat center;
    background-size: contain;
    pointer-events: none
  }
}
@media(hover: hover) {
  .sf_col-4 picture::after {
    background: url("../images/sta_item4_hover-pc.webp") no-repeat center;
    background-size: contain;
    pointer-events: none
  }
}
@media(hover: hover) {
  .sf_col-5 picture::after {
    background: url("../images/sta_item5_hover-pc.webp") no-repeat center;
    background-size: contain;
    pointer-events: none
  }
}
.sf_col_read {
  width: 81.0666666667vw;
  height: 62.4vw;
  position: absolute;
  z-index: 0;
  left: -6.4vw;
  bottom: 61.3333333333vw
}
@media screen and (min-width: 769px) {
  .sf_col_read {
    width: 1070px;
    height: 308px;
    left: -170px;
    bottom: 280px
  }
}
.sf_bg {
  width: 100%;
  max-width: 1440px;
  margin: 0 auto;
  position: relative;
  z-index: 0
}
.sf_bg_rail {
  display: block;
  position: absolute;
  z-index: 5
}
.sf_bg_rail-1 {
  width: 100vw;
  height: 324.5333333333vw;
  background: url("../images/bg_rail2a-sp.webp") no-repeat left top;
  background-size: contain;
  top: -11.2vw;
  left: 0vw
}
@media screen and (min-width: 769px) {
  .sf_bg_rail-1 {
    width: 1218px;
    height: 780px;
    background: url("../images/bg_rail2a-pc.webp") no-repeat left top;
    background-size: contain;
    top: -144px;
    left: 60px
  }
}
@media screen and (min-width: 1440px) {
  .sf_bg_rail-1 {
    top: -144px;
    left: 147px
  }
}
.sf_bg_rail-2 {
  display: none
}
@media screen and (min-width: 769px) {
  .sf_bg_rail-2 {
    display: block;
    width: 95px;
    height: 293px;
    background: url("../images/bg_rail2b-pc.webp") repeat-y left top;
    background-size: 95px 211px;
    top: 636px;
    left: 1183px
  }
}
@media screen and (min-width: 1440px) {
  .sf_bg_rail-2 {
    top: 636px;
    left: 1270px;
    right: auto
  }
}
.sf_bg_rail-3 {
  display: none;
}
@media screen and (min-width: 769px) {
  .sf_bg_rail-3 {
    display: block;
    width: 1218px;
    height: 469px;
    background: url("../images/bg_rail2c-pc.webp") no-repeat left top;
    background-size: contain;
    bottom: -124px;
    left: 60px;
  }
}
@media screen and (min-width: 1440px) {
  .sf_bg_rail-3 {
    bottom: -124px;
    left: 148px;
  }
}
.wk {
  padding-top: 13.3333333333vw;
  padding-bottom: 2.6666666667vw;
  position: relative;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .wk {
    padding-top: 50px;
    padding-bottom: 60px;
  }
}
.wk::before {
  content: "";
  display: block;
  width: 100%;
  height: 57.3333333333vw;
  background: url("../images/bg_town-sp.svg") repeat-x center top;
  background-size: cover;
  position: absolute;
  z-index: 0;
  top: -17.0666666667vw;
  left: 0;
  right: 0;
  margin: 0 auto;
}
@media screen and (min-width: 769px) {
  .wk::before {
    height: 394px;
    background: url("../images/bg_town-pc.svg") repeat-x center top;
    background-size: auto 394px;
    top: -250px
  }
}
.wk_container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 10
}
@media screen and (min-width: 769px) {
  .wk_container {
    max-width: 1440px
  }
}
.wk_tit {
  font-size: 7.2vw;
  font-weight: 700;
  text-align: center;
  margin: 0;
  line-height: 1.4814814815;
  letter-spacing: 0.2em
}
@media screen and (min-width: 769px) {
  .wk_tit {
    width: 100%;
    max-width: 944px;
    font-size: 2.875rem;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px;
    line-height: 1.4130434783
  }
}
@media screen and (min-width: 769px) {
  .wk_tit_small {
    font-size: 1.8125rem;
    line-height: 1.6896551724
  }
}
.wk_read {
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  margin-top: 5.3333333333vw;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .wk_read {
    width: 100%;
    max-width: 944px;
    text-align: left;
    font-size: 1.125rem;
    margin-top: 40px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 10px
  }
}
.wk_photo {
  width: 116.2666666667vw;
  height: 61.0666666667vw;
  margin: 5.3333333333vw 0 0;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .wk_photo {
    width: min(60.7638888889vw, 875px);
    height: min(31.9444444444vw, 460px);
    margin: 0;
    position: absolute;
    top: min(-6.5277777778vw, -94px);
    right: min(-10.4166666667vw, -150px)
  }
}
@media screen and (min-width: 1440px) {
  .wk_photo {
    top: -94px;
    right: -150px
  }
}
.wk_inner {
  width: 80vw;
  margin: 0 4.2666666667vw 0 auto;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .wk_inner {
    width: 100%;
    max-width: 934px;
    margin-right: auto;
    padding-left: 10px;
    padding-right: 462px
  }
}
.wk_inner_text {
  margin-top: 2.6666666667vw
}
@media screen and (min-width: 769px) {
  .wk_inner_text {
    margin-top: 10px
  }
}
.wk_img1 {
  width: 24.5333333333vw;
  height: 29.3333333333vw;
  margin-top: 4vw;
  margin-left: 8vw
}
@media screen and (min-width: 769px) {
  .wk_img1 {
    width: 168px;
    height: 200px;
    margin: 0;
    position: absolute;
    z-index: 20;
    top: 10px;
    left: 400px
  }
}
.wk_row {
  display: flex;
  width: 100%;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 85.3333333333vw;
  gap: 5.3333333333vw;
  margin: 4vw auto 0;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .wk_row {
    display: grid;
    max-width: 1092px;
    grid-template-columns: repeat(auto-fit, minmax(530px, 1fr));
    align-items: stretch;
    gap: 30px min(2.0833333333vw, 30px);
    margin-top: 200px;
    position: relative
  }
}
.wk_row_read {
  width: 18.1333333333vw;
  height: 109.8666666667vw;
  position: absolute;
  z-index: 0;
  right: -7.4666666667vw;
  bottom: -2.6666666667vw
}
@media screen and (min-width: 769px) {
  .wk_row_read {
    width: 140px;
    height: 658px;
    right: -104px;
    bottom: 0
  }
}
.wk_col {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #fff;
  width: 100%;
  border: .8vw solid #000;
  border-radius: 4.8vw;
  padding: 8vw 9.3333333333vw;
  position: relative;
  z-index: 10
}
@media screen and (min-width: 769px) {
  .wk_col {
    width: auto;
    border-width: 5px;
    border-radius: 30px;
    padding: 40px 60px
  }
}
.wk_col_no {
  width: 12.2666666667vw;
  height: 17.6vw;
  position: absolute;
  z-index: 20;
  top: 3.7333333333vw;
  left: -4.5333333333vw
}
@media screen and (min-width: 769px) {
  .wk_col_no {
    width: 72px;
    height: 104px;
    left: -20px;
    top: 18px
  }
}
.wk_col_no::after {
  content: "";
  display: block;
  width: 8.5333333333vw;
  height: 8.5333333333vw;
  background-color: #fff;
  border-left: .8vw solid #000;
  position: absolute;
  z-index: 30;
  top: 9.0666666667vw;
  left: 3.7333333333vw
}
@media screen and (min-width: 769px) {
  .wk_col_no::after {
    width: 58px;
    height: 54px;
    border-left-width: 4px;
    top: 53px;
    left: 16px
  }
}
.wk_col_tit {
  flex: 1 0 0;
  font-size: 6.4vw;
  font-weight: 700;
  margin: 0;
  line-height: 1.25;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .wk_col_tit {
    font-size: 1.875rem;
    line-height: 1.1333333333
  }
}
.wk_col_tit-small {
  display: block;
  font-size: 3.2vw;
  margin-top: 1.6vw;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .wk_col_tit-small {
    font-size: 1.125rem;
    margin-top: 10px
  }
}
.wk_col_tit_br {
  display: none
}
@media screen and (min-width: 769px) {
  .wk_col_tit_br {
    display: block
  }
}
.wk_col_thumb {
  width: 31.4666666667vw;
  margin: 0
}
@media screen and (min-width: 769px) {
  .wk_col_thumb {
    width: 186px
  }
}
.wk_col_txt {
  width: 100%
}
@media screen and (min-width: 769px) {
  .wk_col_txt {
    padding-top: 10px
  }
}
.wk_col_ico {
  width: 5.3333333333vw;
  height: 5.3333333333vw;
  background-color: #fff;
  position: absolute;
  z-index: 20;
  left: -0.8vw;
  bottom: -0.8vw;
  border-radius: 0 0 0 3.7333333333vw
}
@media screen and (min-width: 769px) {
  .wk_col_ico {
    width: 30px;
    height: 30px;
    left: -5px;
    bottom: -5px
  }
}
.wk_bg_rail {
  position: absolute;
  z-index: 0
}
.wk_bg_rail-1 {
  width: 9.8666666667vw;
  height: 152.8vw;
  background: url("../images/bg_rail3a-sp.webp") repeat-y left top;
  background-size: 9.8666666667vw 16.8vw;
  top: -27.4666666667vw;
  left: 0
}
@media screen and (min-width: 769px) {
  .wk_bg_rail-1 {
    display: block;
    width: 96px;
    height: 456px;
    background: url("../images/bg_rail3a-pc.webp") repeat-y left top;
    background-size: 96px 105px;
    top: -190px;
    left: 60px
  }
}
@media screen and (min-width: 1440px) {
  .wk_bg_rail-1 {
    left: 146px
  }
}
.wk_bg_rail-2 {
  width: 100vw;
  height: 73.0666666667vw;
  background: url("../images/bg_rail3b-sp.webp") no-repeat left top;
  background-size: contain;
  top: 125.3333333333vw;
  left: 0
}
@media screen and (min-width: 769px) {
  .wk_bg_rail-2 {
    width: 1009px;
    height: 432px;
    background: url("../images/bg_rail3b-pc.webp") no-repeat left top;
    background-size: contain;
    top: 266px;
    left: 60px
  }
}
@media screen and (min-width: 1440px) {
  .wk_bg_rail-2 {
    left: 146px
  }
}
.wk_bg_rail-3 {
  width: 9.6vw;
  height: 124.2666666667vw;
  background: url("../images/bg_rail3c-sp.webp") repeat-y left top;
  background-size: 9.6vw 22.4vw;
  top: 199.2vw;
  right: 0
}
@media screen and (min-width: 769px) {
  .wk_bg_rail-3 {
    width: 95px;
    height: 640px;
    background: url("../images/bg_rail3c-pc.webp") repeat-y left top;
    background-size: 95px 353px;
    top: 700px;
    left: 974px
  }
}
@media screen and (min-width: 1274px) {
  .wk_bg_rail-3 {
    height: 100px;
    top: 792px
  }
}
@media screen and (min-width: 1440px) {
  .wk_bg_rail-3 {
    left: 1048px
  }
}
.wk_bg_rail-4 {
  width: 100vw;
  height: 73.0666666667vw;
  background: url("../images/bg_rail3d-sp.webp") no-repeat left top;
  background-size: contain;
  left: 0;
  bottom: 182.9333333333vw
}
@media screen and (min-width: 769px) {
  .wk_bg_rail-4 {
    width: 759px;
    height: 550px;
    background: url("../images/bg_rail3d-pc.webp") no-repeat left top;
    background-size: contain;
    left: 190px;
    bottom: -124px
  }
}
@media screen and (min-width: 1440px) {
  .wk_bg_rail-4 {
    left: 354px
  }
}
.wk_bg_rail-5 {
  width: 9.8666666667vw;
  height: 205.6vw;
  background: url("../images/bg_rail3a-sp.webp") repeat-y left top;
  background-size: 9.8666666667vw 16.8vw;
  bottom: -24.5333333333vw;
  left: -.5333333333vw
}
@media screen and (min-width: 769px) {
  .wk_bg_rail-5 {
    display: none
  }
}
.rc {
  padding-top: 13.3333333333vw;
  padding-bottom: 2.6666666667vw;
  position: relative;
  z-index: 10
}
@media screen and (min-width: 769px) {
  .rc {
    padding-top: 50px;
    padding-bottom: 80px
  }
}
.rc_container {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0;
  padding-top: 16vw;
  padding-bottom: 16vw;
  border-radius: 10.6666666667vw;
  background-color: #007ee4;
  background-image: radial-gradient(#0070dc 30%, transparent 30%), radial-gradient(#0070dc 30%, transparent 30%);
  background-size: 220px 220px;
  background-position: 0 0, 110px 110px
}
@media screen and (min-width: 769px) {
  .rc_container {
    padding-top: 110px;
    padding-bottom: 100px;
    border-radius: 60px;
    background-size: 440px 440px;
    background-position: 0 0, 220px 220px
  }
}
.rc_inner {
  width: 85.3333333333vw;
  margin: 0 auto;
  padding: 12vw 6.6666666667vw 10.1333333333vw;
  border: 3px solid #000;
  border-radius: 8vw;
  background-color: #fff;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .rc_inner {
    width: 100%;
    max-width: 1092px;
    border-width: 4px;
    border-radius: 75px;
    padding: 100px 100px 125px
  }
}
.rc_tit {
  font-size: 7.4666666667vw;
  font-weight: 700;
  text-align: center;
  margin: 0;
  letter-spacing: 0.2em
}
@media screen and (min-width: 769px) {
  .rc_tit {
    font-size: 2.875rem
  }
}
.rc_read {
  font-size: 3.2vw;
  font-weight: 700;
  text-align: center;
  margin-top: 3.7333333333vw;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .rc_read {
    font-size: 1.125rem;
    margin-top: 10px
  }
}
.rc_img1 {
  width: 25.6vw;
  height: 16vw;
  position: absolute;
  top: 10.6666666667vw;
  left: -3.7333333333vw
}
@media screen and (min-width: 769px) {
  .rc_img1 {
    width: 156px;
    height: 96px;
    top: 94px;
    left: min(16.9444444444vw, 244px)
  }
}
.rc_img2 {
  width: 16.5333333333vw;
  height: 16.5333333333vw;
  position: absolute;
  top: 9.6vw;
  right: 5.3333333333vw
}
@media screen and (min-width: 769px) {
  .rc_img2 {
    width: 106px;
    height: 120px;
    top: 74px;
    right: min(21.6666666667vw, 312px)
  }
}
.rc_note {
  font-size: calc(10 / 375 * 100vw);
  text-indent: -1em;
  padding-left: 1.5em;
  margin-top: calc(26 / 375 * 100vw);
}
@media screen and (min-width: 769px) {
  .rc_note {
    font-size: 0.875rem;
    margin-top: 50px;
  }
}
.rc_table {
  width: 100%;
  table-layout: fixed;
  border-spacing: 0;
  margin-top: calc(10 / 375 * 100vw);
}
@media screen and (min-width: 769px) {
  .rc_table {
    margin-top: 14px
  }
}
.rc_table th {
  width: 18.6666666667vw;
  text-align: left;
  vertical-align: top;
  font-size: 3.7333333333vw;
  font-weight: 700;
  padding: 3.2vw 1.0666666667vw;
  border-top: 1px solid #000;
  position: relative
}
@media screen and (min-width: 769px) {
  .rc_table th {
    width: 150px;
    font-size: 1.125rem;
    border-top-width: 2px;
    padding: 25px 5px;
    letter-spacing: 0.2em
  }
}
.rc_table th::before {
  content: "";
  display: block;
  width: 10.6666666667vw;
  border-top: 3px solid #3390ff;
  position: absolute;
  top: -2px;
  left: 0
}
@media screen and (min-width: 769px) {
  .rc_table th::before {
    width: 64px;
    border-top-width: 4px;
    top: -3px
  }
}
.rc_table td {
  text-align: left;
  vertical-align: top;
  font-size: 3.7333333333vw;
  font-weight: 400;
  padding: 3.2vw 1.0666666667vw;
  border-top: 1px solid #000;
  line-height: 1.7142857143;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .rc_table td {
    font-size: 1.125rem;
    padding: 25px 5px;
    border-top-width: 2px
  }
}
.rc_table tr:last-child th, .rc_table tr:last-child td {
  border-bottom: 1px solid #000
}
@media screen and (min-width: 769px) {
  .rc_table tr:last-child th, .rc_table tr:last-child td {
    border-bottom-width: 2px
  }
}
.rc_table tr:last-child th::after {
  content: "";
  display: block;
  width: 10.6666666667vw;
  border-top: 3px solid #3390ff;
  position: absolute;
  bottom: -.5333333333vw;
  left: 0
}
@media screen and (min-width: 769px) {
  .rc_table tr:last-child th::after {
    width: 64px;
    border-top-width: 4px;
    bottom: -3px;
  }
}
.rc_table_inner_head {
  font-weight: 500;
  margin-bottom: 1.3333333333vw;
}
@media screen and (min-width: 769px) {
  .rc_table_inner_head {
    margin-bottom: 10px;
  }
}
.rc_table_inner_head:not(:first-of-type) {
  margin-top: 2.6666666667vw
}
@media screen and (min-width: 769px) {
  .rc_table_inner_head:not(:first-of-type) {
    margin-top: 20px
  }
}
.rc_table_inner {
  display: block;
  width: 100%
}
@media screen and (min-width: 769px) {
  .rc_table_inner {
    display: table
  }
}
.rc_table_inner tr {
  display: block
}
@media screen and (min-width: 769px) {
  .rc_table_inner tr {
    display: table-row;
    width: 100%
  }
}
.rc_table_inner th {
  display: block;
  width: 100%;
  font-weight: 400;
  padding: 0;
  border: none
}
@media screen and (min-width: 769px) {
  .rc_table_inner th {
    display: table-cell;
    width: 130px
  }
}
.rc_table_inner th::before {
  display: none
}
.rc_table_inner td {
  display: block;
  width: 100%;
  padding: 0;
  border: none;
  padding-bottom: 2.6666666667vw
}
@media screen and (min-width: 769px) {
  .rc_table_inner td {
    display: table-cell;
    width: auto;
    padding-bottom: 10px
  }
}
.rc_table_inner tr:last-child th, .rc_table_inner tr:last-child td {
  border-bottom: none
}
.rc_table_inner tr:last-child th::after {
  display: none
}
.rc_table_link {
  text-decoration: underline
}
.rc_item {
  font-size: 3.4666666667vw
}
@media screen and (min-width: 769px) {
  .rc_item {
    font-size: 1rem
  }
}
.rc_item::after {
  content: "";
  display: block;
  clear: both
}
.rc_item_head {
  float: left
}
.rc_item_body {
  margin-left: 1em;
  text-align: justify
}
@media screen and (min-width: 769px) {
  .rc_item_body {
    text-align: left
  }
}
.rc_img3 {
  width: 91.7333333333vw;
  height: 25.6vw;
  position: absolute;
  left: -9.0666666667vw;
  bottom: -18.1333333333vw
}
@media screen and (min-width: 769px) {
  .rc_img3 {
    width: 696px;
    height: 138px;
    left: -112px;
    bottom: -46px
  }
}
.rc_bg {
  width: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 0
}
@media screen and (min-width: 769px) {
  .rc_bg {
    max-width: 1440px
  }
}
.rc_bg_rail {
  position: absolute;
  z-index: 10
}
.rc_bg_rail-1 {
  width: 9.6vw;
  height: 9.6vw;
  background: url("../images/bg_rail4a-sp.webp") no-repeat center;
  background-size: contain;
  top: -15.7333333333vw;
  left: -.0026666667vw
}
@media screen and (min-width: 769px) {
  .rc_bg_rail-1 {
    width: 95px;
    height: 114px;
    background: url("../images/bg_rail4a-pc.webp") repeat-y left top;
    background-size: 95px 106px;
    top: -110px;
    left: 190px
  }
}
@media screen and (min-width: 1440px) {
  .rc_bg_rail-1 {
    left: 354px
  }
}
.rc_bg_rail-2 {
  width: 9.6vw;
  height: 219.7333333333vw;
  background: url("../images/bg_rail4b-sp.webp") repeat-y left top;
  background-size: 9.6vw 55.4666666667vw;
  top: -5.8666666667vw;
  left: 0
}
@media screen and (min-width: 769px) {
  .rc_bg_rail-2 {
    width: 60vw;
    height: 96px;
    background: url("../images/bg_rail4b-pc.webp") repeat-x left top;
    background-size: 141px 96px;
    top: auto;
    bottom: 300px;
    left: -30vw
  }
}
.rc_bg_rail-3 {
  width: 100vw;
  height: 50.6666666667vw;
  background: url("../images/bg_rail4c-sp.webp") no-repeat center;
  background-size: contain;
  top: 215.4666666667vw;
  left: 0
}
@media screen and (min-width: 769px) {
  .rc_bg_rail-3 {
    width: 304px;
    height: 953px;
    background: url("../images/bg_rail4c-pc.webp") no-repeat center;
    background-size: contain;
    top: auto;
    left: auto;
    right: -70px;
    bottom: -100px
  }
}
@media screen and (min-width: 1440px) {
  .rc_bg_rail-3 {
    left: 1032px;
    right: auto
  }
}
.rc_bg_rail-4 {
  width: 9.6vw;
  background: url("../images/bg_rail4d-sp.webp") repeat-y left top;
  background-size: 9.6vw 50.1333333333vw;
  right: 0;
  bottom: -1.6vw;
}
@media screen and (320px <= width < 375px) {
  .rc_bg_rail-4 {
    height: 50.7288629738%;
  }
}
@media screen and (375px <= width < 425px) {
  .rc_bg_rail-4 {
    height: 50.2260170768%;
  }
}
@media screen and (425px <= width < 650px) {
  .rc_bg_rail-4 {
    height: 50%;
  }
}
@media screen and (650px <= width <= 768px) {
  .rc_bg_rail-4 {
    height: 48.0818414322%;
  }
}
@media screen and (min-width: 769px) {
  .rc_bg_rail-4 {
    display: none;
  }
}
.rc_bg_rail-5 {
  width: 9.6vw;
  height: 14.1333333333vw;
  background: url("../images/bg_rail4e-sp.webp") no-repeat center;
  background-size: contain;
  right: 0;
  bottom: -16vw
}
@media screen and (min-width: 769px) {
  .rc_bg_rail-5 {
    display: none
  }
}
.rc_bottom_link {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  min-height: 60px;
  max-width: 400px;
  margin-block: 20px;
  margin-inline: auto;
  background-color: #000;
  border-radius: 100vw;
  color: #fff;
  padding-inline-start: 30px;
  font-size: min(4.8vw, 18px);
  font-weight: 700;
  position: relative;
  z-index: 0
}
@media screen and (min-width: 769px) {
  .rc_bottom_link {
    font-size: 1.5rem;
  }
}
@media screen and (any-hover: hover) {
  .rc_bottom_link:hover {
    text-decoration: underline;
  }
}
.rc_bottom_link::before, .rc_bottom_link::after {
  content: "";
  display: block;
  position: absolute;
  z-index: 5;
  top: 0;
  bottom: 0;
  margin-block: auto
}
.rc_bottom_link::before {
  width: 40px;
  height: 40px;
  background-color: #1480ff;
  border-radius: 50%;
  right: 10px
}
.rc_bottom_link::after {
  width: 10px;
  height: 10px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  right: 26px
}
.co {
  padding-top: 5.3333333333vw;
  position: relative;
  z-index: 10
}
@media screen and (min-width: 769px) {
  .co {
    padding-top: 50px
  }
}
.co_container {
  width: 100%;
  margin: 0 auto;
  position: relative
}
@media screen and (min-width: 769px) {
  .co_container {
    max-width: 1440px;
    padding-bottom: 180px
  }
}
.co_tit {
  font-size: 9.0666666667vw;
  font-weight: 700;
  text-align: center;
  margin: 0;
  position: relative;
  z-index: 20;
  line-height: 1.0588235294;
  letter-spacing: 0.2em
}
.co_tit::first-letter {
  color: #007ee2
}
@media screen and (min-width: 769px) {
  .co_tit {
    font-size: 3.3125rem
  }
}
.co_sub_tit {
  width: -moz-fit-content;
  width: fit-content;
  margin: 5.3333333333vw auto 0;
  text-align: center;
  background-color: #000;
  color: #fff;
  font-size: 3.2vw;
  font-weight: 700;
  padding: 1.0666666667vw 2.6666666667vw;
  position: relative;
  z-index: 20;
  letter-spacing: 0.2em
}
@media screen and (min-width: 769px) {
  .co_sub_tit {
    font-size: 1.125rem;
    margin-top: 45px;
    padding: 8px 15px
  }
}
.co_read {
  font-size: 5.3333333333vw;
  font-weight: 700;
  margin-top: 4.2666666667vw;
  text-align: center;
  position: relative;
  z-index: 20;
  letter-spacing: 0.2em
}
@media screen and (min-width: 769px) {
  .co_read {
    font-size: 2.125rem;
    margin-top: 20px
  }
}
.co_read_strong {
  color: #007ee2
}
.co_text {
  text-align: center;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .co_text {
    font-size: 1.125rem;
    margin-top: 20px
  }
  .co_text br {
    display: none
  }
}
.co_img {
  width: 65.0666666667vw;
  height: 93.8666666667vw;
  margin: 5.3333333333vw auto -14.4vw;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .co_img {
    width: min(75.1388888889vw, 1082px);
    height: min(46.5277777778vw, 670px);
    margin: 0 auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0
  }
}
.co_ico {
  position: absolute;
  z-index: 10
}
.co_ico-1 {
  width: 25.6vw;
  height: 16.5333333333vw;
  top: 10.1333333333vw;
  left: -9.6vw
}
@media screen and (min-width: 769px) {
  .co_ico-1 {
    width: min(11.1111111111vw, 160px);
    height: min(7.2222222222vw, 104px);
    top: min(-5.2777777778vw, -76px);
    left: min(8.3333333333vw, 120px)
  }
}
.co_ico-2 {
  width: 14.4vw;
  height: 15.4666666667vw;
  top: 10.6666666667vw;
  right: 1.0666666667vw;
  transform: rotate(-45deg)
}
@media screen and (min-width: 769px) {
  .co_ico-2 {
    width: min(6.25vw, 90px);
    height: min(6.6666666667vw, 96px);
    top: min(-4.8611111111vw, -70px);
    right: min(29.5833333333vw, 426px)
  }
}
.co_ico-3 {
  width: 17.6vw;
  height: 14.4vw;
  top: 50.6666666667vw;
  left: -2.6666666667vw
}
@media screen and (min-width: 769px) {
  .co_ico-3 {
    width: min(8.1944444444vw, 118px);
    height: min(6.6666666667vw, 96px);
    top: min(11.3888888889vw, 164px);
    left: min(2.0833333333vw, 30px)
  }
}
.co_ico-4 {
  width: 19.7333333333vw;
  height: 23.4666666667vw;
  top: 61.3333333333vw;
  right: -13.3333333333vw;
  transform: rotate(24deg)
}
@media screen and (min-width: 769px) {
  .co_ico-4 {
    width: min(6.9444444444vw, 100px);
    height: min(8.4722222222vw, 122px);
    top: min(2.7777777778vw, -40px);
    right: min(3.4722222222vw, 50px)
  }
}
.co_ico-5 {
  width: 28.2666666667vw;
  height: 18.6666666667vw;
  bottom: 18.6666666667vw;
  right: -8vw
}
@media screen and (min-width: 769px) {
  .co_ico-5 {
    width: min(12.2222222222vw, 176px);
    height: min(8.1944444444vw, 118px);
    bottom: min(.9722222222vw, 14px);
    left: min(34.0277777778vw, 490px);
    right: auto
  }
}
.co_ico-6 {
  width: 18.6666666667vw;
  height: 18.6666666667vw;
  bottom: 24vw;
  left: -5.3333333333vw
}
@media screen and (min-width: 769px) {
  .co_ico-6 {
    width: min(8.0555555556vw, 116px);
    height: min(7.9166666667vw, 114px);
    bottom: min(2.0833333333vw, 30px);
    right: min(27.7777777778vw, 400px);
    left: auto
  }
}
.co_bg_rail {
  position: absolute;
  z-index: 5
}
.co_bg_rail-1 {
  width: 100vw;
  height: 149.0666666667vw;
  background: url("../images/bg_rail5a-sp.webp") no-repeat center;
  background-size: contain;
  top: -14.6666666667vw;
  right: 0
}
@media screen and (min-width: 769px) {
  .co_bg_rail-1 {
    width: 273px;
    height: 568px;
    background: url("../images/bg_rail5a-pc.webp") no-repeat center;
    background-size: contain;
    top: -130px;
    right: -70px
  }
}
@media screen and (min-width: 1440px) {
  .co_bg_rail-1 {
    left: 1064px;
    right: auto
  }
}
.co_bg_rail-2 {
  display: none
}
@media screen and (min-width: 769px) {
  .co_bg_rail-2 {
    display: block;
    width: calc(100vw - 213px);
    height: 98px;
    background: url("../images/bg_rail5b-pc.webp") repeat-x right top;
    background-size: 103px 98px;
    bottom: 40px;
    left: 0;
    right: auto
  }
}
@media screen and (min-width: 1440px) {
  .co_bg_rail-2 {
    width: 100vw;
    left: auto;
    right: 377px
  }
}
.modal {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  position: fixed;
  z-index: 70;
  inset: 0;
  margin: auto;
  background-color: rgba(0, 126, 226, .95);
  padding: 5.3333333333vw 7.2vw 5.3333333333vw;
  visibility: hidden;
  opacity: 0
}
@media screen and (min-width: 769px) {
  .modal {
    padding: 50px 10px 50px
  }
}
.modal.is-open {
  visibility: visible;
  opacity: 1
}
.modal_container {
  position: relative;
  z-index: 0;
  display: block;
  width: 100%;
  height: calc(100vh - 20vw);
  height: calc(100dvh - 20vw);
  overflow: hidden;
  overflow-y: auto;
  overscroll-behavior: none
}
@media screen and (min-width: 769px) {
  .modal_container {
    width: 800px;
    height: calc(100vh - 185px);
    height: calc(100dvh - 185px)
  }
}
.modal_slide {
  width: 100%;
  position: relative;
  z-index: 0;
  padding-top: 6.4vw
}
@media screen and (min-width: 769px) {
  .modal_slide {
    padding-top: 50px
  }
}
.modal_inner {
  width: 100%;
  background-color: #fff;
  border: 2px solid #000;
  border-radius: 40.5333333333vw 40.5333333333vw 0 0;
  position: relative;
  z-index: 0;
  padding-bottom: 9.3333333333vw
}
@media screen and (min-width: 769px) {
  .modal_inner {
    border-width: 4px;
    border-radius: 390px 390px 0 0;
    padding-bottom: 50px
  }
}
.modal_close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 85.3333333333vw;
  height: 9.3333333333vw;
  background-color: #000;
  border-radius: 0 0 6.4vw 6.4vw;
  position: absolute;
  z-index: 10;
  left: 0;
  right: 0;
  bottom: 5.3333333333vw;
  margin: 0 auto;
  font-size: 3.2vw;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .modal_close {
    width: 800px;
    height: 85px;
    border-radius: 0 0 60px 60px;
    bottom: 50px;
    font-size: 1.375rem
  }
}
.modal_close_bar {
  display: block;
  width: 3.7333333333vw;
  height: 3.7333333333vw;
  position: relative;
  z-index: 0
}
@media screen and (min-width: 769px) {
  .modal_close_bar {
    width: 34px;
    height: 34px;
    margin-left: 5px
  }
}
.modal_close_bar::before, .modal_close_bar::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  border-top: 1px solid #fff;
  position: absolute;
  inset: 0;
  margin: auto
}
@media screen and (min-width: 769px) {
  .modal_close_bar::before, .modal_close_bar::after {
    border-top-width: 2px
  }
}
.modal_close_bar::before {
  transform: rotate(45deg) translate(0.5333333333vw, 0)
}
@media screen and (min-width: 769px) {
  .modal_close_bar::before {
    transform: rotate(45deg) translate(2px, 0)
  }
}
.modal_close_bar::after {
  transform: rotate(-45deg) translate(0, 0.5333333333vw)
}
@media screen and (min-width: 769px) {
  .modal_close_bar::after {
    transform: rotate(-45deg) translate(0, 2px)
  }
}
.modal_top {
  position: relative;
  z-index: 0
}
@media screen and (min-width: 769px) {
  .modal_top {
    min-height: 410px
  }
}
.modal_top_label {
  width: 33.6vw;
  height: 27.2vw;
  position: absolute;
  z-index: 10;
  top: -2.6666666667vw;
  left: 0
}
@media screen and (min-width: 769px) {
  .modal_top_label {
    width: 264px;
    height: 203px;
    top: 64px;
    left: 0
  }
}
.modal_top_photo {
  display: block;
  width: 35.2vw;
  height: 46.4vw;
  position: absolute;
  z-index: 10;
  bottom: 28.8vw;
  right: 1.3333333333vw
}
@media screen and (min-width: 769px) {
  .modal_top_photo {
    width: 329px;
    height: 459px;
    bottom: 0;
    right: 0
  }
}
.modal_top_profile {
  display: block;
  width: 100%;
  padding: 5.8666666667vw 37.3333333333vw 5.8666666667vw 0
}
@media screen and (min-width: 769px) {
  .modal_top_profile {
    padding: 50px 264px 0 0
  }
}
.modal_top_profile_title {
  font-family: "Oswald", sans-serif;
  font-size: 3.2vw;
  font-weight: 400;
  color: #007ed1;
  text-align: right;
  line-height: 2;
  letter-spacing: -0.02em
}
@media screen and (min-width: 769px) {
  .modal_top_profile_title {
    font-size: 1.0625rem;
    line-height: 1.4705882353
  }
}
@media screen and (min-width: 769px) {
  .modal_top_profile_inner {
    display: flex;
    align-items: end;
    justify-content: end
  }
}
.modal_top_profile_name {
  font-size: 4.8vw;
  font-weight: 700;
  text-align: right;
  line-height: 1.3333333333;
  letter-spacing: 0.1em
}
@media screen and (min-width: 769px) {
  .modal_top_profile_name {
    font-size: 1.375rem;
    margin-right: 5px;
    line-height: 1.1818181818;
    letter-spacing: 0.08em
  }
}
.modal_top_profile_entry, .modal_top_profile_department {
  font-size: 3.2vw;
  text-align: right;
  line-height: 1.5;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_top_profile_entry, .modal_top_profile_department {
    font-size: .875rem;
    line-height: 1.8571428571;
    letter-spacing: 0.08em
  }
}
.modal_top_profile_department-1st, .modal_top_profile_department-2nd {
  display: block
}
@media screen and (min-width: 769px) {
  .modal_top_profile_department-1st, .modal_top_profile_department-2nd {
    display: inline-block
  }
}
@media screen and (min-width: 769px) {
  .modal_top_profile_department-1st {
    margin-right: 1em
  }
}
.modal_top_profile_note {
  font-size: 2.9333333333vw;
  text-align: right;
}
@media screen and (min-width: 769px) {
  .modal_top_profile_note {
    font-size: 0.6875rem;
  }
}
.modal_top_read {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 28.8vw;
  border-top: 2px solid #000;
  border-bottom: 2px solid #000;
  font-size: 4.8vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.6666666667;
  letter-spacing: 0.1em
}
@media screen and (min-width: 769px) {
  .modal_top_read {
    width: 390px;
    height: -moz-fit-content;
    height: fit-content;
    font-size: 1.75rem;
    border-top: none;
    border-bottom: none;
    text-align: left;
    position: absolute;
    top: 230px;
    left: 70px;
    line-height: 1.5714285714;
    letter-spacing: 0.08em
  }
}
@media screen and (min-width: 769px) {
  .modal_top_read-4row {
    top: 218px
  }
}
.modal_top_read-brSp {
  display: block
}
@media screen and (min-width: 769px) {
  .modal_top_read-brSp {
    display: none
  }
}
.modal_top_read-brPc {
  display: none
}
@media screen and (min-width: 769px) {
  .modal_top_read-brPc {
    display: block
  }
}
.modal_mdl {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  background-color: #dcdcdc;
  position: relative;
  z-index: 0;
  padding: 4.2666666667vw 4.8vw;
  border-bottom: 2px solid #000
}
@media screen and (min-width: 769px) {
  .modal_mdl {
    flex-direction: row;
    border-top: 4px solid #000;
    padding: 35px 65px;
    border-bottom-width: 4px
  }
}
.modal_mdl_title {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 11.2vw;
  background-color: #fff;
  font-size: 4.2666666667vw;
  font-weight: 700;
  color: #007ed1;
  border-radius: 5.6vw/50%;
  letter-spacing: 0.1em
}
@media screen and (min-width: 769px) {
  .modal_mdl_title {
    width: 145px;
    height: 145px;
    border-radius: 50%;
    font-size: 1.25rem;
    letter-spacing: 0.08em
  }
}
.modal_mdl_text {
  font-size: 3.7333333333vw;
  margin-top: 1.6vw;
  text-align: justify
}
@media screen and (min-width: 769px) {
  .modal_mdl_text {
    flex: 1 0 0;
    padding-left: 35px;
    font-size: .875rem;
    margin-top: 0
  }
}
.modal_schedule {
  width: 73.8666666667vw;
  margin: 6.9333333333vw auto 0
}
@media screen and (min-width: 769px) {
  .modal_schedule {
    width: 660px;
    margin-top: 56px
  }
}
.modal_schedule_table {
  width: 100%;
  table-layout: fixed;
  margin-top: 2.6666666667vw
}
@media screen and (min-width: 769px) {
  .modal_schedule_table {
    margin-top: 15px
  }
}
.modal_schedule_table th {
  font-size: 2.6666666667vw;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .modal_schedule_table th {
    font-size: 1.5rem
  }
}
.modal_schedule_table th:nth-last-child(2) {
  color: #005ecb
}
.modal_schedule_table th:last-child {
  color: #cb0000
}
.modal_schedule_table td {
  background-color: rgba(126, 126, 126, .1);
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  padding: 4.8vw 1.3333333333vw 2.1333333333vw;
  text-align: center;
  font-size: 2.6666666667vw;
  position: relative;
  vertical-align: middle;
  line-height: 1.2;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_schedule_table td {
    height: 90px;
    border-top-width: 2px;
    border-left-width: 2px;
    padding: 18px 8px 14px;
    font-size: 1.25rem;
    line-height: 1.2;
    letter-spacing: 0.08em
  }
}
.modal_schedule_table td.modal_schedule_blank {
  background-color: #fff
}
.modal_schedule_table td.modal_schedule_holiday {
  background-color: rgba(0, 126, 226, .1)
}
.modal_schedule_no {
  display: block;
  font-size: 2.6666666667vw;
  vertical-align: top;
  text-align: left;
  position: absolute;
  top: 1.3333333333vw;
  left: 1.3333333333vw;
  letter-spacing: 0.06em
}
@media screen and (min-width: 769px) {
  .modal_schedule_no {
    font-size: .75rem;
    margin-bottom: 12px;
    top: 5px;
    left: 8px;
    letter-spacing: 0.08em
  }
}
.modal_schedule_label {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.4666666667vw;
  height: 3.7333333333vw;
  border-radius: .8vw;
  font-size: 2.6666666667vw;
  font-weight: 700;
  background-color: #fff;
  margin: 1.3333333333vw auto;
  letter-spacing: 0.08em
}
@media screen and (min-width: 769px) {
  .modal_schedule_label {
    width: 60px;
    height: 32px;
    border-radius: 3px;
    font-size: 1.25rem;
    margin: 5px auto
  }
}
.modal_schedule_holiday .modal_schedule_label {
  background-color: #1480af;
  color: #fff
}
.modal_schedule_label-ni {
  background-color: #d7d7d7
}
.modal_schedule_label-pay {
  background-color: #c67c00 !important;
  color: #fff !important
}
.modal_schedule_lst {
  margin-top: 1.3333333333vw
}
@media screen and (min-width: 769px) {
  .modal_schedule_lst {
    margin-top: 20px
  }
}
.modal_schedule_item {
  font-size: 3.2vw;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_schedule_item {
    font-size: .875rem
  }
}
.modal_schedule_item:not(:first-child) {
  margin-top: 2.1333333333vw
}
@media screen and (min-width: 769px) {
  .modal_schedule_item:not(:first-child) {
    margin-top: 5px
  }
}
.modal_schedule_item::after {
  display: block;
  content: "";
  clear: both
}
.modal_schedule_item_head {
  color: #005ecb;
  float: left
}
.modal_schedule_item_body {
  margin-left: 1rem
}
.modal_btm {
  position: relative;
  z-index: 0
}
.modal_btm_title {
  width: 100%;
  height: 13.6vw;
  background: url("../images/staff/bg_label-sp.svg") no-repeat center;
  background-size: contain;
  text-align: center;
  font-size: 4.2666666667vw;
  font-weight: 700;
  color: #fff;
  padding-top: 1.3333333333vw;
  letter-spacing: 0.1em
}
@media screen and (min-width: 769px) {
  .modal_btm_title {
    height: 74px;
    background: url("../images/staff/bg_label-pc.svg") no-repeat center;
    background-size: contain;
    font-size: 1.5rem;
    padding-top: 6px;
    letter-spacing: 0.08em
  }
}
.modal_btm_note {
  font-size: calc(12 / 375 * 100vw);
  margin-block: calc(10 / 375 * 100vw);
}
@media screen and (min-width: 769px) {
  .modal_btm_note {
    font-size: 1rem;
    margin-block: 10px;
    text-align: right;
  }
}
.modal_step {
  margin-top: 13.3333333333vw
}
@media screen and (min-width: 769px) {
  .modal_step {
    margin-top: 70px
  }
}
.modal_step_box {
  display: flex;
  width: 73.0666666667vw;
  justify-content: space-between;
  margin: 0 auto;
  position: relative
}
@media screen and (min-width: 769px) {
  .modal_step_box {
    width: 660px
  }
}
.modal_step_box:first-of-type {
  margin-top: 3.2vw
}
@media screen and (min-width: 769px) {
  .modal_step_box:first-of-type {
    margin-top: 20px
  }
}
.modal_step_box-1st {
  z-index: 30
}
.modal_step_box-2nd {
  z-index: 20
}
.modal_step_box-3rd {
  z-index: 10
}
.modal_step_box-4th {
  z-index: 15
}
.modal_step_box_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 12.5333333333vw;
  border: 2px solid #fff;
  font-size: 4.8vw;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  position: relative
}
@media screen and (min-width: 769px) {
  .modal_step_box_head {
    width: 108px;
    font-size: 1.125rem
  }
}
.modal_step_box_head::before, .modal_step_box_head::after {
  content: "";
  display: block;
  width: 11.4666666667vw;
  height: 3.4666666667vw;
  -webkit-clip-path: polygon(50% 100%, 0 0, 100% 0);
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  position: absolute;
  left: 0;
  right: 0;
  margin: 0 auto
}
@media screen and (min-width: 769px) {
  .modal_step_box_head::before, .modal_step_box_head::after {
    width: 104px;
    height: 23px
  }
}
.modal_step_box_head::before {
  background-color: #fff;
  bottom: -4.2666666667vw
}
@media screen and (min-width: 769px) {
  .modal_step_box_head::before {
    bottom: -26px
  }
}
.modal_step_box_head::after {
  bottom: -3.2vw
}
@media screen and (min-width: 769px) {
  .modal_step_box_head::after {
    bottom: -22px
  }
}
.modal_step_box-1st .modal_step_box_head {
  background-color: #6992d6
}
.modal_step_box-1st .modal_step_box_head::after {
  background-color: #6992d6
}
.modal_step_box-2nd .modal_step_box_head {
  background-color: #007ed1
}
.modal_step_box-2nd .modal_step_box_head::after {
  background-color: #007ed1
}
.modal_step_box-3rd .modal_step_box_head {
  background-color: #004880
}
.modal_step_box-3rd .modal_step_box_head::after {
  background-color: #004880
}
.modal_step_box-4th .modal_step_box_head {
  background-color: #0063a0
}
.modal_step_box-4th .modal_step_box_head::after {
  background-color: #0063a0
}
.modal_step_box_head_no {
  font-family: "Oswald", sans-serif;
  font-size: 8vw;
  font-weight: 400;
  margin-bottom: 1.6vw
}
@media screen and (min-width: 769px) {
  .modal_step_box_head_no {
    font-size: 2rem;
    margin-bottom: 5px
  }
}
.modal_step_box_head_mark {
  display: block;
  width: 1.8666666667vw;
  height: 4.2666666667vw;
  margin: 1.6vw auto;
  background: url("../images/staff/ico_step_mark-sp.svg") no-repeat center;
  background-size: contain
}
@media screen and (min-width: 769px) {
  .modal_step_box_head_mark {
    width: 18px;
    height: 8px;
    margin: 0 10px;
    background: url("../images/staff/ico_step_mark-pc.svg") no-repeat center;
    background-size: contain
  }
}
.modal_step_box_head_top {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center
}
@media screen and (min-width: 769px) {
  .modal_step_box_head_top {
    flex-direction: row
  }
}
@media screen and (min-width: 769px) {
  .modal_step_box_head_btm {
    display: block;
    width: 100%;
    text-align: center
  }
  .modal_step_box_head_btm br {
    display: none
  }
}
.modal_step_box_body {
  width: 60.5333333333vw;
  background-color: rgba(105, 105, 105, .1);
  border: 2px solid #fff;
  padding: 4.2666666667vw 2.6666666667vw;
  font-size: 3.7333333333vw;
  font-weight: 400;
  text-align: justify;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_step_box_body {
    width: 550px;
    font-size: .875rem;
    padding: 15px 18px;
    line-height: 2
  }
}
.modal_col2 {
  display: flex;
  flex-direction: column;
  width: 73.0666666667vw;
  margin: 5.8666666667vw auto 0
}
@media screen and (min-width: 769px) {
  .modal_col2 {
    flex-direction: row;
    width: 660px;
    margin-top: 24px
  }
}
.modal_col2_text {
  order: 2;
  text-align: justify;
  margin-top: 1.6vw;
  font-size: 3.7333333333vw;
  font-weight: 400;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_col2_text {
    order: 1;
    margin-top: 0;
    font-size: 1rem;
    flex: 1 0 0
  }
}
.modal_col2_photo {
  order: 1
}
@media screen and (min-width: 769px) {
  .modal_col2_photo {
    order: 2;
    width: 277px;
    margin-left: 20px
  }
}
.modal_message {
  display: block;
  width: 73.8666666667vw;
  margin: 8vw auto 0;
  position: relative;
  z-index: 0
}
@media screen and (min-width: 769px) {
  .modal_message {
    width: 660px;
    margin-top: 100px
  }
}
.modal_message::before {
  content: "";
  display: block;
  width: 8.5333333333vw;
  height: 17.8666666667vw;
  background: url("../images/staff/bg_message.svg") no-repeat center;
  background-size: contain;
  position: absolute;
  z-index: 0;
  top: -.5333333333vw;
  left: -3.7333333333vw
}
@media screen and (min-width: 769px) {
  .modal_message::before {
    width: 58px;
    height: 122px;
    top: -14px;
    left: -35px
  }
}
.modal_message_inner {
  border: 2px solid #000;
  border-radius: 12.8vw;
  background-color: #fff;
  padding: 8vw 5.8666666667vw;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .modal_message_inner {
    border-width: 4px;
    border-radius: 50px;
    padding: 50px
  }
}
.modal_message_title {
  width: 56.8vw;
  height: 14.9333333333vw;
  position: absolute;
  top: -6.4vw;
  left: -4.8vw
}
@media screen and (min-width: 769px) {
  .modal_message_title {
    width: 353px;
    height: 99px;
    top: -46px;
    left: -40px
  }
}
.modal_message_text {
  font-size: 3.7333333333vw;
  font-weight: 400;
  text-align: justify;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_message_text {
    font-size: 1rem;
    line-height: 2.125;
    letter-spacing: 0.02em
  }
}
.modal_message_photo {
  display: block;
  margin-top: 2.6666666667vw
}
@media screen and (min-width: 769px) {
  .modal_message_photo {
    margin-top: 20px
  }
}
.modal_advuce {
  width: 73.0666666667vw;
  margin: 5.3333333333vw auto 0;
  position: relative
}
@media screen and (min-width: 769px) {
  .modal_advuce {
    width: 660px;
    margin-top: 40px
  }
}
.modal_advuce::before {
  content: "";
  display: block;
  width: 8.8vw;
  height: 12.8vw;
  position: absolute;
  z-index: 10;
  right: -3.7333333333vw;
  bottom: 37.3333333333vw;
  background: url("../images/staff/ico_star.svg") no-repeat center;
  background-size: contain
}
@media screen and (min-width: 769px) {
  .modal_advuce::before {
    width: 45px;
    height: 66px;
    right: -24px;
    bottom: auto;
    top: -20px
  }
}
.modal_advuce_inner {
  background-color: #bcd3e6;
  border-radius: 5.3333333333vw;
  padding: 6.4vw 5.8666666667vw 0;
  overflow: hidden
}
@media screen and (min-width: 769px) {
  .modal_advuce_inner {
    border-radius: 20px;
    padding: 30px
  }
}
.modal_advuce_title {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 61.3333333333vw;
  height: 17.6vw;
  background-color: #007ed1;
  border-radius: 8.8vw/50%;
  position: relative;
  color: #fff;
  font-size: 4.2666666667vw;
  font-weight: 700;
  text-align: center;
  padding: 0 5.3333333333vw 0 0;
  margin-bottom: 2.6666666667vw;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_advuce_title {
    flex-direction: row;
    width: 100%;
    height: 40px;
    border-radius: 20px/50%;
    font-size: 1.25rem;
    padding-right: 0;
    margin-bottom: 14px
  }
}
.modal_advuce_title-small {
  font-size: 2.6666666667vw;
  font-weight: 700;
  line-height: 1.2
}
@media screen and (min-width: 769px) {
  .modal_advuce_title-small {
    font-size: 1rem;
    margin-right: 1em
  }
}
.modal_advuce_title-ico {
  display: block;
  max-block-size: none;
  width: 5.6vw;
  height: 9.8666666667vw;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 3.7333333333vw;
  margin: auto 0
}
@media screen and (min-width: 769px) {
  .modal_advuce_title-ico {
    width: 34px;
    height: 56px;
    top: -22px;
    bottom: auto;
    left: 76px;
    right: auto
  }
}
@media screen and (min-width: 769px) {
  .modal_advuce_box {
    width: 100%;
    padding-right: 120px;
    position: relative
  }
}
.modal_advuce_box_space {
  width: 1px;
  height: 45.3333333333vw;
  float: right
}
@media screen and (min-width: 769px) {
  .modal_advuce_box_space {
    display: none
  }
}
.modal_advuce_box_space-2nd {
  height: 22.4vw
}
.modal_advuce_box_space-3rd {
  height: 37.8666666667vw
}
.modal_advuce_box_space-4th {
  height: 43.7333333333vw
}
.modal_advuce_box_space-5th {
  height: 37.3333333333vw
}
.modal_advuce_box_photo {
  display: block;
  width: 38.4vw;
  height: 42.4vw;
  float: right;
  clear: both;
  margin-right: -5.8666666667vw
}
@media screen and (min-width: 769px) {
  .modal_advuce_box_photo {
    width: 200px;
    height: 193px;
    float: none;
    margin-right: 0;
    position: absolute;
    right: -30px;
    bottom: -30px
  }
}
.modal_advuce_box_text {
  font-size: 3.7333333333vw;
  font-weight: 400;
  text-align: justify;
  letter-spacing: 0.04em
}
@media screen and (min-width: 769px) {
  .modal_advuce_box_text {
    font-size: .875rem;
    line-height: 2
  }
}
.modal .swiper-button-prev, .modal .swiper-button-next {
  position: fixed;
  top: calc(100svh - 50%);
  width: 5.3333333333vw;
  height: 10.6666666667vw;
  background-color: #000;
  border-radius: 0;
  color: #fff
}
@media screen and (min-width: 769px) {
  .modal .swiper-button-prev, .modal .swiper-button-next {
    width: 91px;
    height: 91px;
    border-radius: 50%
  }
}
.modal .swiper-button-prev::after, .modal .swiper-button-next::after {
  font-size: 3.7333333333vw
}
@media screen and (min-width: 769px) {
  .modal .swiper-button-prev::after, .modal .swiper-button-next::after {
    font-size: 1.375rem
  }
}
.modal .swiper-button-prev {
  left: 6.9333333333vw
}
@media screen and (min-width: 769px) {
  .modal .swiper-button-prev {
    left: auto;
    transform: translate3d(-55px, 0, 0)
  }
}
.modal .swiper-button-next {
  right: 6.9333333333vw
}
@media screen and (min-width: 769px) {
  .modal .swiper-button-next {
    right: auto;
    transform: translate3d(765px, 0, 0)
  }
}
.footer {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #000;
  width: 100%;
  height: 26.6666666667vw;
  position: relative;
  z-index: 20
}
@media screen and (min-width: 769px) {
  .footer {
    height: 92px
  }
}
.footer_txt {
  text-align: center;
  font-family: "Oswald", sans-serif;
  font-size: 3.2vw;
  font-weight: 400;
  color: #fff;
  margin: 0;
  letter-spacing: 0.03em
}
@media screen and (min-width: 769px) {
  .footer_txt {
    font-size: .875rem
  }
}
