/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
}
body {
  margin: 0;
}
main {
  display: block
}
h1 {
  font-size: 2em;
  margin: .67em 0
}
hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible
}
pre {
  font-family: monospace, monospace;
  font-size: 1em
}
a {
  background-color: transparent
}
abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted
}
b, strong {
  font-weight: bolder
}
code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em
}
small {
  font-size: 80%
}
sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}
sub {
  bottom: -.25em
}
sup {
  top: -.5em
}
img {
  border-style: none
}
button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0
}
button, input {
  overflow: visible
}
button, select {
  text-transform: none
}
[type=button], [type=reset], [type=submit], button {
  -webkit-appearance: button
}
[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0
}
[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText
}
fieldset {
  padding: .35em .75em .625em
}
legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal
}
progress {
  vertical-align: baseline
}
textarea {
  overflow: auto
}
[type=checkbox], [type=radio] {
  box-sizing: border-box;
  padding: 0
}
[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto
}
[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}
details {
  display: block
}
summary {
  display: list-item
}
[hidden], template {
  display: none
}

/*! minireset.css v0.0.5 | MIT License | github.com/jgthms/minireset.css */

blockquote, body, dd, dl, dt, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, html, iframe, legend, li, ol, p, pre, textarea, ul {
  margin: 0;
  padding: 0
}
h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: 400
}
ul {
  list-style: none
}
button, input, select, textarea {
  margin: 0
}
img, video {
  height: auto;
  max-width: 100%
}
iframe {
  border: 0
}
table {
  border-collapse: collapse;
  border-spacing: 0
}
td, th {
  padding: 0;
  text-align: left
}
html {
  box-sizing: border-box;
  width: 100%
}
*, :after, :before {
  box-sizing: inherit
}
body {
  width: 100%;
  font-family: 游ゴシック, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
  font-weight: 400;
  color: #242424;
  background-color: #fff;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: auto;
  -webkit-font-kerning: normal;
  font-kerning: normal
}
a {
  text-decoration: none;
  color: #4f8ac5
}
dd {
  margin-left: 0
}
th {
  text-align: left
}
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle
}
address, cite, dfn, em, i {
  font-style: normal
}
code, pre {
  font-family: Consolas, Menlo, Courier, monospace
}
code {
  padding: .2em;
  border-radius: 3px;
  background-color: rgba(0, 0, 0, .06)
}
code, pre code {
  font-size: .8em
}
pre code {
  padding: 0;
  background-color: inherit
}
address, blockquote, dl, fieldset, figure, h1, h2, h3, h4, h5, h6, hr, ol, p, pre, table, ul {
  margin-top: 0;
  margin-bottom: 0
}
img[src$=".svg"] {
  width: 100%
}
.sp-br {
  display: none
}
.dsp-pc {
  display: block
}
.dsp-sp {
  display: none
}
.bef-animate {
  transform: translateY(30px);
  opacity: 0
}
.js-animation {
  transition: opacity 1s cubic-bezier(.25, .46, .45, .94), transform 1s cubic-bezier(.25, .46, .45, .94)
}
.sec-container {
  margin-right: auto;
  margin-left: auto;
  max-width: 1060px;
  padding-right: 30px;
  padding-left: 30px
}
.sec-heading .heading-en {
  display: block;
  margin-bottom: 30px;
  text-align: center
}
.sec-heading .heading-en_txt {
  display: inline-block
}
.sec-heading .heading-ja {
  display: block;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
  text-align: center
}
.sec-heading .heading-ja_txt {
  background-image: linear-gradient(180deg, transparent 0, transparent, 65%, #fff5b4 66%, #fff5b4)
}
.brackets {
  margin-top: 20px;
  font-size: 20px;
  font-weight: 700;
  text-align: center
}
.brackets_body {
  display: inline-block;
  padding: 10px 20px 8px;
  background-image: url(../img/brackets_open.png), url(../img/brackets_close.png);
  background-repeat: no-repeat;
  background-position: 0, 100%;
  background-size: auto 100%
}
.ct-format {
  margin-top: 1em
}
.ct-format p {
  margin-top: .5em;
  line-height: 1.75
}
.ct-format p span.c-red{
  color: #ff0000;
}
.ct-format p:first-of-type {
  margin-top: 0
}
.ct-format em {
  background-color: #fff5b4
}
.ct-format .note {
  margin-top: 1em;
  font-size: .875em
}
.ct-format .note.no-mg {
  margin-top: 0
}
.ct-format .note-list li {
  padding-left: 1em;
  font-size: .875em;
  line-height: 1.75;
  text-indent: -1em
}
.ct-format .note-list li:before {
  content: "・"
}
.btn {
  display: block;
  padding: 12px 10px;
  transition: transform .3s ease;
  text-align: center;
  letter-spacing: .08em
}
.to-pagetop {
  position: fixed;
  z-index: 5000;
  right: 60px;
  bottom: 60px
}
.to-pagetop .top-anchor {
  position: relative;
  display: block;
  overflow: hidden;
  width: 80px;
  height: 80px;
  transition: transform .3s ease;
  border-radius: 50%
}
.unordered-list {
  padding-left: 1.5em;
  list-style: disc
}
.note-box {
  margin-right: auto;
  margin-left: auto;
  border-radius: 10px
}
.note-box a {
  font-weight: 700;
  text-decoration: underline
}
.note-box a:hover {
  text-decoration: none
}
.header {
  width: 100%;
  padding: 20px 0
}
.header_logo {
  display: inline-block;
  width: 150px
}
.firstview {
  position: relative;
  background-image: url(../img/pc/fv_main-visual.jpg);
  background-repeat: no-repeat;
  background-position: top right;
  background-size: contain;
}
.firstview_main-tit {
  width: 435px
}
.firstview_benefits {
  background-image: linear-gradient(90deg, rgba(183, 188, 253, .9), rgba(97, 197, 230, .9));
  margin-top: 90px;
  padding: 16px 0 22px
}
.benefits_heading {
  margin-bottom: 10px;
  text-align: center
}
.benefits_heading .heading-body {
  display: inline-block;
  width: 373px
}
.benefits_contents{
  margin-right: -6px;
}
.benefits_content {
  box-shadow: 6px 6px 0 0 rgba(36, 36, 36, .15);
  display: flex;
  padding: 15px 12px;
  border-radius: 10px;
  background-color: #fff
}
.benefits_item {
  padding: 0 1.5%;
  border-left: 1px dashed #ccc
}
.benefits_item .item-caption {
  margin-bottom: 10px
}
.benefits_item p {
  font-size: 15px;
  line-height: 1.46667
}
.benefits_item:first-of-type {
  width: 37.46032%;
  border-left: none
}
.benefits_item:nth-of-type(2) {
  width: 34.81481%
}
.benefits_item:nth-of-type(2) .item-caption {
  width: 100%
}
.benefits_item:nth-of-type(3) {
  width: 34.17989%
}
.benefits_item:nth-of-type(3) .item-caption {
  width: 100%
}
.flow {
  position: relative;
  padding: 120px 0;
  background-color: #f4f9fe;
  background-image: url(../img/pc/flow_bg-deco.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto
}
.flow .heading-en_txt {
  width: 536px
}
.flow_content {
  margin-top: 35px
}
.step-box {
  position: relative;
  width: 86%;
  margin-top: 72px;
  padding: 0 30px 35px;
  border-width: 6px;
  border-style: solid;
  border-radius: 10px;
  background-color: #fff
}
.step-box:nth-of-type(2n) {
  margin-right: 0;
  margin-left: auto
}
.step-box:first-of-type {
  margin-top: 112px;
  box-shadow: 6px 6px 0 0 #a1a5d7;
  border-color: #bec3fd
}
.step-box:first-of-type .step-box_heading .numbering {
  left: 19px
}
.step-box:first-of-type .step-box_heading .heading-main {
  background-color: #bec3fd
}
.step-box:first-of-type .step-box_heading .heading-main:after {
  left: 45px;
  border-top-color: #bec3fd
}
.step-box:nth-of-type(2) {
  box-shadow: 6px 6px 0 0 #79a0c5;
  border-color: #97c6f3
}
.step-box:nth-of-type(2) .step-box_heading {
  text-align: right
}
.step-box:nth-of-type(2) .step-box_heading .numbering {
  right: 19px
}
.step-box:nth-of-type(2) .step-box_heading .heading-main {
  background-color: #97c6f3
}
.step-box:nth-of-type(2) .step-box_heading .heading-main:after {
  right: 45px;
  border-top-color: #97c6f3
}
.step-box:nth-of-type(3) {
  box-shadow: 6px 6px 0 0 #579fb6;
  border-color: #70cbe8
}
.step-box:nth-of-type(3) .step-box_heading .numbering {
  left: 19px
}
.step-box:nth-of-type(3) .step-box_heading .heading-main {
  background-color: #70cbe8
}
.step-box:nth-of-type(3) .step-box_heading .heading-main:after {
  left: 45px;
  border-top-color: #70cbe8
}
.step-box:nth-of-type(4) {
  box-shadow: 6px 6px 0 0 #a1a5d7;
  border-color: #bec3fd
}
.step-box:nth-of-type(4) .step-box_heading {
  text-align: right
}
.step-box:nth-of-type(4) .step-box_heading .numbering {
  right: 19px
}
.step-box:nth-of-type(4) .step-box_heading .heading-main {
  background-color: #bec3fd
}
.step-box:nth-of-type(4) .step-box_heading .heading-main:after {
  right: 45px;
  border-top-color: #bec3fd
}
.step-box:nth-of-type(5) {
  box-shadow: 6px 6px 0 0 #79a0c5;
  border-color: #97c6f3
}
.step-box:nth-of-type(5) .step-box_heading .numbering {
  left: 19px
}
.step-box:nth-of-type(5) .step-box_heading .heading-main {
  background-color: #97c6f3
}
.step-box:nth-of-type(5) .step-box_heading .heading-main:after {
  left: 45px;
  border-top-color: #97c6f3
}
.step-box:nth-of-type(6) {
  box-shadow: 6px 6px 0 0 #579fb6;
  border-color: #70cbe8
}
.step-box:nth-of-type(6) .step-box_heading {
  text-align: right
}
.step-box:nth-of-type(6) .step-box_heading .numbering {
  right: 19px
}
.step-box:nth-of-type(6) .step-box_heading .heading-main {
  background-color: #70cbe8
}
.step-box:nth-of-type(6) .step-box_heading .heading-main:after {
  right: 45px;
  border-top-color: #70cbe8
}
.step-box_heading {
  position: relative;
  margin-top: -30px;
  margin-bottom: 28px;
  font-size: 25px;
  font-weight: 700;
  color: #fff
}
.step-box_heading .numbering {
  position: absolute;
  z-index: 5;
  top: 0;
  display: block;
  width: 54px;
  font-family: Oswald, Helvetica Neue, Helvetica, 游ゴシック, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
  font-size: 0;
  font-weight: 400;
  line-height: 1;
  transform: translateY(-80%);
  color: #fff
}
.step-box_heading .numbering:before {
  content: "";
  position: absolute;
  top: -18px;
  right: -17px;
  width: 29px;
  height: 21px;
  background-image: url(../img/flow_numbering-deco.png);
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% auto
}
.step-box_heading .heading-main {
  position: relative;
  display: inline-block;
  padding: 15px 19px;
  border-radius: 10px
}
.step-box_heading .heading-main:after {
  content: "";
  position: absolute;
  bottom: -14px;
  border-top-width: 15px;
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent
}
.step-box__inner {
  text-align: center;
}
.step-box__inner-mainttl {
  position: relative;
  display: inline-block;
  margin: 35px auto 0;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  background-color: #bec3fd;
  border-radius: 100vh;
}
.step-box__inner-mainttl::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
  margin: auto;
  width: 32px;
  height: 32px;
  background: #bec3fd url(../img/plus.png)no-repeat center;
  border-radius: 100vh;
}
.step-box__inner-mainttl .ttl-main {
  position: relative;
  display: inline-block;
  padding: 8px 16px;
  z-index: 2;
}
.step-box__inner-subttl{
  position: relative;
  display: inline-block;
  margin-top: 35px;
  margin-bottom: 5px;
  padding-bottom: 3px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  color: #79a0c5;
  border-bottom: 2px solid #79a0c5;
}
.step-box__inner-subttl::after{
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -10px;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url(../img/line.jpg)no-repeat center bottom;
  background-size: 10px;
}
.step-box__inner-lists{
  margin: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
}
.step-box__inner-lists.second{
  margin-top: 15px;
}
.step-box__inner-lists.third{
  margin-top: 45px;
}
.step-box__inner-list{
  width: 32.2%;
}
.step-box__inner-list.second{
  width: 30.5%;
}
.step-box__inner-list.third{
  width: 100%;
}
.step-box__inner-list img{
  max-width: 230px;
  width: 100%;
}
.step-box__inner-list p{
  padding-top: 20px;
  font-size: 16px;
  letter-spacing: -0.07em;
}
.step-box_row-scroll {
  overflow-x: auto;
  margin-top: 1em
}
.step-box_table {
  width: 100%;
  border: 1px solid #000
}
.step-box_table tr {
  border-top: 1px solid #000
}
.step-box_table tr:first-of-type {
  border-top: 0
}
.step-box_table td, .step-box_table th {
  width: 70px;
  padding: 1em .5em;
  font-size: 14px;
  text-align: center;
  border-left: 1px solid #000
}
.step-box_table td:first-child, .step-box_table th:first-child {
  border-left: 0
}
.step-box_table .row-head {
  background-color: #ddd
}
.step-box_table .small {
  font-size: 10px
}
.flow_note {
  margin-top: 38px;
}
.flow_note.txt-aline-center {
  text-align: center;
}
.flow_note p{
  font-size: 16px;
  line-height: 1.8;
}
.about {
  padding: 120px 0 126px;
  background-image: url(../img/about_bg-pattern.png);
  background-repeat: repeat;
  background-position: 0 0;
  background-size: 16px auto
}
.about_content {
  position: relative;
  z-index: 10
}
.about_content:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-image: linear-gradient(90deg, #b7bcfd, #61c5e6)
}
.about_content-inner {
  padding: 40px 124px 60px;
  border-radius: 10px;
  background-color: #fff
}
.about_heading {
  margin: 0 0 30px;
  text-align: center;
}
.about_heading .heading-ct {
  background-image: linear-gradient(90deg, #b7bcfd, #61c5e6);
  display: inline-block;
  padding: 15px 30px 20px;
  font-size: 30px;
  font-weight: 700;
  line-height: 1.22727;
  color: #fff
}
.about_heading .grad-bg.char-sub {
  display: block;
  font-size: 24px;
  text-align: right
}
.about_body {
  margin-top: -30px;
}
.about_img {
  width: 100%
}
.about_btn-cont{
  margin-top: 68px;
  text-align: center;
}
.about_btn-cont__txt{
  width: 200px;
  margin: 0 auto;
}
.about_btn{
  display: inline-block;
  width: 420px;
  margin: 20px auto 0;
}
.program {
  padding: 145px 0;
  background-image: url(../img/pc/program_bg-deco.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto
}
.program .heading-en_txt {
  width: 373px
}

.program_content {
  margin-top: 15px
}
.program_chart{
  background: #66d6ee url(../img/program_chart-pattern.png)repeat-y top left;
  background-size: auto;
  padding-bottom: 10px;
  margin: 50px 0;
}
.program_chart h3{
  padding: 25px 0;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  color: #fff;
}
.program_chart ul{
  margin: 0 10px;
  padding: 30px;
  background-color: #fff;
  text-align: left;
  font-size: 16px;
  font-weight: normal;
}
.program_chart ul li h4 {
  margin-bottom: 15px;
}
.program_chart .heading-ja_txt {
  background-image: linear-gradient(180deg, transparent 0, transparent, 65%, #fff5b4 66%, #fff5b4);
}
.program_chart ul li p {
  margin-bottom: 50px;
}
.program_chart ul li:last-child p {
  margin-bottom: 0;
}
.program_note {
  max-width: 870px;
  margin-top: 50px;
  padding: 16px 25px;
  background-color: #f5f5f5
}
.program_note p {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.57143
}
.program_note p:first-of-type {
  margin-top: 0
}
.program-lists{
  margin-top: 60px;
}
.program-list{
  width: 100%;
}
.program-list._01,
.program-list._02,
.program-list._03{
  margin-bottom: 35px;
}
.program-list-ttl{
  width: 100%;
  margin-bottom: 12px;
}
.program-list-ttl h4{
  font-size: 20px;
  line-height: 1.5;
  color: #63c5e6;
}
.program-list-img{
  width: 100%;
  margin-bottom: 20px;
}
.program-list-txt{
  width: 100%;
  font-size: 16px;
  line-height: 1.5;
}
.university {
  padding: 120px 0;
  background-color: #f4f9fe;
  background-image: url(../img/pc/univ_bg-deco.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto
}
.university .heading-en_txt {
  width: 452px
}
.university_content {
  margin-top: 35px
}
.university_item {
  position: relative
}
.university_note {
  max-width: 600px;
  margin-top: 70px;
  padding: 15px 30px;
  background-color: #fff
}
.university_note p {
  margin-top: .5em;
  font-size: 14px;
  line-height: 1.57143
}
.university_note p:first-of-type {
  margin-top: 0
}
.univ {
  margin-top: 80px;
  padding-top: 5%
}
.univ_pic {
  position: absolute;
  top: 0;
  width: 47%
}
.univ_main {
  position: relative;
  z-index: 10;
  width: 57%
}
.univ_main:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-image: linear-gradient(90deg, #b7bcfd, #61c5e6)
}
.univ_main-inner {
  position: relative;
  z-index: 10;
  padding: 40px;
  border-radius: 10px;
  background-color: #fff
}
.univ_heading {
  margin-bottom: 30px;
  padding: 0 0 30px;
  background-image: url(../img/university_caption-udline-pattern.png);
  background-repeat: repeat-x;
  background-position: bottom;
  background-size: auto 9px
}
.univ_heading .numbering {
  width: 50px;
  font-family: Oswald, Helvetica Neue, Helvetica, 游ゴシック, YuGothic, Hiragino Sans, Hiragino Kaku Gothic ProN, Meiryo, sans-serif;
  font-size: 66px
}
.univ_heading .caption, .univ_heading .numbering {
  display: inline-block;
  font-weight: 700;
  vertical-align: middle
}
.univ_heading .caption {
  width: calc(100% - 50px);
  padding-left: 25px;
  border-left: 4px solid #242424
}
.univ_heading .caption .name-main {
  display: block;
  margin-bottom: 5px;
  font-size: 32px
}
.univ_heading .caption .state {
  display: block;
  font-size: 18px;
  line-height: 1.33333
}
.univ_body p {
  font-size: 16px;
  line-height: 1.75
}
.univ:nth-of-type(odd) .univ_pic {
  left: 0
}
.univ:nth-of-type(odd) .univ_main {
  margin-right: 0;
  margin-left: auto
}
.univ:nth-of-type(2n) .univ_pic {
  right: 0
}
.univ .btn-wrapper {
  margin-right: auto;
  margin-left: auto;
  width: 61.22449%;
  min-width: 280px;
  margin-top: 28px
}
.univ .btn {
  position: relative;
  padding: 12px 10px 10px;
  font-size: 16px;
  font-weight: 700;
  color: #242424;
  border: 1px solid #242424;
  border-radius: 50px
}
.univ .btn:after, .univ .btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 30px;
  display: block;
  width: 9px;
  height: 2px;
  background-color: #242424
}
.univ .btn:before {
  transform: rotate(45deg);
  transform-origin: right bottom
}
.univ .btn:after {
  transform: rotate(-45deg);
  transform-origin: right top
}
.voice {
  padding: 120px 0;
  background-image: url(../img/pc/voice_bg-deco.png);
  background-repeat: repeat-y;
  background-position: top;
  background-size: 100% auto
}
.voice .heading-en_txt {
  width: 220px
}
.voice h3 {
  margin-top: 70px;
  text-align: center;
}
.voice .voice_txt {
  display: inline-block;
  width: 534px;
}
.voice_content {
  margin-top: 50px;
}
.voice_main {
  position: relative;
  z-index: 10;
  width: 100%;
  display: inline-block;
  vertical-align: top;
}
.voice_main:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 6px;
  left: 6px;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-image: linear-gradient(90deg, #b7bcfd, #61c5e6)
}
.voice_main-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  z-index: 10;
  padding: 40px;
  border-radius: 10px;
  background-color: #fff;
}
.voice_body-wrap{
  max-width: 230px;
  width: 100%;
}
.voice_body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.voice_body p {
  display: block;
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 36px;  
}
.voice_body .img-cont {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  gap: 36px;
}
.voice_body .img-cont img {
  max-width: 230px;
  width: 100%;
}
.voice_link {
  margin-top: 40px;
}
.voice_link p {
  margin-top: .5em;
  font-size: 16px;
  font-weight: bold;
  line-height: 1.57143
}
.voice_link p:first-of-type {
  margin-top: 0
}
.voice_link a {
  color: #5c91c9;
  border-bottom: 1px solid #5c91c9;
}
.voice_note {
  max-width: 636px;
  margin-top: 55px;
  padding: 15px 40px;
  background-color: #fff
}
.voice_note p {
  margin-top: .5em;
  font-size: 14px;
  line-height: 1.57143
}
.voice_note p:first-of-type {
  margin-top: 0
}
.support {
  position: relative;
  padding: 120px 0 125px;
  background-color: #f4f9fe;
  background-image: url(../img/pc/support_bg.png);
  background-repeat: no-repeat;
  background-position: top;
  background-size: 100% auto
}
.support .heading-en_txt {
    width: 352px
}
.support .support_txt {
  display: block;
  width: 735px;
  margin: 60px auto 0;
}
.support_main {
  position: relative;
  margin-top: 21px;
  margin-bottom: 80px;
  width: 100%;
  z-index: 10;
}
.support_main:after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 10px;
  left: 10px;
  width: 100%;
  height: 100%;
  border-radius: 10px;
  background-image: linear-gradient(90deg, #b7bcfd, #61c5e6);
}
.support_main-inner {
  position: relative;
  z-index: 10;
  padding: 60px 70px;
  border-radius: 10px;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  flex-wrap: nowrap;
}
.support_main-inner-list{
  max-width: 140px;
  width: 100%;
}
.support_main-inner-list:not(:last-child){
  margin-right: 40px;
}
.support .program_note {
  max-width: 560px;
  margin-top: 60px;
  padding: 16px 25px;
  background-color: #f5f5f5;
}
.date_info {
  margin-right: auto;
  margin-left: auto;
  max-width: 1060px;
  padding: 50px 30px;
  text-align: right;
}
.date_info p {
  font-size: 14px;
}

@media screen and (min-width:768px) {
  body {
      width: 100%
  }
  .btn:hover, .to-pagetop .top-anchor:hover {
      transform: translateY(-5px)
  }
}
@media screen and (max-width:767px) {
  body {
      width: 100%;
      overflow-x: hidden;
  }
  .pc-br {
      display: none
  }
  .sp-br {
      display: inline
  }
  .dsp-pc {
      display: none
  }
  .dsp-sp {
      display: block
  }
  .sec-container {
      max-width: 100%;
      padding-right: 4.66667%;
      padding-left: 4.66667%
  }
  .sec-heading .heading-en {
      margin-bottom: 21px
  }
  .sec-heading .heading-ja {
      font-size: 25px
  }
  .brackets {
      font-size: 14px
  }
  .brackets_body {
      padding: 5px 18px 4px
  }
  .ct-format, .ct-format p {
      font-size: 13px
  }
  .btn {
      padding: 18px 8px;
      font-size: 14px
  }
  .to-pagetop {
      right: 20px;
      bottom: 20px
  }
  .to-pagetop .top-anchor {
      width: 60px;
      height: 60px
  }
  .header {
      text-align: center
  }
  .firstview {
      background-image: none
  }
  .firstview_visual {
      padding-bottom: 56.66667%;
      background-image: url(../img/sp/fv_main-visual.jpg);
      background-repeat: no-repeat;
      background-position: bottom;
      background-size: 100% auto
  }
  .firstview_main-tit {
      margin-right: auto;
      margin-left: auto;
      width: 100%;
      max-width: 338.5px
  }
  .firstview_benefits {
      margin-top: 0;
      padding: 25px 0 29px
  }
  .benefits_heading .heading-body {
      width: 262px
  }
  .benefits_contents {
      margin-right: 0;
  }
  .benefits_content {
      box-shadow: 5px 5px 0 0 rgba(36, 36, 36, .15);
      display: block;
      padding: 0 20px
  }
  .benefits_item {
      padding: 20px 0;
      border-top: 1px dashed #ccc;
      border-left: none
  }
  .benefits_item p {
      font-size: 13px
  }
  .benefits_item:first-of-type {
      width: 100%;
      border-top: none
  }
  .benefits_item:first-of-type .item-caption {
      width: 251px
  }
  .benefits_item:nth-of-type(2) {
      width: 100%
  }
  .benefits_item:nth-of-type(2) .item-caption {
      width: 207px
  }
  .benefits_item:nth-of-type(3) {
      width: 100%
  }
  .benefits_item:nth-of-type(3) .item-caption {
      width: 205px
  }
  .flow {
      padding: 80px 0;
      background-image: url(../img/bg_triangle-dwn-pair.png), url(../img/bg_triangle-up-sm.png);
      background-repeat: no-repeat;
      background-position: 3.33333% .68789%, right 4.66667% top 10.65252%;
      background-size: 31.86667% auto, 12.66667% auto
  }
  .flow .heading-en_txt {
      width: 290px
  }
  .flow_content {
      margin-top: 21px
  }
  .step-box {
      width: 90.66667%;
      margin-top: 80px;
      padding: 0 15px 25px
  }
  .step-box:first-of-type {
      box-shadow: 5px 5px 0 0 #a1a5d7;
      margin-top: 75px
  }
  .step-box:first-of-type .step-box_heading .numbering {
      left: 9px
  }
  .step-box:nth-of-type(2) {
      box-shadow: 5px 5px 0 0 #79a0c5
  }
  .step-box:nth-of-type(2) .step-box_heading .numbering {
      right: 9px
  }
  .step-box:nth-of-type(3) {
      box-shadow: 5px 5px 0 0 #579fb6
  }
  .step-box:nth-of-type(3) .step-box_heading .numbering {
      left: 9px
  }
  .step-box:nth-of-type(4) {
      box-shadow: 5px 5px 0 0 #a1a5d7
  }
  .step-box:nth-of-type(4) .step-box_heading .numbering {
      right: 9px
  }
  .step-box:nth-of-type(5) {
      box-shadow: 5px 5px 0 0 #79a0c5
  }
  .step-box:nth-of-type(5) .step-box_heading .numbering {
      left: 9px
  }
  .step-box:nth-of-type(6) {
      box-shadow: 5px 5px 0 0 #579fb6
  }
  .step-box:nth-of-type(6) .step-box_heading .numbering {
      right: 9px
  }
  .step-box_heading {
      font-size: 16px;
      line-height: 1.40625
  }
  .step-box_heading .numbering {
      width: 37px;
      transform: translateY(-75%)
  }
  .step-box_heading .numbering:before {
      top: -9px;
      right: -8px;
      width: 14px;
      height: 10px
  }
  .step-box_heading .heading-main {
      padding: 8px 9px
  }
  .step-box_table {
      width: 700px
  }
  .step-box_table td, .step-box_table th {
      padding: .75em .5em;
      font-size: 12px
  }
  .step-box__inner-mainttl {
    margin: 30px auto 0 20px;
    font-size: 13px;
  }
  .step-box__inner-mainttl .ttl-main {
    position: relative;
    padding: 6px 10px;
  }
  .step-box__inner-mainttl::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: -18px;
    margin: auto;
    width: 25px;
    height: 25px;
    background-size: 13px;
  }
  .step-box__inner-subttl {
    margin-top: 30px;
    margin-bottom: 20px;
    font-size: 13px;
  }
  .step-box__inner-lists {
    display: block;
  }
  .step-box__inner-list {
    width: 100%;
    margin-bottom: 20px;
  }
  .step-box__inner-list.second {
    width: 100%;
  }
  .step-box__inner-list:last-child {
    width: 100%;
    margin-bottom: 0;
  }
  .step-box__inner-list img {
    margin-left: -10px;
    max-width: 100%;
  }
  .step-box__inner-list.second img,
  .step-box__inner-list.third img {
    margin-left: 0px;
  }
  .step-box__inner-list p {
    padding-top: 10px;
  }
  .flow_note {
    margin-top: 20px;
  }
  .flow .flow_note {
    text-align: left!important;
  }
  .flow_note p {
    font-size: 12px;
    line-height: 1.8;
  }
  .about_wrap{
    width: 100%;
  }
  .about {
    padding: 88px 0 88px;
  }
  .about_content-inner {
    padding: 20px;
  }
  .about_content-spwrap {
    overflow-y: hidden;
    overflow-x: scroll;
  }
  .about_content-spwrapinner {
    padding: 70px 40px;
    width: 834px;
  }
  .about_heading {
    margin: 0 0 30px;
    text-align: center;
  }
  .about_btn-cont{
    width: 100%;
    margin-top: 34px;
  }
  .about_btn-cont__txt{
    width: 150px;
  }
  .about_btn{
    width: 250px;
    margin: 10px auto 0;
  }
  .program {
      padding: 80px 0;
      background-image: url(../img/bg_triangle-dwn-sm.png), url(../img/bg_triangle-dwn-lg.png), url(../img/bg_triangle-up-pair.png);
      background-repeat: no-repeat;
      background-position: 17.2% .91719%, -7.86667% 3.01363%, right -13.33333% top 7.52096%;
      background-size: 12.26667% auto, 24.93333% auto, 32% auto
  }
  .program .heading-en_txt {
      width: 233px
  }
  .program_content {
      margin-top: 50px
  }
  .program-chart{
    margin: 30px 0;
  }
  .program_note {
      margin-top: 45px;
      padding: 15px 20px
  }
  .program_note p {
      font-size: 12px
  }
  .program-lists {
    margin-top: 0;
    display: block;
  }
  .program-list._01,
  .program-list._02,
  .program-list._03 {
    margin-bottom: 24px;
  }
  .program-list {
    width: 100%;
    margin-bottom: 40px;
  }
  .program-list-ttl {
    margin-bottom: 2px;
  }
  .program-list-ttl h4 {
    font-size: 16px;
  }
  .program-list-txt {
    max-width: 100%;
    font-size: 12px;
  }
  .university {
      padding: 80px 0;
      background-image: url(../img/bg_triangle-dwn-lg.png), url(../img/bg_triangle-dwn-sm.png), url(../img/bg_triangle-up-sm.png), url(../img/bg_triangle-up-lg.png);
      background-repeat: no-repeat;
      background-position: -12.53333% 1.23285%, 5.6% 6.59837%, right -4.66667% top 3.05609%, right -4.4% top 5.0356%;
      background-size: 24.93333% auto, 12.26667% auto, 12.26667% auto, 24.93333% auto
  }
  .university .heading-en_txt {
      width: 277px
  }
  .university_content {
      margin-top: 50px
  }
  .university_note {
      margin-top: 38px;
      padding: 17px 20px
  }
  .university_note p {
      font-size: 10px
  }
  .univ {
      margin-top: 60px;
      padding-top: 0
  }
  .univ_pic {
      position: static;
      width: 100%
  }
  .univ_main:after {
      top: 5px;
      left: 5px
  }
  .univ_main {
      width: 91.17647%;
      margin-top: -5.88235%
  }
  .univ_main-inner {
      padding: 30px 20px
  }
  .univ_heading {
      margin-bottom: 20px;
      padding: 0 0 21px;
      background-size: auto 7px
  }
  .univ_heading .numbering {
      width: 27px;
      font-size: 33px
  }
  .univ_heading .caption {
      padding-left: 12px
  }
  .univ_heading .caption .name-main {
      font-size: 18px
  }
  .univ_heading .caption .state {
      font-size: 12px
  }
  .univ_body p {
      font-size: 13px
  }
  .univ .btn-wrapper {
      width: 90.90909%;
      min-width: 0;
      margin-top: 20px
  }
  .univ .btn {
      font-size: 14px
  }
  .univ .btn:after, .univ .btn:before {
      right: 8%
  }
  .voice {
      padding: 80px 0;
      background-color: #F0F0FD;
      background-image: url(../img/bg_triangle-dwn-lg.png), url(../img/bg_triangle-dwn-sm.png), url(../img/bg_triangle-up-sm.png), url(../img/bg_triangle-up-lg.png);
      background-repeat: no-repeat;
      background-position: -12.53333% 1.23285%, 5.6% 6.59837%, right -4.66667% top 3.05609%, right -4.4% top 5.0356%;
      background-size: 24.93333% auto, 12.26667% auto, 12.26667% auto, 24.93333% auto
  }
  .voice .heading-en_txt {
      width: 140px
  }
  .voice h3 {
    margin-top: 0;
    text-align: center;
  }
  .voice .voice_txt {
    display: inline-block;
    width: 100%;
  }
  .voice_content {
      margin-top: 50px
  }
  .voice_note {
      margin-top: 45px;
      padding: 17px 20px
  }
  .voice_note p {
      font-size: 10px
  }
  .voice_content {
    margin-top: 50px;
    display: block;
  }
  .voice_content.no-mt0 {
    margin-top: 0;
  }
  .voice_main {
    width: 98.17647%;
    margin-bottom: 55px;
  }
  .voice_main:after {
    top: 5px;
    left: 5px
}
  .voice_main-inner {
      padding: 30px 20px;
      position: relative;
  }
  .voice_body-wrap{
    max-width: 100%;
  }
  .voice_body p {
      font-size: 13px;
      min-height: auto;
      margin-bottom: 30px;
  }
  .voice_body .img-cont {
    flex-direction: column;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
  }
  .voice_body .img-cont img {
    display: block;
    max-width: 275px;
    width: 100%;
  }

  .voice_body .program-list-img{
    margin-bottom: 0;
  }
  .voice_link {
    margin-top: 0;
  }
  .voice_link p {
    font-size: 13px;
  }

  .support {
    padding: 80px 0;
    background-image: url(../img/pc/support_bg.png);
    background-repeat: no-repeat;
    background-position: top;
    background-size: 100% auto
  }
  .support .heading-en_txt {
      width: 220px
  }
  .support .support_txt {
    width: 100%;
    margin: 30px auto 0;
  }
  .support_main {
    margin-top: 30px;
    margin-bottom: 20px;
    width: 100%;
    z-index: 10;
  }
  .support_main:after {
    top: 5px;
    left: 5px;
  }
  .support_main-inner {
    position: relative;
    z-index: 10;
    padding: 30px 15px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 25px;
  }
  .support_main-inner-list{
    max-width: calc(50% - 50px);
    width: 100%;
  }
  .support_main-inner-list:not(:last-child) {
    margin-right: 0;
  }
  .support_main-inner-list{
    margin: 0;
  }
  .support .program_note {
    margin-top: 60px;
    padding: 20px 25px;
  }
  .date_info {
      padding: 20px 30px 20px;
      text-align: right;
  }
  .date_info p {
      font-size: 10px;
  }
}
@media screen and (max-width:479px) {
  .about_heading .heading-ct {
      padding: 0;
      background-image: none
  }
  .about_heading .grad-bg {
      background-image: linear-gradient(90deg, #b7bcfd, #61c5e6);
      display: block;
      margin-top: 10px;
      padding: 25px 15px 25px
  }
  .about_heading .grad-bg:first-of-type {
      margin-top: 0
  }
}