@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Oswald:wght@200..700&display=swap");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  background: #fff;
  color: #111827;
  scroll-behavior: smooth;
}

[id^=pa] {
  scroll-margin-top: 0px;
}

.indent {
  padding-left: 1em;
  text-indent: -1em;
}

p {
  transform: translateY(-0.05em);
}

sup {
  font-size: 1.1rem;
  height: 0;
  line-height: 1;
  vertical-align: baseline;
  _vertical-align: bottom;
  position: relative;
  bottom: 1ex;
}

b {
  font-weight: bold;
}

.osw {
  font-family: "Oswald", sans-serif;
}

@font-face {
  font-family: "Oswald Num";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/oswald/v57/TK3iWkUHHAIjg752GT8Gl-1PKw.woff2") format("woff2");
  unicode-range: U+0030-0039;
}
@font-face {
  font-family: "Oswald En";
  font-style: normal;
  font-weight: 200 700;
  font-display: swap;
  src: url("https://fonts.gstatic.com/s/oswald/v57/TK3iWkUHHAIjg752GT8Gl-1PKw.woff2") format("woff2");
  unicode-range: U+0041-005A, U+0061-007A;
}
.osw-num {
  font-family: "Oswald Num", "Noto Sans JP", sans-serif;
}

.osw-en {
  font-family: "Oswald En", "Noto Sans JP", sans-serif;
}

.osw-num.osw-en {
  font-family: "Oswald En", "Oswald Num", "Noto Sans JP", sans-serif;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

.br-pc {
  display: block;
}

.br-sp {
  display: none;
}

.menu {
  display: none;
  border: 0;
  background: none;
  padding: 0;
}

.sp_entry {
  display: none;
}

@media (max-width: 780px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
  .br-pc {
    display: none;
  }
  .br-sp {
    display: block;
  }
  .sp-nav {
    display: none;
  }
}
.btn {
  display: block;
  text-align: center;
  width: 100%;
  position: relative;
  z-index: 1;
}

.btn a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -999px;
  z-index: 2;
}

.btn a:hover {
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
  -moz-opacity: 0.7;
  -khtml-opacity: 0.7;
  opacity: 0.7;
  zoom: 1;
  transition: all 0.9s;
}

.red {
  background: #E60012;
  width: 294px;
  height: 53px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.red p {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1 !important;
  position: relative;
  width: 100%;
  text-align: center;
}
.red p::after {
  content: "";
  background: url(../img/red_btn_arrow.svg) no-repeat center center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 15px;
  height: 15px;
  z-index: 2;
}
@media (hover: hover) and (pointer: fine) {
  .red:hover {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
    transition: all 0.9s;
  }
}

.kv_red {
  background: #E60012;
  width: 432px;
  height: 78px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.kv_red p {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1 !important;
  position: relative;
  width: 100%;
  text-align: center;
}
.kv_red p::after {
  content: "";
  background: url(../img/red_btn_arrow.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 22px;
  height: 22px;
  z-index: 2;
}
@media (hover: hover) and (pointer: fine) {
  .kv_red:hover {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
    transition: all 0.9s;
  }
}

.white {
  width: 319px;
  height: 78px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #17288B;
}
.white p {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #17288B !important;
  line-height: 1 !important;
  position: relative;
  width: 100%;
  text-align: center;
}
.white p::after {
  content: "";
  background: url(../img/dl_arrow_icon.svg) no-repeat center center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 12px;
  height: 16px;
  z-index: 2;
}
@media (hover: hover) and (pointer: fine) {
  .white:hover {
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
    zoom: 1;
    transition: all 0.9s;
  }
}

.white02 {
  width: 319px;
  height: 78px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #fff;
}
.white02 p {
  font-size: 18px !important;
  font-weight: 600 !important;
  color: #fff !important;
  line-height: 1 !important;
  position: relative;
  width: 100%;
  text-align: center;
}
.white02 p::after {
  content: "";
  background: url(../img/wh_arrow_icon.svg) no-repeat center center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 22px;
  height: 22px;
  z-index: 2;
}

@media (max-width: 780px) {
  .red {
    background: #E60012;
    width: 294px;
    height: 53px;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .red p {
    font-size: 3.8461538462vw !important;
    font-weight: 600 !important;
    color: #fff !important;
    line-height: 1 !important;
    position: relative;
    width: 100%;
    text-align: center;
  }
  .red p::after {
    content: "";
    background: url(../img/red_btn_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.5897435897vw;
    width: 3.5897435897vw;
    height: 3.5897435897vw;
    z-index: 2;
  }
  .kv_red {
    background: #E60012;
    width: 90vw;
    height: 16.1538461538vw;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    margin: 0 auto 3vw;
  }
  .kv_red p {
    font-size: 3.8461538462vw !important;
    font-weight: 600 !important;
    color: #fff !important;
    line-height: 1 !important;
    position: relative;
    width: 100%;
    text-align: center;
  }
  .kv_red p::after {
    content: "";
    background: url(../img/red_btn_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.5897435897vw;
    width: 3.5897435897vw;
    height: 3.5897435897vw;
    z-index: 2;
  }
  .white {
    width: 90vw;
    height: 16.1538461538vw;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #17288B;
    box-sizing: border-box;
  }
  .white p {
    font-size: 3.8461538462vw !important;
    font-weight: 600 !important;
    color: #17288B !important;
    line-height: 1 !important;
    position: relative;
    width: 100%;
    text-align: center;
  }
  .white p::after {
    content: "";
    background: url(../img/dl_arrow_icon.svg) no-repeat center center;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.0769230769vw;
    width: 2.4358974359vw;
    height: 2.9487179487vw;
    z-index: 2;
  }
  .white02 {
    width: 70vw;
    height: 16.1538461538vw;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #fff;
  }
  .white02 p {
    font-size: 3.8461538462vw !important;
    font-weight: 600 !important;
    color: #fff !important;
    line-height: 1 !important;
    position: relative;
    width: 100%;
    text-align: center;
  }
  .white02 p::after {
    content: "";
    background: url(../img/wh_arrow_icon.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.5897435897vw;
    width: 3.5897435897vw;
    height: 3.5897435897vw;
    z-index: 2;
  }
}
/*---------------------------
Global Nav
---------------------------*/
#wrapper {
  width: 100%;
  max-width: 1920px;
  margin: 0 auto;
  height: 100%;
  position: relative;
  overflow: hidden;
}
#wrapper::before {
  content: "";
  background: url(../img/bg.jpg);
  background-size: 100% auto;
  background-position: top center;
  background-repeat: no-repeat;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: 1920px;
  height: 100%;
  margin: 0 auto;
}
#wrapper header {
  background: transparent;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  box-sizing: border-box;
  z-index: 100;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 25px;
  transition: background 0.3s, backdrop-filter 0.3s;
}
#wrapper header.is-scrolled {
  background: rgba(255, 255, 255, 0.66);
  backdrop-filter: blur(2px);
}
#wrapper header .logo {
  width: 177px;
  height: auto;
}
#wrapper header .logo img {
  max-width: 100%;
}
#wrapper header .nav {
  display: flex;
  gap: 40px;
  align-items: center;
  margin: 0;
}
#wrapper header .nav li p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  white-space: nowrap;
}
#wrapper .kv {
  width: 100%;
  height: 808px;
  margin: 0 auto;
}
#wrapper .kv .inner {
  width: 100%;
  height: 808px;
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}
#wrapper .kv .inner .bggraphic_left {
  width: 496px;
  height: 375px;
  background: url(../img/kv_left_img.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 342px;
  left: -480px;
}
#wrapper .kv .inner .bggraphic_right {
  width: 912px;
  height: 808px;
  background: url(../img/kv_right_img.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
  right: -479px;
}
#wrapper .kv .inner .copy {
  position: absolute;
  top: 116px;
  left: 40px;
  width: 680px;
  height: 100%;
}
#wrapper .kv .inner .mv-scroll {
  position: absolute;
  right: -20px;
  bottom: 120px;
  z-index: 5;
}
#wrapper .kv .inner .mv-scroll .mv-scroll-circle {
  width: 100%;
  animation: rotate 15s linear infinite;
  transform-origin: center center;
}
#wrapper .kv .inner .mv-scroll .mv-scroll-arrow {
  height: 40px;
  width: 40px;
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#wrapper .kv .inner .kv_btn {
  position: absolute;
  bottom: 124px;
  left: 40px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  width: 765px;
}
#wrapper .kv .inner .kv_limit {
  position: absolute;
  left: 40px;
  bottom: 55px;
  width: 765px;
  text-align: left;
  font-size: 18px;
  font-weight: 500;
  color: #111827;
  line-height: 1.6;
}
#wrapper .kv .inner .kv_limit .small {
  font-size: 16px;
}
#wrapper .s1 {
  background: #fff;
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s1 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 120px;
  position: relative;
}
#wrapper .s1 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s1 .inner .s1_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 0 auto;
}
#wrapper .s1 .inner .s1_list .s1_summary {
  flex-basis: calc(100% - 600px);
}
#wrapper .s1 .inner .s1_list .s1_summary h2 {
  font-size: 38px;
  font-weight: 500;
  color: #111827;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s1 .inner .s1_list .s1_summary h2 .small {
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  margin: 0;
  display: inline;
}
#wrapper .s1 .inner .s1_list .s1_summary h2 span {
  display: block;
  font-size: 24px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 10px;
}
#wrapper .s1 .inner .s1_list .s1_summary p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.5;
  margin: 0 0 20px;
}
#wrapper .s1 .inner .s1_list .s1_summary .white {
  width: 325px;
  height: 65px;
  border-radius: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 2px solid #17288B;
}
#wrapper .s1 .inner .s1_list .s1_summary .white p {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #17288B !important;
  line-height: 1 !important;
  margin: 0 !important;
  position: relative;
  width: 100%;
  text-align: center;
}
#wrapper .s1 .inner .s1_list .s1_summary .white p::after {
  content: "";
  background: url(../img/blue_btn_arrow.svg) no-repeat center center;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 20px;
  width: 22px;
  height: 22px;
  z-index: 2;
}
#wrapper .s1 .inner .s1_list .s1_table {
  flex-basis: 574px;
}
#wrapper .s1 .inner .s1_list .s1_table h3 {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin: 0 0 20px;
  position: relative;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}
#wrapper .s1 .inner .s1_list .s1_table h3::before {
  content: "";
  background: url(../img/h3_icon.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 28px;
  z-index: 2;
}
#wrapper .s1 .inner .s1_list .s1_table h3 span {
  font-weight: 500;
}
#wrapper .s1 .inner .s1_list .s1_table h3 .small {
  font-size: 16px;
  font-weight: 400;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  margin: 0 auto;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl {
  flex-basis: 222px;
  height: 86px;
  background: #17288B;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl p {
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl .icon {
  width: 54px;
  height: auto;
  margin: 0 15px 0 0;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl .icon img {
  max-width: 100%;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt {
  flex-basis: calc(100% - 222px);
  background: #F1F5FA;
  height: 86px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  line-height: 1.2;
  margin: 0;
  text-align: left;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p span {
  font-size: 36px;
  font-weight: 500;
  color: #17288B;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p .small {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 1;
  margin: 0;
  text-align: left;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p .big {
  font-size: 24px;
  font-weight: 500;
  color: #17288B;
  line-height: 1;
  margin: 0;
  text-align: left;
}
#wrapper .s1 .inner .s1_list .s1_table .s1_table_list .kei {
  flex-basis: 100%;
  height: 1px;
  background: #fff;
}
#wrapper .s2 {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s2 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 150px;
  position: relative;
}
#wrapper .s2 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s2 .inner::after {
  content: "";
  background: url(../img/s2_img.png) no-repeat left center;
  background-size: cover;
  position: absolute;
  top: 0;
  right: -470px;
  width: 969px;
  height: 100%;
}
#wrapper .s2 .inner h2 {
  font-size: 38px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s2 .inner h2 .small {
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  margin: 0;
  display: inline;
}
#wrapper .s2 .inner h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 10px;
}
#wrapper .s2 .inner p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.6;
  margin: 0 0 40px;
  width: calc(100% - 485px);
  text-align: left;
}
#wrapper .s2 .inner h3 {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin: 20px 0 20px;
  position: relative;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}
#wrapper .s2 .inner h3::before {
  content: "";
  background: url(../img/h3_icon.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 28px;
  z-index: 2;
}
#wrapper .s2 .inner h3 span {
  font-weight: 500;
}
#wrapper .s2 .inner h3 .small {
  font-size: 16px;
  font-weight: 400;
}
#wrapper .s2 .inner .s2_list {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  position: relative;
  z-index: 2;
}
#wrapper .s2 .inner .s2_list .tag {
  background: #fff;
  border-radius: 5px;
  padding: 15px;
  font-size: 16px;
  font-weight: 500;
  color: #17288B;
  line-height: 1;
  margin: 0;
  text-align: center;
}
#wrapper .s3 {
  background: linear-gradient(249deg, #17288B 43.14%, #057CD1 91.04%);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s3 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 115px 0 130px;
  position: relative;
}
#wrapper .s3 .inner::before {
  content: "";
  background: url(../img/section_line_right.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  right: -350px;
  width: 560px;
  height: 218px;
}
#wrapper .s3 .inner .s3_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
}
#wrapper .s3 .inner .s3_list .s3_table {
  flex-basis: 465px;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 246px;
  margin: 0 auto;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 20px;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx:first-of-type::after {
  content: "";
  background: url(../img/s3_plus_icon.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  bottom: -25px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  z-index: 2;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_photo {
  flex-basis: 190px;
  height: 246px;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_photo img {
  max-width: 100%;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary {
  flex-basis: calc(100% - 190px);
  background: rgba(20, 35, 122, 0.5);
  height: 246px;
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-items: flex-start;
  flex-wrap: wrap;
  box-sizing: border-box;
  padding: 25px;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary h5 {
  font-size: 22px;
  font-weight: 900;
  color: #2458C9;
  line-height: 1;
  margin: 0 0 10px;
  text-align: left;
  width: 100%;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary h5 .big {
  font-size: 26px;
  font-weight: 700;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary h4 {
  font-size: 34px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  margin: 0 0 15px;
  text-align: left;
  width: 100%;
}
#wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary p {
  font-size: 16px;
  font-weight: 400;
  color: #fff;
  line-height: 1.9;
  margin: 0;
  text-align: left;
  width: 100%;
}
#wrapper .s3 .inner .s3_list .s3_summary {
  flex-basis: calc(100% - 520px);
}
#wrapper .s3 .inner .s3_list .s3_summary h2 {
  font-size: 34px;
  font-weight: 800;
  color: #fff;
  line-height: 1;
  margin: 0 0 30px;
}
#wrapper .s3 .inner .s3_list .s3_summary h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #2458C9;
  line-height: 1;
  margin: 0 0 10px;
}
#wrapper .s3 .inner .s3_list .s3_summary p {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  line-height: 2.6;
  margin: 0 0 30px;
  text-align: left;
  width: 100%;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  width: 100%;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_ttl {
  background: #F1F5FA;
  min-height: 72px;
  width: 96px;
  display: flex;
  justify-content: center;
  align-items: center;
  box-sizing: border-box;
  font-size: 16px;
  font-weight: 600;
  color: #17288B;
  margin-bottom: 4px;
  white-space: nowrap;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt {
  flex-basis: calc(100% - 96px);
  min-height: 72px;
  background: #fff;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 0 20px;
  box-sizing: border-box;
  margin-bottom: 4px;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt h6 {
  font-size: 23px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0;
  text-align: left;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt h6 span {
  font-size: 32px;
  font-weight: 600;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt h6 .small {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
}
#wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 1.6;
  margin: 0;
}
#wrapper .s3 .inner .caution {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: #fff;
  line-height: 1.6;
  margin: 0;
  text-align: left;
  width: 100%;
}
#wrapper .s4 {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s4 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 150px;
  position: relative;
}
#wrapper .s4 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s4 .inner h2 {
  font-size: 34px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s4 .inner h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 10px;
}
#wrapper .s4 .inner p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.6;
  margin: 0 0 40px;
  text-align: left;
}
#wrapper .s4 .inner .matching_list {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  width: 100%;
}
#wrapper .s4 .inner .matching_list .step {
  font-size: 30px;
  font-weight: 400;
  color: #fff;
  line-height: 1;
  margin: 0;
  background: #17288B;
  width: 80px;
  min-height: 76px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  position: relative;
}
#wrapper .s4 .inner .matching_list .step::before {
  content: "";
  position: absolute;
  top: 0;
  right: -16px;
  width: 0;
  height: 0;
  border-top: 38px solid transparent;
  border-bottom: 38px solid transparent;
  border-left: 16px solid #17288B;
}
#wrapper .s4 .inner .matching_list .step span {
  font-size: 14px;
  font-weight: 400;
  color: #fff;
  display: block;
}
#wrapper .s4 .inner .matching_list .icon {
  background: #fff;
  width: 100px;
  min-height: 76px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
}
#wrapper .s4 .inner .matching_list .icon img {
  max-width: 45px;
}
#wrapper .s4 .inner .matching_list .ttl {
  background: #fff;
  width: 220px;
  min-height: 76px;
  text-align: center;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
#wrapper .s4 .inner .matching_list .ttl p {
  font-size: 18px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0;
  white-space: nowrap;
}
#wrapper .s4 .inner .matching_list .txt {
  background: #fff;
  width: calc(100% - 545px);
  min-height: 76px;
  text-align: center;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}
#wrapper .s4 .inner .matching_list .txt::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -14px;
  width: 1px;
  height: 44px;
  background: url(../img/s4_kei.svg) no-repeat center center;
}
#wrapper .s4 .inner .matching_list .txt p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 1.8;
  margin: 0;
  text-align: left;
}
#wrapper .s4 .inner .matching_list .status {
  background: #fff;
  width: 145px;
  min-height: 76px;
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
#wrapper .s4 .inner .matching_list .status p {
  font-size: 16px;
  font-weight: 500;
  color: #17288B;
  line-height: 1;
  margin: 0;
  padding: 10px 15px;
  background: #F1F5FA;
  text-align: center;
  width: 115px;
  box-sizing: border-box;
}
#wrapper .s4 .inner .matching_list .space {
  flex-basis: 100%;
  height: 10px;
}
#wrapper .s4 .inner .caution {
  display: block;
  font-size: 14px;
  font-weight: 400;
  color: #111827;
  line-height: 1;
  margin: 20px 0 0;
  text-align: left;
  width: 100%;
}
#wrapper .s5 {
  background: linear-gradient(249deg, #17288B 43.14%, #057CD1 91.04%);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s5 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 115px 0 130px;
  position: relative;
}
#wrapper .s5 .inner::before {
  content: "";
  background: url(../img/section_line_right.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  right: -350px;
  width: 560px;
  height: 218px;
}
#wrapper .s5 .inner .s5_list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 2;
  width: 100%;
  margin: 0 auto;
}
#wrapper .s5 .inner .s5_list .s5_table {
  flex-basis: 750px;
}
#wrapper .s5 .inner .s5_list .s5_table .program_lt {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  gap: 12px;
}
#wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx {
  flex-basis: 242px;
  min-height: 336px;
  background: #fff;
}
#wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx .program_photo {
  width: 100%;
}
#wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx .program_photo img {
  max-width: 100%;
}
#wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx h6 {
  font-size: 18px;
  font-weight: 600;
  color: #17288B;
  line-height: 1.6;
  margin: 10px auto;
  text-align: center;
}
#wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 1.9;
  margin: 0 auto;
  text-align: left;
  padding: 0 20px;
}
#wrapper .s5 .inner .s5_list .s5_summary {
  flex-basis: calc(100% - 780px);
}
#wrapper .s5 .inner .s5_list .s5_summary h2 {
  font-size: 34px;
  font-weight: 800;
  color: #fff;
  line-height: 1.3;
  margin: 0 0 30px;
}
#wrapper .s5 .inner .s5_list .s5_summary h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #2458C9;
  line-height: 1;
  margin: 0 0 10px;
}
#wrapper .s5 .inner .s5_list .s5_summary p {
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  line-height: 2.6;
  margin: 0 0 30px;
  text-align: left;
  width: 100%;
}
#wrapper .s5 .inner .s5_list .s5_summary .s5_card {
  margin: 0 auto;
}
#wrapper .s5 .inner .s5_list .s5_summary .s5_card img {
  max-width: 100%;
}
#wrapper .s6 {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s6 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 0;
  position: relative;
}
#wrapper .s6 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s6 .inner h2 {
  font-size: 30px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  margin: 0 auto 50px;
  text-align: center;
}
#wrapper .s6 .inner h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s6 .inner p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.6;
  margin: 0 0 40px;
  text-align: left;
}
#wrapper .s6 .inner .step_wrap {
  background: #fff;
  width: calc(50% + 50vw);
  padding: 60px 0;
}
#wrapper .s6 .inner .step_wrap .step {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1115px;
  margin: 0 0 0 54px;
}
#wrapper .s6 .inner .step_wrap .step .ttl {
  font-size: 18px;
  font-weight: 600;
  color: #17288B;
  line-height: 1.4;
  margin: 0 0 -35px;
  text-align: left;
  padding: 0 0 0 20px;
  box-sizing: border-box;
  flex-basis: 252px;
}
#wrapper .s6 .inner .step_wrap .step .sttl {
  flex-basis: calc(100% - 252px);
  max-width: calc(100% - 252px);
  font-size: 18px;
  font-weight: 600;
  color: #17288B;
  line-height: 1.4;
  margin: 0 0 -35px;
  text-align: left;
  padding: 0 0 0 50px;
  box-sizing: border-box;
}
#wrapper .s6 .inner .step_wrap .step .summary {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  padding: 0 0 0 10px;
  box-sizing: border-box;
  flex-basis: 252px;
}
#wrapper .s6 .inner .step_wrap .step .ssummary {
  flex-basis: calc(100% - 252px);
  max-width: calc(100% - 252px);
  font-size: 18px;
  font-weight: 500;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  padding: 0 0 0 30px;
  box-sizing: border-box;
}
#wrapper .s6 .inner .step_wrap .step .text {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  padding: 0 0 0 10px;
  box-sizing: border-box;
  flex-basis: 100%;
}
#wrapper .s6 .inner .step_wrap .step .kei {
  flex-basis: 100%;
  background-image: url(../img/s6_kei.svg);
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center left;
  width: 100%;
  height: 80px;
  padding: 0;
  box-sizing: border-box;
}
#wrapper .s6 .inner .step_wrap h3 {
  font-size: 24px;
  font-weight: 800;
  color: #111827;
  line-height: 1;
  margin: 80px 0 0 54px;
  position: relative;
  padding: 0 0 0 20px;
  box-sizing: border-box;
}
#wrapper .s6 .inner .step_wrap h3::before {
  content: "";
  background: url(../img/h3_icon.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 28px;
  z-index: 2;
}
#wrapper .s6 .inner .step_wrap h3 span {
  font-weight: 500;
}
#wrapper .s6 .inner .step_wrap h3 .small {
  font-size: 16px;
  font-weight: 400;
}
#wrapper .s7 {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s7 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 0;
  position: relative;
}
#wrapper .s7 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s7 .inner h2 {
  font-size: 30px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  margin: 0 auto 50px;
  text-align: center;
}
#wrapper .s7 .inner h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s7 .inner .step_wrap {
  background: #fff;
  width: calc(50% + 50vw);
  padding: 60px 0;
}
#wrapper .s7 .inner .step_wrap p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.6;
  max-width: 1115px;
  margin: 0 0 0 54px;
  text-align: left;
}
#wrapper .s8 {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s8 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 0;
  position: relative;
}
#wrapper .s8 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s8 .inner h2 {
  font-size: 30px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  margin: 0 auto 50px;
  text-align: center;
}
#wrapper .s8 .inner h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s8 .inner .step_wrap {
  background: #fff;
  width: calc(50% + 50vw);
  padding: 60px 0;
}
#wrapper .s8 .inner .step_wrap .faq_ttl {
  background: #17288B;
  padding: 20px 20px 20px 0;
  margin: 0 0 0 54px;
  max-width: 1115px;
}
#wrapper .s8 .inner .step_wrap .faq_ttl ul {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
}
#wrapper .s8 .inner .step_wrap .faq_ttl ul li:first-of-type {
  font-size: 31px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  margin: 0;
  text-align: center;
  flex-basis: 74px;
}
#wrapper .s8 .inner .step_wrap .faq_ttl ul li:last-of-type {
  font-size: 18px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  margin: 0;
  text-align: left;
  flex-basis: calc(100% - 74px);
  max-width: calc(100% - 74px);
}
#wrapper .s8 .inner .step_wrap .faq_answer {
  background: #fff;
  padding: 20px 20px 20px 0;
  margin: 0 0 20px 54px;
  max-width: 1115px;
}
#wrapper .s8 .inner .step_wrap .faq_answer ul {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  width: 100%;
}
#wrapper .s8 .inner .step_wrap .faq_answer ul li:first-of-type {
  margin: 0;
  text-align: center;
  flex-basis: 74px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#wrapper .s8 .inner .step_wrap .faq_answer ul li:first-of-type span {
  background: #E60012;
  width: 42px;
  height: 42px;
  font-size: 31px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
}
#wrapper .s8 .inner .step_wrap .faq_answer ul li:last-of-type {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.6;
  margin: 0;
  text-align: left;
  flex-basis: calc(100% - 74px);
  max-width: calc(100% - 74px);
}
#wrapper .s9 {
  background: rgba(255, 255, 255, 0.8);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding-bottom: 135px;
}
#wrapper .s9 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 180px 0 0;
  position: relative;
}
#wrapper .s9 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 60px;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s9 .inner h2 {
  font-size: 30px;
  font-weight: 600;
  color: #111827;
  line-height: 1;
  margin: 0 auto 50px;
  text-align: center;
}
#wrapper .s9 .inner h2 span {
  display: block;
  font-size: 20px;
  font-weight: 600;
  color: #17288B;
  line-height: 1;
  margin: 0 0 20px;
}
#wrapper .s9 .inner p {
  font-size: 16px;
  font-weight: 500;
  color: #111827;
  line-height: 2.6;
  margin: 0 0 40px;
  text-align: left;
}
#wrapper .s9 .inner .step_wrap {
  background: #fff;
  width: calc(50% + 50vw);
  padding: 60px 0;
}
#wrapper .s9 .inner .step_wrap .step {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1115px;
  margin: 0 0 0 54px;
}
#wrapper .s9 .inner .step_wrap .step .ttl {
  font-size: 18px;
  font-weight: 600;
  color: #17288B;
  line-height: 1.4;
  margin: 0 0 -35px;
  text-align: left;
  padding: 0 0 0 20px;
  box-sizing: border-box;
  flex-basis: 252px;
}
#wrapper .s9 .inner .step_wrap .step .sttl {
  flex-basis: calc(100% - 252px);
  max-width: calc(100% - 252px);
  font-size: 18px;
  font-weight: 600;
  color: #17288B;
  line-height: 1.4;
  margin: 0 0 -35px;
  text-align: left;
  padding: 0 0 0 50px;
  box-sizing: border-box;
}
#wrapper .s9 .inner .step_wrap .step .summary {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  padding: 0 0 0 10px;
  box-sizing: border-box;
  flex-basis: 252px;
}
#wrapper .s9 .inner .step_wrap .step .ssummary {
  flex-basis: calc(100% - 252px);
  max-width: calc(100% - 252px);
  font-size: 18px;
  font-weight: 500;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  padding: 0 0 0 30px;
  box-sizing: border-box;
}
#wrapper .s9 .inner .step_wrap .step .text {
  font-size: 18px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
  margin: 0;
  text-align: left;
  padding: 0 0 0 10px;
  box-sizing: border-box;
  flex-basis: 100%;
}
#wrapper .s9 .inner .step_wrap .step .kei {
  flex-basis: 100%;
  background-image: url(../img/s6_kei.svg);
  background-size: auto;
  background-repeat: no-repeat;
  background-position: center left;
  width: 100%;
  height: 80px;
  padding: 0;
  box-sizing: border-box;
}
#wrapper .s10 {
  background: linear-gradient(249deg, #17288B 43.14%, #057CD1 91.04%);
  width: 100%;
  height: 100%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#wrapper .s10 .inner {
  width: 100%;
  height: 100%;
  max-width: 1222px;
  margin: 0 auto;
  padding: 90px 0 30px;
  position: relative;
}
#wrapper .s10 .inner::before {
  content: "";
  background: url(../img/section_line_left.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 0;
  left: -349px;
  width: 560px;
  height: 218px;
}
#wrapper .s10 .inner::after {
  content: "";
  background: url(../img/footer_logo.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  top: 84px;
  left: 0;
  width: 119px;
  height: 141px;
}
#wrapper .s10 .inner h4 {
  font-size: 30px;
  font-weight: 600;
  color: #fff;
  line-height: 1;
  margin: 0 0 30px;
  text-align: center;
}
#wrapper .s10 .inner .footer_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  gap: 15px;
}
#wrapper .s10 .inner .copy {
  display: block;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  line-height: 1;
  text-align: center;
  margin: 60px auto;
  width: 100%;
}
@media (max-width: 1222px) and (min-width: 781px) {
  #wrapper .s1 .inner,
  #wrapper .s2 .inner,
  #wrapper .s3 .inner,
  #wrapper .s4 .inner,
  #wrapper .s5 .inner {
    width: calc(100% - 40px);
  }
}

@media (max-width: 780px) {
  body.active {
    position: fixed;
    width: 100%;
    overflow: hidden;
  }
  #wrapper {
    width: 100%;
    max-width: 100vw;
    margin: 0 auto;
    height: 100%;
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    padding-bottom: calc(77px + env(safe-area-inset-bottom));
  }
  #wrapper::before {
    content: "";
    background: url(../img/bg-s.jpg);
    background-size: 100% auto;
    background-position: top center;
    background-repeat: no-repeat;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-width: 100vw;
    height: 100%;
    margin: 0 auto;
  }
  #wrapper header {
    background: transparent;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-sizing: border-box;
    z-index: 100;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 2vw 3vw;
    transition: background 0.3s, backdrop-filter 0.3s;
  }
  #wrapper header.is-scrolled {
    background: rgba(255, 255, 255, 0.66);
    backdrop-filter: blur(2px);
  }
  #wrapper header .logo {
    width: 25vw;
    height: auto;
    position: relative;
    z-index: 120;
  }
  #wrapper header .logo img {
    max-width: 100%;
  }
  #wrapper header .menu {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: 44px;
    height: 44px;
    position: relative;
    z-index: 120;
    cursor: pointer;
  }
  #wrapper header .menu .menu__line {
    display: block;
    width: 24px;
    height: 2px;
    background: #111827;
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease;
  }
  #wrapper header .menu.active .menu__line:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
  }
  #wrapper header .menu.active .menu__line:nth-child(2) {
    opacity: 0;
  }
  #wrapper header .menu.active .menu__line:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
  }
  #wrapper header:has(.menu.active) {
    background: #fff;
  }
  #wrapper header .nav {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    margin: 0;
    padding: 108px 32px 120px;
    box-sizing: border-box;
    background: rgba(255, 255, 255, 0.9);
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 28px;
    z-index: 110;
    overflow-y: auto;
  }
  #wrapper header .nav.active {
    display: flex;
  }
  #wrapper header .nav .nav_entry {
    display: none;
  }
  #wrapper header .nav li p {
    font-size: 4.1025641026vw;
    font-weight: 500;
    color: #111827;
    line-height: 1;
    text-align: center;
    position: relative;
    margin-bottom: 3vw;
    border-bottom: 1px solid #111827;
    padding-bottom: 3vw;
  }
  #wrapper header .nav li p::after {
    content: "";
    background: url(../img/sp_nav_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 0;
    width: 3.5897435897vw;
    height: 3.5897435897vw;
  }
  #wrapper header .nav li p:last-child {
    border-bottom: none;
    padding-bottom: 0;
  }
  #wrapper .sp_entry {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 130;
    padding: 0;
    background: #E60012;
    box-sizing: border-box;
    transform: translateY(100%);
    transition: transform 0.25s ease;
    pointer-events: none;
  }
  #wrapper .sp_entry.is-visible {
    transform: translateY(0);
    pointer-events: auto;
  }
  #wrapper .sp_entry .red {
    width: 100%;
    height: 17.9487179487vw;
  }
  #wrapper .kv {
    width: 100%;
    height: 202.5641025641vw;
    margin: 0 auto;
  }
  #wrapper .kv .inner {
    width: 100%;
    height: 194.8717948718vw;
    max-width: 100vw;
    margin: 0 auto;
    position: relative;
  }
  #wrapper .kv .inner .bggraphic_left {
    width: 57.5641025641vw;
    height: 58.4615384615vw;
    background: url(../img/kv_left_img-s.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 107.6923076923vw;
    left: 0;
  }
  #wrapper .kv .inner .bggraphic_right {
    width: 66.0256410256vw;
    height: 66.0256410256vw;
    background: url(../img/kv_right_img-s.png) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    right: 0;
  }
  #wrapper .kv .inner .copy {
    position: absolute;
    top: 41.6666666667vw;
    left: 5vw;
    width: 90vw;
    height: auto;
  }
  #wrapper .kv .inner .copy img {
    max-width: 100%;
  }
  #wrapper .kv .inner .mv-scroll {
    display: none;
  }
  #wrapper .kv .inner .mv-scroll .mv-scroll-circle {
    width: 100%;
    animation: rotate 15s linear infinite;
    transform-origin: center center;
  }
  #wrapper .kv .inner .mv-scroll .mv-scroll-arrow {
    height: 40px;
    width: 40px;
    position: absolute;
    top: 48%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  #wrapper .kv .inner .kv_btn {
    position: absolute;
    bottom: 13vw;
    left: 5vw;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0;
    width: 90vw;
  }
  #wrapper .kv .inner .kv_limit {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1vw;
    width: 100%;
    text-align: left;
    font-size: 2.9487179487vw;
    font-weight: 500;
    color: #111827;
    line-height: 1.6;
    text-align: center;
  }
  #wrapper .kv .inner .kv_limit .small {
    font-size: 2.6923076923vw;
  }
  #wrapper .s1 {
    background: #fff;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: 10vw;
  }
  #wrapper .s1 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s1 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s1 .inner .s1_list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 90vw;
    max-width: 90vw;
    margin: 0 auto;
  }
  #wrapper .s1 .inner .s1_list .s1_summary {
    flex-basis: 100%;
  }
  #wrapper .s1 .inner .s1_list .s1_summary h2 {
    font-size: 6.4102564103vw;
    font-weight: 500;
    color: #111827;
    line-height: 1;
    margin: 0 0 5vw;
  }
  #wrapper .s1 .inner .s1_list .s1_summary h2 .small {
    font-size: 3.5897435897vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0;
    display: inline;
  }
  #wrapper .s1 .inner .s1_list .s1_summary h2 span {
    display: block;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s1 .inner .s1_list .s1_summary p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2.1;
    margin: 0 0 3vw;
  }
  #wrapper .s1 .inner .s1_list .s1_summary .white {
    width: 74.2307692308vw;
    height: 13.4615384615vw;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2px solid #17288B;
    margin: 8vw auto 12vw;
  }
  #wrapper .s1 .inner .s1_list .s1_summary .white p {
    font-size: 3.3333333333vw !important;
    font-weight: 600 !important;
    color: #17288B !important;
    line-height: 1 !important;
    margin: 0 !important;
    position: relative;
    width: 100%;
    text-align: center;
  }
  #wrapper .s1 .inner .s1_list .s1_summary .white p::after {
    content: "";
    background: url(../img/blue_btn_arrow.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 3.5897435897vw;
    width: 3.5897435897vw;
    height: 3.5897435897vw;
    z-index: 2;
  }
  #wrapper .s1 .inner .s1_list .s1_table {
    flex-basis: 90vw;
  }
  #wrapper .s1 .inner .s1_list .s1_table h3 {
    font-size: 4.6153846154vw;
    font-weight: 800;
    color: #111827;
    line-height: 1;
    margin: 0 0 3vw;
    position: relative;
    padding: 0 0 0 3vw;
    box-sizing: border-box;
  }
  #wrapper .s1 .inner .s1_list .s1_table h3::before {
    content: "";
    background: url(../img/h3_icon.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 0.7692307692vw;
    height: 5.1282051282vw;
    z-index: 2;
  }
  #wrapper .s1 .inner .s1_list .s1_table h3 span {
    font-weight: 500;
  }
  #wrapper .s1 .inner .s1_list .s1_table h3 .small {
    font-size: 3.0769230769vw;
    font-weight: 500;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: center;
    width: 100%;
    margin: 0 auto;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl {
    flex-basis: 35.8974358974vw;
    height: 16.1538461538vw;
    background: #17288B;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 2vw;
    box-sizing: border-box;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl p {
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #fff;
    line-height: 1;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl .icon {
    width: 8.4615384615vw;
    height: auto;
    margin: 0 2vw 0 0;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .ttl .icon img {
    max-width: 100%;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt {
    flex-basis: 54.1025641026vw;
    background: #F1F5FA;
    height: 16.1538461538vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 0 0 0 2vw;
    box-sizing: border-box;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p {
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #111827;
    line-height: 1.2;
    margin: 0;
    text-align: left;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p span {
    font-size: 5.641025641vw;
    font-weight: 500;
    color: #17288B;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p .small {
    font-size: 2.5641025641vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0;
    display: inline;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .txt p .big {
    font-size: 4.2307692308vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0;
    display: inline;
  }
  #wrapper .s1 .inner .s1_list .s1_table .s1_table_list .kei {
    flex-basis: 100%;
    height: 1px;
    background: #fff;
  }
  #wrapper .s2 {
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: 10vw;
  }
  #wrapper .s2 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s2 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s2 .inner::after {
    content: "";
    background: url(../img/s2_img-s.png) no-repeat left center;
    background-size: contain;
    position: absolute;
    top: inherit;
    bottom: 0;
    right: 0;
    left: 0;
    width: 100vw;
    height: 89.4871794872vw;
    z-index: -1;
  }
  #wrapper .s2 .inner h2 {
    font-size: 5.8974358974vw;
    font-weight: 800;
    color: #111827;
    line-height: 1;
    margin: 0 0 5vw 5vw;
  }
  #wrapper .s2 .inner h2 .small {
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0;
    display: inline;
  }
  #wrapper .s2 .inner h2 span {
    display: block;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s2 .inner p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2.1;
    margin: 0 10vw 40px 5vw;
    width: 85vw;
    text-align: left;
  }
  #wrapper .s2 .inner h3 {
    font-size: 4.6153846154vw;
    font-weight: 800;
    color: #111827;
    line-height: 1;
    margin: 10vw 0 5vw 5vw;
    position: relative;
    padding: 0 0 0 3vw;
    box-sizing: border-box;
  }
  #wrapper .s2 .inner h3::before {
    content: "";
    background: url(../img/h3_icon.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 0.7692307692vw;
    height: 5.1282051282vw;
    z-index: 2;
  }
  #wrapper .s2 .inner h3 span {
    font-weight: 500;
  }
  #wrapper .s2 .inner h3 .small {
    font-size: 16px;
    font-weight: 400;
  }
  #wrapper .s2 .inner .s2_list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    gap: 1vw;
    position: relative;
    z-index: 2;
    width: 90vw;
    margin: 0 auto;
    padding: 0 0 20vw;
  }
  #wrapper .s2 .inner .s2_list .tag {
    background: #fff;
    border-radius: 5px;
    padding: 2vw 3vw;
    font-size: 3.0769230769vw;
    font-weight: 500;
    color: #17288B;
    line-height: 1;
    margin: 0;
    text-align: center;
  }
  #wrapper .s3 {
    background: linear-gradient(225deg, #17288B 37.07%, #057CD1 80.87%);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 10vw 0;
  }
  #wrapper .s3 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s3 .inner::before {
    content: "";
    background: url(../img/section_line_right-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    right: 0;
    width: 30.2564102564vw;
    height: 12.3076923077vw;
  }
  #wrapper .s3 .inner .s3_list {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    position: relative;
    z-index: 2;
    width: 90vw;
    margin: 0 auto;
  }
  #wrapper .s3 .inner .s3_list .s3_table {
    flex-basis: auto;
    order: 2;
    width: 100%;
    margin-top: 0;
    margin-bottom: 5vw;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 34.6153846154vw;
    margin: 0 auto;
    box-sizing: border-box;
    position: relative;
    margin-bottom: 3vw;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx:first-of-type::after {
    content: "";
    background: url(../img/s3_plus_icon.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    bottom: -4.358974359vw;
    left: 50%;
    transform: translateX(-50%);
    width: 6.1538461538vw;
    height: 6.1538461538vw;
    z-index: 2;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_photo {
    flex-basis: 38.9743589744vw;
    height: 34.6153846154vw;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_photo img {
    max-width: 100%;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary {
    flex-basis: 51.0256410256vw;
    background: rgba(20, 35, 122, 0.5);
    height: 34.6153846154vw;
    display: flex;
    justify-content: flex-start;
    align-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    box-sizing: border-box;
    padding: 5vw;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary h5 {
    font-size: 3.8461538462vw;
    font-weight: 900;
    color: #2458C9;
    line-height: 1;
    margin: 0 0 1.5vw;
    text-align: left;
    width: 100%;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary h5 .big {
    font-size: 4.358974359vw;
    font-weight: 700;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary h4 {
    font-size: 5.641025641vw;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    margin: 0 0 2.5vw;
    text-align: left;
    width: 100%;
  }
  #wrapper .s3 .inner .s3_list .s3_table .program_bx .program_summary p {
    font-size: 3.3333333333vw;
    font-weight: 400;
    color: #fff;
    line-height: 1.7;
    margin: 0;
    text-align: left;
    width: 100%;
  }
  #wrapper .s3 .inner .s3_list .s3_summary {
    display: contents;
    flex-basis: 90vw;
  }
  #wrapper .s3 .inner .s3_list .s3_summary h2 {
    order: 1;
    width: 100%;
    font-size: 6.1538461538vw;
    font-weight: 800;
    color: #fff;
    line-height: 1;
    margin: 0 0 5vw;
  }
  #wrapper .s3 .inner .s3_list .s3_summary h2 span {
    display: block;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #2458C9;
    line-height: 1;
    margin: 0 0 10px1vw;
  }
  #wrapper .s3 .inner .s3_list .s3_summary p {
    order: 1;
    font-size: 3.3333333333vw;
    font-weight: 400;
    color: #fff;
    line-height: 2.1;
    margin: 0 0 5vw;
    text-align: left;
    width: 100%;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list {
    order: 3;
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    width: 100%;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_ttl {
    background: #F1F5FA;
    min-height: 14.2307692308vw;
    width: 16.6666666667vw;
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    margin-bottom: 2px;
    white-space: nowrap;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt {
    flex-basis: 73.3333333333vw;
    min-height: 14.2307692308vw;
    background: #fff;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 2vw;
    box-sizing: border-box;
    margin-bottom: 2px;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt h6 {
    font-size: 4.1025641026vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0;
    text-align: left;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt h6 span {
    font-size: 6.4102564103vw;
    font-weight: 600;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt h6 .small {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
  }
  #wrapper .s3 .inner .s3_list .s3_summary .summary_list .summary_txt p {
    font-size: 3.3333333333vw;
    font-weight: 400;
    color: #111827;
    line-height: 1.6;
    margin: 0;
  }
  #wrapper .s3 .inner .caution {
    display: block;
    font-size: 2.8205128205vw;
    font-weight: 500;
    color: #fff;
    line-height: 1.6;
    margin: 1vw auto 0;
    text-align: left;
    width: 90vw;
  }
  #wrapper .s4 {
    background: #F1F5FA;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: 10vw;
  }
  #wrapper .s4 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s4 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s4 .inner h2 {
    font-size: 5.8974358974vw;
    font-weight: 800;
    color: #111827;
    line-height: 1.4;
    margin: 0 0 5vw 5vw;
  }
  #wrapper .s4 .inner h2 .small {
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0;
    display: inline;
  }
  #wrapper .s4 .inner h2 span {
    display: block;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s4 .inner p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2.1;
    margin: 0 5vw 5vw;
    width: 90vw;
    text-align: left;
  }
  #wrapper .s4 .inner .matching_list {
    display: grid;
    grid-template-columns: 16.4102564103vw 9.2307692308vw minmax(0, 1fr) auto;
    align-items: stretch;
    width: 90vw;
    margin: 0 auto;
  }
  #wrapper .s4 .inner .matching_list .step {
    grid-column: 1;
    font-size: 5.3846153846vw;
    font-weight: 400;
    color: #fff;
    line-height: 1;
    margin: 0;
    background: #17288B;
    width: 100%;
    min-height: 13.8461538462vw;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
    z-index: 1;
    clip-path: polygon(0 0, calc(100% - 2.3076923077vw) 0, 100% 50%, calc(100% - 2.3076923077vw) 100%, 0 100%);
    box-sizing: border-box;
    padding-right: 1.2820512821vw;
  }
  #wrapper .s4 .inner .matching_list .step::before {
    content: none;
  }
  #wrapper .s4 .inner .matching_list .step span {
    font-size: 2.5641025641vw;
    font-weight: 400;
    color: #fff;
    display: block;
    margin: 0 0 0.5128205128vw;
  }
  #wrapper .s4 .inner .matching_list .icon {
    grid-column: 2;
    background: #fff;
    width: auto;
    min-height: 13.8461538462vw;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-left: 1.0256410256vw;
    box-sizing: border-box;
    margin-left: -3vw;
  }
  #wrapper .s4 .inner .matching_list .icon img[src=""] {
    display: none;
  }
  #wrapper .s4 .inner .matching_list .icon img {
    max-width: 5.3846153846vw;
    height: auto;
    margin-left: 3vw;
  }
  #wrapper .s4 .inner .matching_list .ttl {
    grid-column: 3;
    background: #fff;
    width: auto;
    min-height: 13.8461538462vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding-right: 1.0256410256vw;
    padding-left: 2vw;
    box-sizing: border-box;
  }
  #wrapper .s4 .inner .matching_list .ttl p {
    font-size: 4.1025641026vw;
    font-weight: 700;
    color: #17288B;
    line-height: 1.3;
    margin: 0;
    width: auto;
    white-space: normal;
  }
  #wrapper .s4 .inner .matching_list .txt {
    grid-column: 1/-1;
    background: #fff;
    width: auto;
    min-height: 0;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    position: relative;
    padding: 2.5641025641vw 5vw 3.5897435897vw 5vw;
    box-sizing: border-box;
  }
  #wrapper .s4 .inner .matching_list .txt::before {
    content: none;
  }
  #wrapper .s4 .inner .matching_list .txt p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 1.7;
    margin: 0;
    width: auto;
    text-align: left;
  }
  #wrapper .s4 .inner .matching_list .status {
    grid-column: 4;
    background: #fff;
    width: auto;
    min-height: 13.8461538462vw;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 0;
    box-sizing: border-box;
  }
  #wrapper .s4 .inner .matching_list .status p {
    font-size: 2.8205128205vw;
    font-weight: 500;
    color: #17288B;
    line-height: 1;
    margin: 0;
    padding: 1.2820512821vw 1.5384615385vw;
    background: #F1F5FA;
    text-align: center;
    width: auto;
    white-space: nowrap;
    box-sizing: border-box;
  }
  #wrapper .s4 .inner .matching_list .space {
    grid-column: 1/-1;
    height: 1.2820512821vw;
    background: transparent;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(1) {
    grid-row: 1;
    grid-column: 1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(2) {
    grid-row: 1;
    grid-column: 2;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(3) {
    grid-row: 1;
    grid-column: 3;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(4) {
    grid-row: 2;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(5) {
    grid-row: 1;
    grid-column: 4/5;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(6) {
    grid-row: 3;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(7) {
    grid-row: 4;
    grid-column: 1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(8) {
    grid-row: 4;
    grid-column: 2;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(9) {
    grid-row: 4;
    grid-column: 3;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(10) {
    grid-row: 5;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(11) {
    grid-row: 4;
    grid-column: 4/5;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(12) {
    grid-row: 6;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(13) {
    grid-row: 7;
    grid-column: 1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(14) {
    grid-row: 7;
    grid-column: 2;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(15) {
    grid-row: 7;
    grid-column: 3;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(16) {
    grid-row: 8;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(17) {
    grid-row: 7;
    grid-column: 4/5;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(18) {
    grid-row: 9;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(19) {
    grid-row: 10;
    grid-column: 1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(20) {
    grid-row: 10;
    grid-column: 2;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(21) {
    grid-row: 10;
    grid-column: 3;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(22) {
    grid-row: 11;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(23) {
    grid-row: 10;
    grid-column: 4/5;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(24) {
    grid-row: 12;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(25) {
    grid-row: 13;
    grid-column: 1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(26) {
    grid-row: 13;
    grid-column: 2;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(27) {
    grid-row: 13;
    grid-column: 3;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(28) {
    grid-row: 14;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(29) {
    grid-row: 13;
    grid-column: 4/5;
  }
  #wrapper .s4 .inner .matching_list > li:nth-child(30) {
    grid-row: 15;
    grid-column: 1/-1;
  }
  #wrapper .s4 .inner .caution {
    display: block;
    font-size: 2.8205128205vw;
    font-weight: 400;
    color: #111827;
    line-height: 1.7;
    margin: 3.5897435897vw auto 0;
    text-align: left;
    width: 90vw;
  }
  #wrapper .s5 {
    background: linear-gradient(225deg, #17288B 37.07%, #057CD1 80.87%);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding: 10vw 0;
  }
  #wrapper .s5 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s5 .inner::before {
    content: "";
    background: url(../img/section_line_right-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    right: 0;
    width: 30.2564102564vw;
    height: 12.3076923077vw;
  }
  #wrapper .s5 .inner .s5_list {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: stretch;
    position: relative;
    z-index: 2;
    width: 90vw;
    margin: 0 auto;
  }
  #wrapper .s5 .inner .s5_list .s5_table {
    order: 2;
    width: 100%;
    margin-top: 3.5897435897vw;
    flex-basis: auto;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 1.2820512821vw;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx {
    flex-basis: auto;
    width: 100%;
    height: 37.3076923077vw;
    min-height: 0;
    background: #fff;
    display: flex;
    align-items: stretch;
    box-sizing: border-box;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx .program_photo {
    position: relative;
    flex: 0 0 41%;
    width: 41%;
    min-height: 0;
    align-self: stretch;
    overflow: hidden;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx .program_photo picture {
    display: contents;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx .program_photo img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    max-width: none;
    -o-object-fit: cover;
       object-fit: cover;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx .program_txt {
    flex: 1;
    min-width: 0;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-direction: column;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx h6 {
    font-size: 3.8461538462vw;
    font-weight: 700;
    color: #17288B;
    line-height: 1.45;
    margin: 0;
    padding: 2.3076923077vw 2.3076923077vw 1.0256410256vw;
    text-align: left;
  }
  #wrapper .s5 .inner .s5_list .s5_table .program_lt .program_bx p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 1.7;
    margin: 0;
    text-align: left;
    width: auto;
    padding: 0 2.3076923077vw 2.3076923077vw;
  }
  #wrapper .s5 .inner .s5_list .s5_summary {
    order: 1;
    width: 100%;
  }
  #wrapper .s5 .inner .s5_list .s5_summary h2 {
    font-size: 5.8974358974vw;
    font-weight: 800;
    color: #fff;
    line-height: 1.45;
    margin: 0 0 3.0769230769vw;
  }
  #wrapper .s5 .inner .s5_list .s5_summary h2 span {
    display: block;
    font-size: 3.0769230769vw;
    font-weight: 600;
    color: #2458C9;
    line-height: 1;
    margin: 0 0 2.0512820513vw;
  }
  #wrapper .s5 .inner .s5_list .s5_summary p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #fff;
    line-height: 1.8;
    margin: 0 0 3.5897435897vw;
    text-align: left;
    width: 100%;
  }
  #wrapper .s5 .inner .s5_list .s5_summary .s5_card {
    margin: 0;
    width: 100%;
  }
  #wrapper .s5 .inner .s5_list .s5_summary .s5_card img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  #wrapper .s6 {
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  #wrapper .s6 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s6 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s6 .inner h2 {
    font-size: 4.8717948718vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0 auto 5vw;
    text-align: center;
  }
  #wrapper .s6 .inner h2 span {
    display: block;
    font-size: 2.5641025641vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s6 .inner p {
    font-size: 16px;
    font-weight: 500;
    color: #111827;
    line-height: 2.6;
    margin: 0 0 40px;
    text-align: left;
  }
  #wrapper .s6 .inner .step_wrap {
    background: #fff;
    width: 90vw;
    padding: 5vw;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #wrapper .s6 .inner .step_wrap .step {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 80vw;
    max-width: 80vw;
    margin: 0;
  }
  #wrapper .s6 .inner .step_wrap .step .ttl {
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1.4;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
    flex-basis: 28.9743589744vw;
  }
  #wrapper .s6 .inner .step_wrap .step .sttl {
    flex-basis: 53.3333333333vw;
    max-width: 28.9743589744vw;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1.4;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
  }
  #wrapper .s6 .inner .step_wrap .step .summary {
    font-size: 3.0769230769vw;
    font-weight: 600;
    color: #111827;
    line-height: 2;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
    flex-basis: 28.9743589744vw;
  }
  #wrapper .s6 .inner .step_wrap .step .ssummary {
    flex-basis: 54.6153846154vw;
    max-width: 50.7692307692vw;
    font-size: 3.0769230769vw;
    font-weight: 500;
    color: #111827;
    line-height: 2;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
  }
  #wrapper .s6 .inner .step_wrap .step .text {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
    flex-basis: 100%;
  }
  #wrapper .s6 .inner .step_wrap .step .kei {
    flex-basis: 100%;
    background-image: url(../img/s6_kei-s.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center left;
    width: 100%;
    height: 6vw;
    padding: 0;
    box-sizing: border-box;
  }
  #wrapper .s6 .inner .step_wrap h3 {
    font-size: 3.5897435897vw;
    font-weight: 800;
    color: #111827;
    line-height: 1;
    margin: 10vw 0 0 0;
    position: relative;
    padding: 0 0 0 3vw;
    box-sizing: border-box;
  }
  #wrapper .s6 .inner .step_wrap h3::before {
    content: "";
    background: url(../img/h3_icon.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 0.5128205128vw;
    height: 3.5897435897vw;
    z-index: 2;
  }
  #wrapper .s6 .inner .step_wrap h3 span {
    font-weight: 500;
  }
  #wrapper .s6 .inner .step_wrap h3 .small {
    font-size: 16px;
    font-weight: 400;
  }
  #wrapper .s7 {
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  #wrapper .s7 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s7 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s7 .inner h2 {
    font-size: 4.8717948718vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0 auto 5vw;
    text-align: center;
  }
  #wrapper .s7 .inner h2 span {
    display: block;
    font-size: 2.5641025641vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s7 .inner .step_wrap {
    background: #fff;
    width: 90vw;
    padding: 5vw 0;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #wrapper .s7 .inner .step_wrap p {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2;
    max-width: 80vw;
    margin: 0 0 0 5vw;
    text-align: left;
  }
  #wrapper .s8 {
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  #wrapper .s8 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s8 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s8 .inner h2 {
    font-size: 4.8717948718vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0 auto 5vw;
    text-align: center;
  }
  #wrapper .s8 .inner h2 span {
    display: block;
    font-size: 2.5641025641vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s8 .inner .step_wrap {
    background: #fff;
    width: 90vw;
    padding: 5vw 0;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #wrapper .s8 .inner .step_wrap .faq_ttl {
    background: #17288B;
    padding: 2vw 0;
    margin: 0 auto;
    max-width: 80vw;
    box-sizing: border-box;
  }
  #wrapper .s8 .inner .step_wrap .faq_ttl ul {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    width: 100%;
  }
  #wrapper .s8 .inner .step_wrap .faq_ttl ul li:first-of-type {
    font-size: 6.4102564103vw;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    margin: 0;
    text-align: center;
    flex-basis: 10vw;
  }
  #wrapper .s8 .inner .step_wrap .faq_ttl ul li:last-of-type {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #fff;
    line-height: 1.7;
    margin: 0 0 0 2vw;
    text-align: left;
    flex-basis: 68vw;
    max-width: 68vw;
  }
  #wrapper .s8 .inner .step_wrap .faq_answer {
    background: #fff;
    padding: 2vw 0;
    margin: 0 auto 5vw;
    max-width: 80vw;
    box-sizing: border-box;
  }
  #wrapper .s8 .inner .step_wrap .faq_answer ul {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 100%;
  }
  #wrapper .s8 .inner .step_wrap .faq_answer ul li:first-of-type {
    margin: 0;
    text-align: center;
    flex-basis: 10vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
  }
  #wrapper .s8 .inner .step_wrap .faq_answer ul li:first-of-type span {
    background: #E60012;
    width: 8vw;
    height: 8vw;
    font-size: 6.4102564103vw;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    margin-left: 1vw;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  #wrapper .s8 .inner .step_wrap .faq_answer ul li:last-of-type {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2;
    margin: 0 0 0 2vw;
    text-align: left;
    flex-basis: 68vw;
    max-width: 68vw;
  }
  #wrapper .s9 {
    background: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-bottom: 10vw;
  }
  #wrapper .s9 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s9 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s9 .inner h2 {
    font-size: 4.8717948718vw;
    font-weight: 600;
    color: #111827;
    line-height: 1;
    margin: 0 auto 5vw;
    text-align: center;
  }
  #wrapper .s9 .inner h2 span {
    display: block;
    font-size: 2.5641025641vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1;
    margin: 0 0 1vw;
  }
  #wrapper .s9 .inner p {
    font-size: 16px;
    font-weight: 500;
    color: #111827;
    line-height: 2.6;
    margin: 0 0 40px;
    text-align: left;
  }
  #wrapper .s9 .inner .step_wrap {
    background: #fff;
    width: 90vw;
    padding: 5vw;
    margin: 0 auto;
    box-sizing: border-box;
  }
  #wrapper .s9 .inner .step_wrap .step {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    width: 80vw;
    max-width: 80vw;
    margin: 0;
  }
  #wrapper .s9 .inner .step_wrap .step .ttl {
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1.4;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
    flex-basis: 28.9743589744vw;
  }
  #wrapper .s9 .inner .step_wrap .step .sttl {
    flex-basis: 53.3333333333vw;
    max-width: 28.9743589744vw;
    font-size: 3.3333333333vw;
    font-weight: 600;
    color: #17288B;
    line-height: 1.4;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
  }
  #wrapper .s9 .inner .step_wrap .step .summary {
    font-size: 3.0769230769vw;
    font-weight: 600;
    color: #111827;
    line-height: 2;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
    flex-basis: 28.9743589744vw;
  }
  #wrapper .s9 .inner .step_wrap .step .ssummary {
    flex-basis: 54.6153846154vw;
    max-width: 50.7692307692vw;
    font-size: 3.0769230769vw;
    font-weight: 500;
    color: #111827;
    line-height: 2;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
  }
  #wrapper .s9 .inner .step_wrap .step .text {
    font-size: 3.3333333333vw;
    font-weight: 500;
    color: #111827;
    line-height: 2;
    margin: 0;
    text-align: left;
    padding: 0 0 0 1vw;
    box-sizing: border-box;
    flex-basis: 100%;
  }
  #wrapper .s9 .inner .step_wrap .step .kei {
    flex-basis: 100%;
    background-image: url(../img/s6_kei-s.svg);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center left;
    width: 100%;
    height: 6vw;
    padding: 0;
    box-sizing: border-box;
  }
  #wrapper .s9 .inner .step_wrap h3 {
    font-size: 3.5897435897vw;
    font-weight: 800;
    color: #111827;
    line-height: 1;
    margin: 10vw 0 0 0;
    position: relative;
    padding: 0 0 0 3vw;
    box-sizing: border-box;
  }
  #wrapper .s9 .inner .step_wrap h3::before {
    content: "";
    background: url(../img/h3_icon.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 0;
    left: 0;
    width: 0.5128205128vw;
    height: 3.5897435897vw;
    z-index: 2;
  }
  #wrapper .s9 .inner .step_wrap h3 span {
    font-weight: 500;
  }
  #wrapper .s9 .inner .step_wrap h3 .small {
    font-size: 16px;
    font-weight: 400;
  }
  #wrapper .s10 {
    background: linear-gradient(249deg, #17288B 43.14%, #057CD1 91.04%);
    width: 100%;
    height: 100%;
    margin: 0 auto;
    position: relative;
    z-index: 1;
  }
  #wrapper .s10 .inner {
    width: 100%;
    height: 100%;
    max-width: 100vw;
    margin: 0 auto;
    padding: 15vw 0 8vw;
    position: relative;
  }
  #wrapper .s10 .inner::before {
    content: "";
    background: url(../img/section_line_left-s.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 3vw;
    left: 0;
    width: 27.4358974359vw;
    height: 10.7692307692vw;
  }
  #wrapper .s10 .inner::after {
    content: "";
    background: url(../img/footer_logo.svg) no-repeat center center;
    background-size: contain;
    position: absolute;
    top: 14vw;
    left: 15vw;
    width: 23.3333333333vw;
    height: 27.6923076923vw;
  }
  #wrapper .s10 .inner h4 {
    font-size: 4.6153846154vw;
    font-weight: 600;
    color: #fff;
    line-height: 1.7;
    margin: 2vw 5vw 15vw 44.8717948718vw;
    text-align: left;
  }
  #wrapper .s10 .inner .footer_btn {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 3vw auto 0;
    width: 100%;
    gap: 0;
  }
  #wrapper .s10 .inner .copy {
    display: block;
    font-size: 2.5641025641vw;
    font-weight: 500;
    color: #fff;
    line-height: 1;
    text-align: center;
    margin: 5vw auto;
    width: 100%;
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}/*# sourceMappingURL=common.css.map */