@charset "utf-8";
@import "normalize.css";
/*--------------------------------------------------------
                          setting
---------------------------------------------------------*/
body {
  width: 100%;
  background: #fff;
  font-family: "Noto Sans Japanese", "源ノ角ゴシック JP", "游ゴシック", "游ゴシック体", "Yu Gothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "ＭＳＰゴシック", "MS PGothic", "sans-serif";
}
article > section, footer section {
  margin: 0 auto;
  padding: 2rem 0;
}
#area-04 > section {
  padding: 0 0 2rem;
}
h1 {
  margin-bottom: 2rem;
  padding: 2rem 0;
  width: 100%;
  position: relative;
  font-size: 2.5rem;
  text-align: center;
  letter-spacing: 0.1em;
  color: #0091d5;
}
#area-02 h1, #area-04 h1 {
  margin: 0;
  line-height: 2rem;
}
h1:before {
  content: '';
  margin: 0 auto;
  width: 7.5rem;
  height: 7.5rem;
  border-radius: 100%;
  background-color: #A7F1FF;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  z-index: -1;
}
#area-02 h1 span {
  font-size: 2.1rem;
}
h2 {
  position: relative;
  font-size: 2rem;
  font-weight: bold;
  color: #0091d5;
  font-style: italic;
}
h2 span {
  position: relative;
  z-index: 2;
}
h2::before {
  content: attr(data-en);
  position: absolute;
  top: -.3rem;
  left: 1rem;
  color: rgba(5, 62, 98, 0.5);
  font-size: 1.5rem;
  text-transform: uppercase;
}
/*--------------------------------------------------------
                        pagetop
---------------------------------------------------------*/
#pagetop {
  position: fixed;
  right: 20px;
  bottom: 20px;
  cursor: pointer;
  z-index: 10;
}
/*--------------------------------------------------------
                        aside
---------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
  /*--------------------------------------------------------
                          aside
---------------------------------------------------------*/
  .g_nav {
    width: 100%;
    position: fixed;
    z-index: 99;
    top: 0;
    background: #fff;
  }
  .g_nav nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
  }
  .g_nav figure img {
    width: auto;
  }
  .nav_btn {
    color: #272727;
    text-align: end;
    position: relative;
    cursor: pointer;
    transition-duration: 0.2s;
  }
  .nav_btn::before, .nav_btn::after {
    content: "";
    position: absolute;
    right: .8rem;
    background: #209cff;
    transition: all .3s ease-in-out;
  }
  .nav_btn::before {
    transform: rotate(90deg);
  }
  .nav_btn.open::before {
    transform: rotate(-135deg);
  }
  .nav_btn.open::after {
    transform: rotate(135deg);
  }
  .nav_box {
    width: 100%;
    position: absolute;
    left: 0;
    display: none;
    background: #209cff;
    opacity: .9;
    z-index: -1;
  }
  .nav_box li a {
    color: #fff;
    text-decoration: none;
  }
}
/*--------------------------------------------------------
                        header
---------------------------------------------------------*/
header {
  width: 100%;
  position: relative;
  background-image: url("../images/other-ap-guidance.jpg");
  background-position: center;
  background-size: cover;
}
.main_title, header div p {
  font-weight: bold;
  text-shadow: .1rem .1rem .4rem #202020;
}
.main_title {
  color: #FFF462;
  text-align: center;
}
header div {
  position: absolute;
  bottom: 2rem;
  left: 0;
  right: 0;
  text-align: center;
}
.application-form {
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  box-shadow: .1rem .2rem .3rem #535353;
  border-radius: 5rem;
  background-color: #008CFF;
}
header div p {
  color: #fff;
}
/*--------------------------------------------------------
                          main
---------------------------------------------------------*/
main p {
  color: #323232;
  font-size: 1.05rem;
  line-height: 1.5rem;
  text-align: justify;
}
/*--------------------------------------------------------
                          area-01
---------------------------------------------------------*/
#area-01 table {
  margin: 0 auto 2rem;
}
#area-01 tr img {
  padding-right: .5rem;
  height: auto;
  vertical-align: top;
}
#area-01 tr td {
  font-weight: bold;
  color: #323232;
}
#area-01 div p {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
}
#area-01 div {
  margin: 0 auto;
}
#area-01 div p:nth-child(2) {
  margin-top: 1rem;
}
#area-01 div p:last-of-type {
  font-weight: normal
}
/*--------------------------------------------------------
                          area-02
---------------------------------------------------------*/
#area-02 {
  z-index: 2;
  position: relative;
  background: linear-gradient(-45deg, #fff 25%, #C2EEFF 25%, #C2EEFF 50%, #fff 50%, #fff 75%, #C2EEFF 75%, #C2EEFF);
}
#area-02 section > p {
  margin: 0 auto 1rem;
  width: 85%;
  font-weight: bold;
  text-align: center;
}
#area-02 ul {
  margin: 0 auto;
  display: block;
}
#area-02 ul li {
  margin-bottom: 1rem;
  font-weight: normal;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background: #fff;
  box-shadow: rgba(0, 0, 0, 0.5) .2rem .3rem .8rem;
  border: .2rem solid #A7F1FF;
  border-radius: 1rem;
}
#area-02 figure {
  margin-right: 1rem;
}
#area-02 figure img {
  height: auto;
}
.slash {
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  color: #00CED1;
}
.slash::before, .slash::after {
  content: "";
  background-color: #00CED1;
}
.slash::before {
  transform: rotate(50deg);
}
.slash::after {
  transform: rotate(-50deg);
}
/*--------------------------------------------------------
                          area-03
---------------------------------------------------------*/
#area-03 {
  position: relative;
}
#area-03::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  background: linear-gradient(#fff, #D4FFF6 70%);
  z-index: -2;
}
#area-03 section {
  display: block;
}
#area-03 .box {
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  flex-wrap: wrap;
}
#area-03 .box figure {
  margin-bottom: 1rem;
  text-align: center;
}
#area-03 .box img {
  width: 12rem;
  height: 12rem;
  object-fit: cover;
  border-radius: 100%;
  box-shadow: .1rem .3rem 1rem #666666;
}
#area-03 .box p {
  margin: .5rem auto 0;
}
/*--------------------------------------------------------
                          area-04
---------------------------------------------------------*/
#area-04 section p {
  text-align: center;
}
#area-04 table {
  margin: 1rem auto 0;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
#area-04 th, #area-04 td {
  padding: .8rem;
  text-align: center;
  vertical-align: middle;
}
#area-04 th {
  background: #0091d5;
  color: #ffffff;
}
#area-04 th, #area-04 td {
  border: solid .1rem #707070;
}
#area-04 td {
  line-height: 30px;
  color: #323232;
}
#area-04 td:first-of-type {
  background: #DDFFFF;
}
#area-04 span {
  font-weight: bold;
  color: #0091d5;
}
#area-04 td a {
  color: #707070;
  text-decoration: none;
}
#area-04 .free {
  font-size: 1.2rem;
  font-weight: bold;
  color: #ff1d58;
}
#area-04 .free span {
  font-size: 1rem;
  color: #ff1d58;
}
#area-04 > section > p:last-of-type {
  margin: 0 auto;
  width: 85%;
  font-weight: bold;
  color: #ff1d58;
}
/*--------------------------------------------------------
                          area-05
---------------------------------------------------------*/
#area-05 {
  background: #00BCD4;
  background-image: radial-gradient(#00BCD4 .1rem, #f3fcfa .1rem);
  background-size: 1.8rem 1.8rem;
  z-index: 2;
  position: relative;
}
#area-05 ul {
  padding: 1rem;
  background: #fff;
}
#area-05 .course_schedule {
  padding-bottom: .5rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  border-bottom: solid .1rem #707070;
}
#area-05 .course_schedule:not(:last-of-type) {
  margin-bottom: 2rem;
}
#area-05 .course_schedule p:first-of-type {
  width: 100%;
}
#area-05 .course_schedule p span {
  margin-right: .4rem;
  padding: .3rem .7rem;
  color: #fff;
  background: #0091d5;
  border-radius: .2rem;
}
#area-05 .course_schedule > .entryBtn {
  padding: .5rem 1rem;
  background: #fff;
  border: solid .15rem #ff1d58;
  border-radius: .2rem;
}
#area-05 .course_schedule > .entryBtn > a {
  color: #ff1d58;
  text-decoration: none;
}
#area-05 .course_schedule > button[class*="close"] {
  background: #666666;
  border: solid .15rem #585858;
}
#area-05 .course_schedule > button[class*="close"] > a {
  color: #fff;
}
#area-05 section > p {
  margin-top: 1rem;
  text-align: center;
}
/*--------------------------------------------------------
                          area-06
---------------------------------------------------------*/
#area-06 .rpsArea_open {
  padding: .8rem 0;
  width: 100%;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  background: #0091d5;
}
#area-06 .rpsList {
  padding: 1rem 1rem 0;
}
#area-06 .rps {
  display: flex;
  align-items: center;
  border-bottom: .1rem solid #0091d5;
}
#area-06 .rps:nth-last-of-type(n + 2) {
  margin-bottom: 1.5rem;
}
#area-06 .rps p {
  margin-right: 1rem;
  line-height: 4rem;
}
#area-06 .rps span {
  margin-right: .6rem;
  padding: .4rem .8rem;
  color: #fff;
  background: #0091d5;
  border-radius: .2rem;
}
#area-06 .rps a {
  margin-left: auto;
}
#area-06 .rps button {
  margin-top: .2rem;
  padding: .5rem 1rem;
  color: #0091d5;
  background: #fff;
  border: solid .15rem #0091d5;
  border-radius: .2rem;
  box-sizing: border-box;
}
/*--------------------------------------------------------
                          footer
---------------------------------------------------------*/
footer {
  width: 100%;
  text-align: center;
  background: linear-gradient(to top, #0091d5 0%, #3fbfce 100%);
}
footer section {
  padding: 2rem 0 1rem;
}
footer figure {
  margin-bottom: 1rem;
  width: 100%;
}
footer figure img {
  height: auto;
}
footer figure:last-of-type a:nth-of-type(2) {
  margin: 0 2rem;
}
footer p {
  margin: 0 auto;
  color: #fff;
}
@media only screen and (min-width: 1025px) {
  /*--------------------------------------------------------
                          aside
---------------------------------------------------------*/
  .g_nav {
    padding: .6rem 1rem;
    width: 100%;
    position: fixed;
    z-index: 99;
    top: 0;
    background: #fff;
  }
  .g_nav nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .g_nav figure img {
    width: auto;
    height: 2.7rem;
  }
  .nav_btn {
    display: none;
  }
  .g_nav ul {
    padding-right: 2rem;
    display: flex;
    justify-content: space-between;
  }
  .g_nav ul li:nth-last-of-type(n+2) {
    margin-right: 1rem;
  }
  .g_nav ul li a {
    color: #707070;
    font-weight: bold;
    text-decoration: none;
  }
  /*--------------------------------------------------------
                          header
---------------------------------------------------------*/
  header {
    margin: 4rem auto 0;
    padding: 2rem 0 20rem;
    max-width: 70rem;
  }
  .main_title {
    font-size: 3rem;
    line-height: 4rem;
  }
  .application-form {
    padding: .6rem 1.3rem;
    font-size: 1.5rem;
    border: .3rem solid #fff;
  }
  header div p:first-of-type {
    margin-top: 3rem;
    font-size: 1.7rem;
  }
  header div p:last-of-type {
    margin-top: 1rem;
    font-size: 1.3rem;
  }
  header div p span {
    font-size: 2.5rem;
  }
  /*--------------------------------------------------------
                          area-01
---------------------------------------------------------*/
  #area-01 table {
    margin: 0 auto;
    width: 80%;
    max-width: 60rem;
  }
  #area-01 tr img {
    width: 2rem;
  }
  #area-01 tr td {
    font-size: 1.6rem;
    line-height: 2.2rem;
  }
  #area-01 tbody tr:nth-child(2) td {
    padding-top: 1.5rem;
  }
  #area-01 div p span {
    line-height: 40px;
    background: linear-gradient(transparent 50%, #fffba1 0);
  }
  #area-01 div p:last-of-type {
    font-size: 1rem;
  }
  /*--------------------------------------------------------
                          area-02
---------------------------------------------------------*/
  #area-02 {
    background-size: .9rem .9rem;
  }
  #area-02 section > p {
    max-width: 38rem;
  }
  #area-02 ul {
    width: 90%;
    max-width: 60rem;
    display: flex;
    justify-content: space-between;
  }
  #area-02 ul li {
    margin-bottom: 0;
    padding: 1.5rem;
    width: 31%;
    display: block;
    border: .4rem solid #A7F1FF;
    box-sizing: border-box;
    border-radius: 1.4rem;
  }
  #area-02 figure {
    margin-right: 0;
    text-align: center;
  }
  #area-02 figure img {
    width: 7rem;
  }
  .slash {
    font-size: 1.1rem;
  }
  .slash::before, .slash::after {
    width: 1.6rem;
    height: .15rem;
  }
  /*--------------------------------------------------------
                          area-03
---------------------------------------------------------*/
  #area-03 section {
    max-width: 70rem;
    display: flex;
    justify-content: space-evenly;
    flex-wrap: wrap;
  }
  #area-03 .box {
    width: 33%;
  }
  #area-03 .box:nth-last-of-type(n + 3) {
    margin-bottom: 3rem;
  }
  #area-03 .box div {
    padding: 0 2rem;
  }
  /*--------------------------------------------------------
                          area-04
---------------------------------------------------------*/
  #area-04 h1 {
    line-height: 2.3rem;
  }
  #area-04 table {
    max-width: 40rem;
  }
  #area-04 span, #area-04 .free {
    font-size: 1.8rem;
  }
  #area-04 > section > p:last-of-type {
    width: 35rem;
  }
  /*--------------------------------------------------------
                          area-05
---------------------------------------------------------*/
  #area-05 ul {
    margin: 0 auto;
    max-width: 60rem;
  }
  #area-05 .course_schedule p:first-of-type {
    margin-bottom: 1rem;
  }
  #area-05 .course_schedule button:hover {
    background: #FFAAC0;
    transition: .25s;
  }
  #area-05 .course_schedule > button[class*=close]:hover {
    background: #494949;
  }
  /*--------------------------------------------------------
                          area-06
---------------------------------------------------------*/
  #area-06 section {
    width: 80%;
    max-width: 60rem;
  }
  #area-06 .rpsArea_open:hover {
    opacity: .8;
    transition: .25s;
  }
  #area-06 .rps button:hover {
    color: #fff;
    background: #0091d5;
    transition: .25s;
  }
  /*--------------------------------------------------------
                          fotter
---------------------------------------------------------*/
  footer figure:first-of-type img {
    width: 18rem;
  }
  footer figure:last-of-type img {
    width: 2.3rem;
  }
}
@media only screen and (max-width: 1024px) and (min-width: 751px) {
  /*--------------------------------------------------------
                          setting
---------------------------------------------------------*/
  h1 {
    font-size: 2rem;
  }
  #area-02 h1 span {
    font-size: 1.8rem;
  }
  article > section, footer section {
    max-width: 38rem;
  }
  h2 {
    padding-left: 1rem;
    font-size: 1.5em;
  }
  /*--------------------------------------------------------
                          aside
---------------------------------------------------------*/
  .g_nav nav {
    padding: .7rem 0;
  }
  .g_nav figure img {
    height: 2rem;
  }
  .nav_btn {
    padding-right: 3rem;
    font-size: 1.5rem;
  }
  .nav_btn::before, .nav_btn::after {
    width: 1.7rem;
    height: .2rem;
    top: .7rem;
  }
  .nav_box {
    padding: 1rem 0 .8rem;
    top: 3.3rem;
  }
  .nav_box li {
    padding: .8rem 0 .8rem 3rem;
  }
  .nav_box li a {
    font-size: 1rem;
  }
  /*--------------------------------------------------------
                          header
---------------------------------------------------------*/
  header {
    margin: 3.3rem auto 0;
    padding: 2rem 0 20rem;
  }
  .main_title {
    font-size: 2.4rem;
    line-height: 3rem;
  }
  .application-form {
    padding: .5rem 1.3rem;
    font-size: 1.2rem;
    border: .3rem solid #fff;
  }
  header div p:first-of-type {
    margin-top: 2.5rem;
    font-size: 1.5rem;
  }
  header div p:last-of-type {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
  header div p span {
    font-size: 2.3rem;
  }
  /*--------------------------------------------------------
                          area-01
---------------------------------------------------------*/
  #area-01 tr img {
    width: 1.8rem;
  }
  #area-01 tr td {
    font-size: 1.3rem;
    line-height: 1.8rem;
  }
  #area-01 tbody tr:nth-child(2) td {
    padding-top: 1.5rem;
  }
  #area-01 div {
    width: 26rem;
  }
  #area-01 div p span {
    line-height: normal;
    background: linear-gradient(transparent 55%, #fffba1 0);
  }
  #area-01 div p:last-of-type {
    font-size: .95rem;
  }
  /*--------------------------------------------------------
                          area-02
---------------------------------------------------------*/
  #area-02 {
    background-size: .8rem .8rem;
  }
  #area-02 ul li {
    padding: .8rem 1.5rem .4rem;
  }
  #area-02 figure img {
    width: 6.5rem;
  }
  .slash {
    font-size: 1rem;
  }
  .slash::before, .slash::after {
    width: 1.2rem;
    height: .15rem;
  }
  /*--------------------------------------------------------
                          area-03
---------------------------------------------------------*/
  #area-03 .box:nth-last-of-type(n + 2) {
    margin-bottom: 3rem;
  }
  #area-03 .box figure {
    margin-bottom: 0;
  }
  #area-03 .box div {
    width: 100%;
    max-width: 17rem;
  }
  /*--------------------------------------------------------
                          area-04
---------------------------------------------------------*/
  #area-04 .free, #area-04 span {
    font-size: 1.8rem;
  }
  /*--------------------------------------------------------
                          area-05
---------------------------------------------------------*/
  #area-05 .course_schedule p:not(:first-of-type) {
    width: 50%;
  }
  #area-05 .course_schedule p:nth-of-type(2) {
    margin: 1.1rem 0 .8rem;
  }
  /*--------------------------------------------------------
                          area-06
---------------------------------------------------------*/
  /*--------------------------------------------------------
                          fotter
---------------------------------------------------------*/
  footer figure:first-of-type img {
    width: 17rem;
  }
  footer figure:last-of-type img {
    width: 2rem;
  }
  footer p {
    font-size: .9rem;
  }
}
@media only screen and (max-width: 750px) {
  /*--------------------------------------------------------
                          setting
---------------------------------------------------------*/
  main p {
    font-size: .9rem;
    line-height: 1.2rem;
  }
  article > section, footer section {
    width: 90%;
    max-width: 28rem;
  }
  h1 {
    font-size: 1.8rem;
  }
  #area-02 h1 span {
    font-size: 1.6rem;
  }
  h2 {
    padding-left: 1.5rem;
    font-size: 1.3em;
  }
  /*--------------------------------------------------------
                          aside
---------------------------------------------------------*/
  .g_nav nav {
    padding: .5rem 0;
  }
  .g_nav figure img {
    height: 1.6rem;
  }
  .nav_btn {
    padding-right: 2.5rem;
    font-size: 1.2rem;
  }
  .nav_btn::before, .nav_btn::after {
    width: 1.2rem;
    height: .15rem;
    top: .6rem;
  }
  .nav_box {
    padding: .7rem 0 .5rem;
    top: 2.5rem;
  }
  .nav_box li {
    padding: .5rem 0 .5rem 1rem;
  }
  .nav_box li a {
    font-size: .9rem;
  }
  /*--------------------------------------------------------
                          header
---------------------------------------------------------*/
  header {
    margin: 2.5rem auto 0;
    padding: 2rem 0 14rem;
  }
  .main_title {
    font-size: 1.7rem;
    line-height: 2.4rem;
  }
  .application-form {
    padding: .4rem 1.3rem;
    font-size: 1rem;
    border: .2rem solid #fff;
  }
  header div p:first-of-type {
    margin-top: 1.8rem;
  }
  header div p:last-of-type {
    margin-top: .8rem;
  }
  header div p span {
    font-size: 1.7rem;
  }
  /*--------------------------------------------------------
                          area-01
---------------------------------------------------------*/
  #area-01 tr img {
    width: 1.6rem;
  }
  #area-01 tr td {
    font-size: 1.1rem;
    line-height: 1.4rem;
  }
  #area-01 tbody tr:nth-child(2) td {
    padding-top: 1.3rem;
  }
  #area-01 div p {
    font-size: 1rem;
  }
  #area-01 div p span {
    line-height: normal;
    background: linear-gradient(transparent 60%, #fffba1 0);
  }
  #area-01 div p:last-of-type {
    margin-top: 1rem;
    font-size: .85rem;
  }
  /*--------------------------------------------------------
                          area-02
---------------------------------------------------------*/
  #area-02 {
    background-size: .6rem .6rem;
  }
  #area-02 ul li {
    padding: .8rem 1rem .4rem;
  }
  #area-02 figure img {
    width: 6rem;
  }
  .slash {
    font-size: .9rem;
  }
  .slash::before, .slash::after {
    width: 1rem;
    height: .1rem;
  }
  /*--------------------------------------------------------
                          area-03
---------------------------------------------------------*/
  #area-03 .box:nth-last-of-type(n + 2) {
    margin-bottom: 2rem;
  }
  #area-03 .box img {
    width: 11rem;
    height: 11rem;
  }
  #area-03 .box p {
    padding: 0 1rem;
  }
  #area-03 .box div {
    width: 100%;
    max-width: 17rem;
  }
  /*--------------------------------------------------------
                          area-04
---------------------------------------------------------*/
  #area-04 th, #area-04 td {
    border: solid .01rem #707070;
  }
  #area-04 .free, #area-04 span {
    font-size: 1.5rem;
  }
  /*--------------------------------------------------------
                          area-05
---------------------------------------------------------*/
  #area-05 .course_schedule {
    padding-bottom: .5rem;
    border: none;
  }
  #area-05 .course_schedule p {
    margin-bottom: .6rem;
    width: 100%;
    line-height: 1.4rem;
  }
  #area-05 .course_schedule p span {
    padding: .2rem .5rem;
  }
  #area-05 .course_schedule .entryBtn {
    width: 100%;
    padding: .1rem 0;
    text-align: center;
    border: solid .1rem #ff1d58;
  }
  #area-05 section > p {
    margin: 1rem auto 0;
    width: 90%;
  }
  /*--------------------------------------------------------
                          area-06
---------------------------------------------------------*/
  #area-06 section {
    width: 90%;
    max-width: 28rem;
  }
  #area-06 .rps {
    display: block;
    border: none;
  }
  #area-06 .rps p {
    margin-right: 0;
    line-height: 2.3rem;
  }
  #area-06 .rps span {
    padding: .3rem .6rem;
  }
  #area-06 .rps a {
    width: 100%;
  }
  #area-06 .rps button {
    padding: .1rem 0;
    width: 100%;
    border: solid .1rem #0091d5;
  }
  /*--------------------------------------------------------
                          fotter
---------------------------------------------------------*/
  footer figure:first-of-type img {
    width: 16rem;
  }
  footer figure:last-of-type img {
    width: 1.8rem;
  }
  footer p {
    max-width: 30rem;
    font-size: .75rem;
    line-height: 18px;
  }
}