@charset "UTF-8";
/* CSS Document */
/*320px（最小）
640px未満 @media screen and (max-width: 639px) {...}
1024px未満 @media screen and (max-width: 1023px) {...}*/
/**
 * Setting
 * -----------------------------------------------------------------------------
 */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=IBM+Plex+Sans:400,500,700&display=swap");
/**
 * Mixin
 * -----------------------------------------------------------------------------
 */
.header {
  -webkit-box-shadow: 0px 2px 5px -3px #d1d1d1;
  box-shadow: 0px 2px 5px -3px #d1d1d1; }

.culm2r1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media only screen and (max-width: 768px) {
    .culm2r1 {
      display: block; } }
  .culm2r1 > * {
    width: 48%; }
    @media only screen and (max-width: 768px) {
      .culm2r1 > * {
        width: 100%; } }
  @media only screen and (max-width: 768px) {
    .culm2r1 > *:last-child {
      margin-top: 20px; } }

.culm2r1--img > div {
  width: 63%; }
  @media only screen and (max-width: 768px) {
    .culm2r1--img > div {
      width: 100%; } }

.culm2r1--img > img {
  width: 33%;
  display: block; }
  @media only screen and (max-width: 768px) {
    .culm2r1--img > img {
      width: 100%; } }

.footerCva {
  padding: 180px 0 120px; }
  @media only screen and (max-width: 768px) {
    .footerCva {
      padding: 10px 0; } }

.contact__table {
  width: 100%;
  margin-top: 40px;
  font-size: 1.6rem; }
  .contact__table th {
    width: 30%;
    border-bottom: 1px solid #a2a2a2;
    padding: 10px; }
  .contact__table td {
    width: 70%;
    border-bottom: 1px solid #a2a2a2;
    padding: 10px; }
  .contact__table input[type="text"],
  .contact__table input[type="email"] {
    width: 100%;
    padding: 5px; }

.btn-submit {
  margin: 40px auto 0;
  border-top: none;
  border-left: none;
  border-right: none;
  background-image: none;
  max-width: 300px;
  width: 100%;
  height: 60px;
  font-size: 1.6rem;
  line-height: 60px;
  background: #ff5a1a;
  color: #fff;
  display: block;
  text-align: center; }
  @media only screen and (max-width: 768px) {
    .btn-submit {
      font-size: 1.4rem;
      margin: 20px auto 0; } }

.pageInner {
  margin: 0 auto;
  background: #fff;
  padding: 30px 40px 80px;
  border: 1px solid #ccc; }
  .pageInner + .listItem {
    margin-top: 40px; }
    @media only screen and (max-width: 768px) {
      .pageInner + .listItem {
        margin-top: 20px; } }
  @media only screen and (max-width: 768px) {
    .pageInner {
      width: 94%;
      padding: 20px 10px; } }

.pageTtl {
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  letter-spacing: calc(10em / 100);
  background: #000; }
  @media only screen and (max-width: 768px) {
    .pageTtl {
      margin-top: -20px;
      margin-left: -10px;
      width: calc(100% + 20px); } }
  .pageTtl img {
    opacity: 0.8;
    vertical-align: bottom; }
  .pageTtl .pageTtl__inner {
    position: absolute;
    text-align: center;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #0092e8;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 700; }
    @media only screen and (max-width: 768px) {
      .pageTtl .pageTtl__inner {
        font-size: 2.2rem; } }
    .pageTtl .pageTtl__inner span {
      border-bottom: 1px solid;
      border-top: 1px solid;
      display: block;
      font-family: "IBM Plex Sans", sans-serif;
      font-size: 1.4rem;
      font-weight: 400;
      padding: 5px;
      text-align: center;
      letter-spacing: calc(18em / 100); }
      @media only screen and (max-width: 768px) {
        .pageTtl .pageTtl__inner span {
          font-size: 1rem;
          padding: 3px; } }

.pageLeadBox {
  padding: 60px 0 80px;
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem; }
  @media only screen and (max-width: 768px) {
    .pageLeadBox {
      padding: 25px 10px 30px;
      font-size: 1.6rem; } }

.pageBox {
  padding-bottom: 80px; }
  @media only screen and (max-width: 768px) {
    .pageBox {
      padding-bottom: 40px; } }

.pageSubttl {
  font-size: 2.4rem;
  margin-bottom: 15px;
  padding: 5px;
  border-bottom: 2px solid #748993; }
  @media only screen and (max-width: 768px) {
    .pageSubttl {
      font-size: 1.8rem; } }

.pageSubttl-2 {
  font-size: 2rem;
  margin-top: 50px;
  margin-bottom: 15px; }
  .pageSubttl-2 .pageSubttl--fs {
    font-size: 50%;
    display: block; }
  @media only screen and (max-width: 768px) {
    .pageSubttl-2 {
      font-size: 1.6rem;
      margin-top: 30px;
      margin-bottom: 10px; } }

.pageIconttl {
  margin-top: 15px;
  position: relative;
  padding-left: 15px; }
  .pageIconttl::before {
    content: "●";
    position: absolute;
    top: 50%;
    left: 0;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #01adf5;
    font-size: 80%; }

.culm2r1 .pageSubttl-2 {
  margin-top: 0; }

.pageTxt--indent {
  text-indent: 1em; }

ul + .pageTxt,
.pageTxt + .pageTxt {
  margin-top: 20px; }

.pageList--arrowIcon {
  margin-top: 20px; }
  .pageList--arrowIcon li {
    position: relative;
    padding-left: 10px; }
    @media only screen and (max-width: 768px) {
      .pageList--arrowIcon li {
        padding-left: 8px; } }
    .pageList--arrowIcon li::before {
      content: "";
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 4px 0 4px 6px;
      border-color: transparent transparent transparent #01adf5;
      position: absolute;
      top: 0.5em;
      left: 0; }
      @media only screen and (max-width: 768px) {
        .pageList--arrowIcon li::before {
          border-width: 3px 0 3px 5px; } }
  .pageList--arrowIcon li + li {
    margin-top: 10px; }

.al-course li {
  display: inline-block; }

.al-course {
  border: 1px solid #01adf5;
  padding: 20px 30px;
  padding-right: 10px;
  margin-top: 20px; }
  @media only screen and (max-width: 768px) {
    .al-course {
      padding: 10px; } }
  .al-course li {
    margin-right: 15px; }
    @media only screen and (max-width: 768px) {
      .al-course li {
        margin-right: 10px; } }
  .al-course li + li {
    margin-top: 0; }

.al-visaTtl {
  font-size: 1.6rem;
  margin-top: 30px;
  border-bottom: 1px solid #ccc;
  padding: 10px;
  cursor: pointer;
  position: relative; }
  @media only screen and (max-width: 768px) {
    .al-visaTtl {
      margin-top: 10px; } }

.al-visaTtl::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 24px;
  height: 2px;
  width: 10px;
  background-color: #333;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.al-visaTtl::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 28px;
  height: 10px;
  width: 2px;
  background-color: #333;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%); }

.al-visaTtl.on::after {
  display: none; }

.al-visaDate {
  display: none;
  padding: 20px 10px; }
  @media only screen and (max-width: 768px) {
    .al-visaDate {
      padding: 10px; } }

.al-visaTtl.on + .al-visaDate {
  display: block; }

.al-visaSubttl {
  margin-top: 20px;
  font-size: 1.8rem; }
  @media only screen and (max-width: 768px) {
    .al-visaSubttl {
      font-size: 1.4rem; } }

.al-visaSubttl + .pageTxt {
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px; }

.al-visaDl {
  width: 100%;
  max-width: 520px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 20px; }
  .al-visaDl dt + dd + dt + dd,
  .al-visaDl dt + dd + dt {
    margin-top: 10px; }
  .al-visaDl dt,
  .al-visaDl dd {
    border-bottom: 1px solid #ccc;
    padding-bottom: 5px; }
  .al-visaDl dt {
    width: 13em;
    font-weight: bold; }
  .al-visaDl dd {
    width: calc(100% - 13em); }
  .al-visaDl .al-visaDl__ttl {
    width: 100%;
    text-align: center;
    background: #e9f8fe;
    padding: 5px;
    border-top: 1px solid #ccc;
    margin-bottom: 10px; }
