@charset "UTF-8";
/* ==========================================================
Name:
    module.css

Description:
    ¥µ¥¤¥È¤Ç¹²Í¨Ê¹ÓÃ¤¹¤ëšøÓÃ¥â¥¸¥å©`¥ë¼°¤Ó¥Ú©`¥¸¹ÌÓÐ¤Î¥¹¥¿¥¤¥ë¤òÓ›Êö¤¹¤ë
    šøÓÃ¥â¥¸¥å©`¥ë¤Ï¡¢¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½µí˜(A->Z)¤ËÓ›Êö¤¹¤ë
    ¥Ú©`¥¸¹ÌÓÐ¤Î¥¹¥¿¥¤¥ë¤Ï¡¢¥Ç¥£¥ì¥¯¥È¥êÃû¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½µí˜(A->Z)¡¢
    ¥Õ¥¡¥¤¥ëÃû¤Î¥¢¥ë¥Õ¥¡¥Ù¥Ã¥È½µí˜(A->Z)¤Ë¤½¤ì¤¾¤ìÓ›Êö¤¹¤ë

Contents:
    module
    page
    utility
    ========================================================== */
/* ==========================================================
*
*   module
*
========================================================== */
/*  magnetic
--------------------------------------------- */
.white-popup {
  position: relative;
  margin: 20px auto;
  max-width: 770px;
  width: auto;
}

@media screen and (max-width: 767px) {
  .white-popup {
    margin: 2.60756vw auto;
    max-width: auto;
    max-width: none;
    max-width: initial;
    width: 90vw;
  }
}

.mfp-close {
  display: none !important;
}

.icon-close {
  position: absolute;
  top: -40px;
  right: -40px;
  z-index: 5;
  max-width: 93px;
  cursor: pointer;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.icon-close:hover {
  opacity: 0.8;
}

.ios .icon-close:hover,
.android .icon-close:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .icon-close {
    top: -3.91134vw;
    right: -3.91134vw;
    max-width: 12.12516vw;
  }
}

.mfp-iframe-scaler iframe {
  border-radius: 10px;
  background-color: #fff;
}

.mfp-iframe-scaler {
  padding-top: 38.25% !important;
}

@media screen and (max-width: 767px) {
  .mfp-iframe-scaler {
    padding-top: 90% !important;
    width: 80%;
  }
}

.mfp-inline {
  outline: none;
}

.mfp-inline-holder {
  top: 115px !important;
  height: calc(100% - 115px) !important;
}

body.js-smallDisplay .mfp-inline-holder {
  top: 145px !important;
  height: calc(100% - 145px) !important;
}

@media screen and (max-width: 767px) {
  .mfp-inline-holder,
  body.js-smallDisplay .mfp-inline-holder {
    top: auto !important;
    height: 100% !important;
  }
}

@media screen and (max-width: 767px) {
  .mfp-iframe-holder .mfp-content {
    width: 80%;
  }
}

/*  modal
--------------------------------------------- */
.modal__close {
  position: relative;
  height: 45px;
  border-bottom: 1px solid #e7e7e7;
}

@media screen and (max-width: 767px) {
  .modal__close {
    height: 11.73403vw;
  }
}

.modal__close-icon {
  position: absolute;
  right: 15px;
  width: 18px;
  height: 18px;
  cursor: pointer;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.modal__close-icon:hover {
  opacity: 0.8;
}

.ios .modal__close-icon:hover,
.android .modal__close-icon:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .modal__close-icon {
    top: 2vw;
    right: 3.91134vw;
    width: 4.69361vw;
    height: 4.69361vw;
  }
}

.modal__title {
  padding: 3px 0 23px;
  text-align: center;
  font-weight: bold;
  font-size: 0.85rem;
}

@media screen and (max-width: 767px) {
  .modal__title {
    padding: 3.12907vw 0 5.99739vw;
    font-size: 1rem;
  }
}

.modal__content {
  padding: 30px 50px 60px 50px;
}

@media screen and (max-width: 767px) {
  .modal__content {
    padding: 3.91134vw 6.5189vw 7.82269vw 6.5189vw;
  }
}

.modal__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;

  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .modal__link {
    display: block;
  }
}

.modal__link-item {
  padding-bottom: 15px;
  width: 49%;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.modal__link-item:hover {
  opacity: 0.8;
}

.ios .modal__link-item:hover,
.android .modal__link-item:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .modal__link-item {
    display: block;
    padding-bottom: 3.91134vw;
    width: 100%;
  }
}

.min-none {
  min-width: auto;
  min-width: none;
  min-width: initial;
}

/* ==========================================================
*
*   page
*
========================================================== */
/* ---------------------------------------------
*   Index Page
--------------------------------------------- */
.keyvisual {
  margin-bottom: 47px;
}

.keyvisual img {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .keyvisual {
    margin-bottom: 0;
  }
}

.keyvisual__inner {
  position: relative;
  margin: 0 auto;
  padding-right: 0px;
  padding-left: 0px;
  max-width: 880px;
}

@media screen and (max-width: 767px) {
  .keyvisual__inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 5.21512%;
    padding-left: 10.666%;
    max-width: 100%;
  }
}

.keyvisual__head {
  margin-right: auto;
  padding-bottom: 62px;
  width: 535px;
}

@media screen and (max-width: 767px) {
  .keyvisual__head {
    margin-bottom: 0;
    padding-bottom: 3.91134vw;
    width: 49.73vw;
  }
}

.keyvisual__image {
  position: relative;
}

.keyvisual__image .pop {
  position: absolute;
  top: -190px;
}

@media screen and (max-width: 767px) {
  .keyvisual__image .pop {
    position: static;
  }
}

.keyvisual__title {
  margin: 0 auto 0 0;
  padding-top: 20px;
  color: #fff;
  text-align: center;
  font-weight: bold;
  font-size: 2rem;
}

.keyvisual__hide {
  display: block;
  overflow: hidden;
  height: 0;
}

@media screen and (max-width: 767px) {
  .keyvisual__title {
    padding: 2.60756vw 0 0;
    width: 82.6666667vw;
    font-size: 1.76471rem;
  }
}

.keyvisual__title .big {
  font-size: 4rem;
}

@media screen and (max-width: 767px) {
  .keyvisual__title .big {
    font-size: 4.70588rem;
  }
}

.keyvisual__title-image-top {
  width: 82.27%;
  margin-bottom: 28px;
  margin-right: auto;
  display: block;
}

.keyvisual__title-image-bottom {
  width: 35.1%;
  margin-left: auto;
  display: block;
}

@media screen and (max-width: 767px) {
  .keyvisual__title-image-bottom {
    margin-left: 45.87vw;
    width: 33%;
  }
}

.keyvisual__info {
  position: relative;
  max-width: 775px;
  box-sizing: border-box;
  padding: 45px 40px;
  border-radius: 135px 135px 25px 25px;
  background-color: #fff;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .keyvisual__info {
    display: block;
    padding: 7.06667vw 5.33333vw 1.73333vw 5.33333vw;
    border-radius: 18vw 18vw 3.33333vw 3.33333vw;
  }
}

.keyvisual__info-description-title {
  padding-bottom: 30px;
  white-space: nowrap;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .keyvisual__info-description-title {
    padding-bottom: 4vw;
    white-space: normal;
    font-size: 0.8422rem;
  }
}

.keyvisual__info-description-title-red {
  color: #e60012;
}

@media screen and (max-width: 767px) {
  .keyvisual__image {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto;
    width: 100%;
  }
}

.keyvisual__info-description-text {
  color: #8c8c8c;
  text-align: justify;
  font-weight: bold;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .keyvisual__info-description-text {
    padding-bottom: 2.60756vw;
    letter-spacing: 0.035em;
    font-size: 0.76471rem;
  }
}

@media screen and (max-width: 767px) {
  .keyvisual__image-block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    margin-right: auto;
    margin-left: auto;

    -webkit-box-align: center;
    align-items: center;
  }
}

@media screen and (max-width: 767px) {
  .keyvisual__image-click {
    width: 19.55671vw;
  }
}

.keyvisual__image-char {
  position: relative;
  width: 510px;
  height: 306px;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .keyvisual__image-char {
    width: 65.33333vw;
    height: 39.333vw;
  }
}

.keyvisual__image-char img {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 0;
}

.keyvisual__caption {
  max-width: 775px;
  margin-right: auto;
  margin-bottom: 35px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .keyvisual__caption {
    max-width: none;
    margin-bottom: 4.66667vw;
  }
}

.keyvisual__lead {
  line-height: 1.75;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 1rem;
  margin-bottom: 70px;
}

@media screen and (max-width: 767px) {
  .keyvisual__lead {
    font-size: 0.78204rem;
    margin-bottom: 6.66667vw;
  }
}

.keyvisual__lead-yellow {
  color: #ffff65;
}

.blue {
  color: #00a0e9;
}

/*  section-content
--------------------------------------------- */
.section-content {
  position: relative;
  margin: 0 auto;
  margin: 70px auto 70px;
  padding-right: 0px;
  padding-left: 0px;
  max-width: 880px;
  border: 2px solid #00a0e9;
}

@media screen and (max-width: 767px) {
  .section-content {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 5.21512%;
    padding-left: 5.21512%;
    max-width: 100%;
  }
}

.section-content--sec2 {
  margin: 70px auto 70px;
}

.section-content--sec3 {
  margin: 70px auto 70px;
  padding-bottom: 90px;
}

@media screen and (max-width: 767px) {
  .section-content {
    position: relative;
    margin: 13.03781vw 1.30378vw;
    padding: 0 2.60756vw;
    border: none;
  }

  .section-content--sec2 {
    margin: 13.03781vw 1.30378vw;
  }
  .section-content--sec3 {
    margin: 13.03781vw 1.30378vw 0;
    padding-bottom: 0;
  }
}

.section-content:before {
  position: absolute;
  top: -40px;
  left: 47.75%;
  z-index: 2;
  display: inline-block;
  background-repeat: no-repeat;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .section-content:before {
    top: -9.12647vw;
    left: 50%;
  }
}

.section-content:after {
  position: absolute;
  top: -40px;
  left: 48%;
  width: 200px;
  height: 72px;
  background-color: #fff;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .section-content:after {
    top: -10.43025vw;
    left: 50%;
    width: 36.50587vw;
    height: 18.77445vw;
  }
}

.section-content--sec1:before {
  width: 100px;
  height: 72px;
  background-image: url(../img/icon_sec_01.png);
  background-size: 100px 72px;
}

@media screen and (max-width: 767px) {
  .section-content--sec1:before {
    width: 22.55541vw;
    height: 15.77575vw;
    background-size: 22.55541vw 15.77575vw;
  }
}

.section-content--sec2:before {
  top: -70px;
  width: 102px;
  height: 104px;
  background-image: url(../img/icon_sec_02.png);
  background-size: 102px 104px;
}

@media screen and (max-width: 767px) {
  .section-content--sec2:before {
    top: -13.03781vw;
    width: 22.29465vw;
    height: 22.68579vw;
    background-size: 22.29465vw 22.68579vw;
  }
}

.section-content--sec3:before {
  top: -70px;
  width: 131px;
  height: 103px;
  background-image: url(../img/icon_sec_03.png);
  background-size: 131px 103px;
}

@media screen and (max-width: 767px) {
  .section-content--sec3:before {
    top: -13.03781vw;
    width: 29.07432vw;
    height: 22.81617vw;
    background-size: 29.07432vw 22.81617vw;
  }
}

.section-content--new {
  display: none;
  border: none;
  margin-top: 75px;
}

@media screen and (max-width: 767px) {
  .section-content--new {
    margin-top: 0;
  }
}

.section-content--experience {
  border: none;
  margin-top: 87px;
  margin-bottom: 137px;
}
@media screen and (max-width: 767px) {
  .section-content--experience {
    margin-top: calc(76 / 750 * 100vw);
    margin-bottom: calc(121 / 750 * 100vw);
  }
}

.section-content--experience:before {
  display: none;
}

.section-content--experience:after {
  display: none;
}

.section-content--new:before {
  display: none;
}

.section-content--new:after {
  display: none;
}

.section-content__icon {
  position: absolute;
  left: 50%;
  z-index: 2;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.section-content__title {
  padding: 55px 0 50px 0;
  color: #00a0e9;
  text-align: center;
  font-weight: bold;
  font-size: 2.1rem;
}

@media screen and (max-width: 767px) {
  .section-content__title {
    padding: 6.5189vw 0;
    font-size: 2.47059rem;
  }
}

.section-content__title--1 {
  margin: 0 auto;
  max-width: 747px;
  padding-bottom: 77px;
}

@media screen and (max-width: 767px) {
  .section-content__title--1 {
    padding: 11.73403vw 0 8vw;
    width: 75%;
  }
}

.section-content__title--2 {
  padding-bottom: 77px;
  margin: 0 auto;
  max-width: 590px;
}

@media screen and (max-width: 767px) {
  .section-content__title--2 {
    padding: 16.667vw 0 8vw;
    width: 59.44777%;
  }
}

.section-content__title--3 {
  margin: 27px auto 15px auto;
  max-width: 281px;
}

@media screen and (max-width: 767px) {
  .section-content__title--3 {
    padding: 5.21512vw 0 5.21512vw;
    width: 40%;
  }
}

.section-content__title--new {
  margin: 0 auto;
  padding: 0;
  max-width: 565px;
  margin-bottom: 15px;
}

@media screen and (max-width: 767px) {
  .section-content__title--new {
    width: 78%;
    margin-bottom: 1.95567vw;
  }
}

.section-content__title span {
  display: block;
  overflow: hidden;
  height: 0;
}

.section-content__sub-title--new {
  width: 665px;
  display: block;
  margin-bottom: 80px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .section-content__sub-title--new {
    width: 70%;
    margin-bottom: 6.5189vw;
    margin-right: auto;
    margin-left: auto;
  }
}

/*  section-content-inner
--------------------------------------------- */
@media screen and (max-width: 767px) {
  .section-content-inner {
    position: relative;
  }
  .section-content-inner:before,
  .section-content-inner:after {
    position: absolute;
    top: 0;
    width: 24.66667vw;
    height: 0.533333vw;
    min-height: 1px;
    background-color: #00a0e9;
    background-position: 0 0;
    background-size: 100% auto;
    background-repeat: no-repeat;
    content: "";
  }
  .section-content-inner:before {
    left: 0;
  }
  .section-content-inner:after {
    right: 0;
  }
}

/*  interview
--------------------------------------------- */
.interview {
  position: relative;
}

.interview__list {
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  -o-flex-wrap: wrap;
  flex-wrap: wrap;
  justify-content: flex-end;
}

@media screen and (max-width: 767px) {
  .interview__list {
    width: 82.74%;
    margin: 0 auto;
  }
}

.interview__list-item {
  width: 280px;
  margin-left: 20px;
  margin-bottom: 15px;
}

.interview__list-item:hover {
  opacity: 0.8;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

@media screen and (max-width: 767px) {
  .interview__list-item {
    width: 47.8%;
    margin-left: 2.60756vw;
    margin-bottom: 1.95567vw;
  }
}

.interview__list-item:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .interview__list-item:nth-child(2n-1) {
    margin-left: 0;
  }
}

.interview__info {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  background-color: #00a0e9;
  -ms-align-items: center;
  align-items: center;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
}

@media screen and (max-width: 767px) {
  .interview__info {
    padding-top: 1.95567vw;
    padding-bottom: 1.95567vw;
    padding-left: 2.60756vw;
  }
}

.interview__info-img {
  width: 54px;
  height: 44px;
  vertical-align: middle;
}

@media screen and (max-width: 767px) {
  .interview__info-img {
    width: 19.3%;
    height: 5.73664vw;
  }
}

.interview__info-txt {
  color: #fff;
  font-weight: bold;
  line-height: 1.3;
  padding-left: 15px;
}

@media screen and (max-width: 767px) {
  .interview__info-txt {
    padding-left: 1.95567vw;
  }
}

.interview__grade {
  font-size: 14px;
}

@media screen and (max-width: 767px) {
  .interview__grade {
    font-size: 1.82529vw;
  }
}

.interview__name {
  font-size: 21px;
}

@media screen and (max-width: 767px) {
  .interview__name {
    font-size: 2.73794vw;
  }
}

.interview__pop {
  position: relative;
  max-width: 964px;
  margin: 100px auto 50px;
  border: 10px solid #00a0e9;
  border-radius: 25px;
  background-color: #fff;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 767px) {
  .interview__pop {
    width: 78.8%;
    border: 1.43416vw solid #00a0e9;
    border-radius: 3.25945vw;
  }
}

.interview__pop--experience {
  width: 963px;
}
@media screen and (max-width: 767px) {
  .interview__pop--experience {
    width: calc(572 / 750 * 100vw);
    border: calc(8 / 750 * 100vw) solid #00a0e9;
  }
}

.interview__pop-inner {
  max-width: 814px;
  margin: 0 60px;
  padding-top: 65px;
  padding-bottom: 50px;
}

@media screen and (max-width: 980px) {
  .interview__pop-inner {
    margin: 0 6.12245vw;
    padding-top: 6.5vw;
    padding-bottom: 5vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__pop-inner {
    width: 92.5%;
    padding-top: 3.21512vw;
    padding-bottom: 0;
    margin: 0 auto;
  }
}

.interview__pop-inner--experience {
  max-width: 100%;
  margin: 0 auto;
  padding: 52px 0;
}
@media screen and (max-width: 767px) {
  .interview__pop-inner--experience {
    width: calc(524 / 750 * 100vw);
    padding: calc(65 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  }
}

.interview__pop-inner--experience-1 {
  padding-top: 61px;
}
@media screen and (max-width: 767px) {
  .interview__pop-inner--experience-1 {
    padding: calc(65 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  }
}

.interview__pop-inner--experience-2 {
  padding-top: 61px;
}
@media screen and (max-width: 767px) {
  .interview__pop-inner--experience-2 {
    padding: calc(65 / 750 * 100vw) 0 calc(40 / 750 * 100vw);
  }
}

.interview__top {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  -ms-align-items: baseline;
  align-items: baseline;
  margin-bottom: 35px;
}

@media screen and (max-width: 980px) {
  .interview__top {
    margin-bottom: 3.5vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__top {
    position: relative;
    margin-bottom: 0;
  }
}

.interview__top--experience {
  display: block;
  width: 826px;
  margin-left: 47px;
  margin-right: auto;
}
@media screen and (max-width: 980px) {
  .interview__top--experience {
    width: calc(502 / 750 * 100vw);
    margin-left: auto;
  }
}

.interview__top--experience .interview__img {
  max-width: 100%;
  width: 100%;
}

.interview__top--experience-1 {
  width: 852px;
  margin-left: 25px;
}
@media screen and (max-width: 767px) {
  .interview__top--experience-1 {
    width: calc(525 / 750 * 100vw);
    margin-left: calc(-10 / 750 * 100vw);
  }
}

.interview__top--experience-2 {
  width: 845px;
  margin-left: 45px;
}
@media screen and (max-width: 767px) {
  .interview__top--experience-2 {
    width: calc(524 / 750 * 100vw);
    margin-left: calc(-10 / 750 * 100vw);
  }
}

.interview__top--experience-3 {
  width: 874px;
  margin-left: 0;
}
@media screen and (max-width: 767px) {
  .interview__top--experience-3 {
    width: calc(525 / 750 * 100vw);
  }
}

.interview__img {
  max-width: 496px;
  width: 60.9%;
}

@media screen and (max-width: 767px) {
  .interview__img {
    width: 54.8%;
  }
}

.interview__lead {
  max-width: 305px;
  width: 37.4%;
  padding-bottom: 5px;
}

@media screen and (max-width: 767px) {
  .interview__lead {
    width: 54%;
    position: absolute;
    bottom: 0;
    right: 2%;
  }
}

.interview__middle {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .interview__middle {
    margin-bottom: 3.91134vw;
  }
}

.interview__link {
  width: 38.5%;
}

.interview__link:hover {
  opacity: 0.8;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

@media screen and (max-width: 767px) {
  .interview__link {
    margin-right: 5.82269vw;
    width: auto;
  }
}

.interview__read-img {
  width: 19.5%;
  margin-right: 25px;
}

@media screen and (max-width: 980px) {
  .interview__read-img {
    margin-right: 2.5vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__read-img {
    width: 29.4%;
    height: 19.42634vw;
    margin-right: 3.25945vw;
  }
}

.interview__link-img {
  height: 134px;
}

@media screen and (max-width: 980px) {
  .interview__link-img {
    height: 13.67347vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__link-img {
    height: 24.77184vw;
    width: auto;
  }
}

.interview__link-txt {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
}

@media screen and (max-width: 980px) {
  .interview__link-txt {
    font-size: 1.5vw;
  }
}

.interview__content {
  background: url(../img/bg_dot_line.png) bottom no-repeat;
  background-size: contain;
  padding-bottom: 60px;
  padding-top: 50px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

@media screen and (max-width: 980px) {
  .interview__content {
    padding-top: 5vw;
    padding-bottom: 6vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__content {
    padding-top: 3.25945vw;
    padding-bottom: 2.60756vw;
  }
}

.interview__content:nth-child(3) {
  background-image: none;
  padding-bottom: 40px;
}

@media screen and (max-width: 980px) {
  .interview__content:nth-child(3) {
    padding-bottom: 4vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__content:nth-child(3) {
    padding-bottom: 2.60756vw;
  }
}

.interview__content-head {
  color: #00a0e9;
  font-size: 23px;
  font-weight: bold;
  margin-bottom: 5px;
}

@media screen and (max-width: 980px) {
  .interview__content-head {
    font-size: 2.34694vw;
    line-height: 1.5;
    margin-bottom: 0.5102vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__content-head {
    font-size: 2.60756vw;
  }
}

.interview__content-txt {
  font-size: 20px;
  font-weight: bold;
}

@media screen and (max-width: 980px) {
  .interview__content-txt {
    font-size: 2.04081vw;
    line-height: 1.7;
  }
}

@media screen and (max-width: 767px) {
  .interview__content-txt {
    font-size: 2.08605vw;
  }
}

.interview__highlight {
  background: linear-gradient(transparent 0%, #fff100 0%);
}

.ie .interview__highlight {
  background: linear-gradient(
    transparent 0%,
    transparent 5%,
    #fff100 5%,
    #fff100 80%,
    transparent 80%,
    transparent 100%
  );
}

.edge .interview__highlight {
  background: linear-gradient(
    transparent 0%,
    transparent 5%,
    #fff100 5%,
    #fff100 85%,
    transparent 85%,
    transparent 100%
  );
}

@media screen and (max-width: 767px) {
  .interview__recommend {
    padding-bottom: 2.10756vw;
  }
}

.interview__recommend-list {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .interview__recommend-list {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .interview__recommend-list-item {
    line-height: 2;
  }
}

.interview__recommend-txt {
  font-size: 15px;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width: 980px) {
  .interview__recommend-txt {
    font-size: 1.5vw;
    margin-bottom: 2vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__recommend-txt {
    font-size: 1.98605vw;
    margin-bottom: 0;
  }
}

.interview__recommend-link:hover {
  opacity: 0.8;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

@media screen and (max-width: 767px) {
  .interview__recommend-link {
    text-decoration: underline;
  }
}

.interview__recommend-link-img {
  height: 134px;
  margin-right: 10px;
}

@media screen and (max-width: 980px) {
  .interview__recommend-link-img {
    margin-right: 1vw;
    height: 13.67347vw;
  }
}

@media screen and (max-width: 767px) {
  .interview__recommend-link-img {
    height: 24.77184vw;
  }
}

.interview__recommend-link-txt {
  display: inline-block;
  font-size: 15px;
  font-weight: bold;
}

@media screen and (max-width: 980px) {
  .interview__recommend-link-txt {
    font-size: 1.5vw;
  }
}

.interview__character {
  position: absolute;
  bottom: 10px;
  left: 350px;
  z-index: -1;
  transition: left 1.5s;
}

@media screen and (max-width: 767px) {
  .interview__character {
    bottom: 2.66667vw;
    left: 53.33333vw;
  }
}

.interview__character.animation {
  left: 40px;
}

@media screen and (max-width: 767px) {
  .interview__character.animation {
    left: 13.33333vw;
  }
}

.interview__character-img-txt {
  width: 134px;
  display: block;
  margin-bottom: 15px;
  opacity: 0;
  transition: opacity 1.5s 2s;
}

@media screen and (max-width: 767px) {
  .interview__character-img-txt {
    width: 20vw;
    margin-bottom: 2.66667vw;
  }
}

.interview__character-img-txt.animation {
  opacity: 1;
}

.interview__character-img {
  width: 180px;
  display: block;
}

@media screen and (max-width: 767px) {
  .interview__character-img {
    width: 24vw;
  }
}

.interview__wrap {
  width: 817px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .interview__wrap {
    width: calc(500 / 750 * 100vw);
  }
}

/*  experience
--------------------------------------------- */
.experience {
  margin-top: 94px;
}
@media screen and (max-width: 767px) {
  .experience {
    margin-top: calc(62 / 750 * 100vw);
  }
}

.experience--top {
  margin-top: 114px;
}
@media screen and (max-width: 767px) {
  .experience--top {
    margin-top: calc(81 / 750 * 100vw);
  }
}

.experience__list {
  width: 100%;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .experience__list {
    width: calc(580 / 750 * 100vw);
    margin: calc(58 / 750 * 100vw) auto 0;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -o-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: center;
  }
}

.experience__list--center {
  justify-content: center;
}

.experience__list-item {
  width: 280px;
  margin-left: 20px;
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .experience__list-item {
    width: calc(280 / 750 * 100vw);
    margin-left: calc(20 / 750 * 100vw);
    margin-bottom: calc(35 / 750 * 100vw);
  }
}

.experience__list-item:hover {
  opacity: 0.8;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.experience__list-item:first-of-type {
  margin-left: 0;
}

.experience__list-item:last-of-type {
  margin-bottom: 0;
}

@media screen and (max-width: 767px) {
  .experience__list-item:nth-of-type(n + 3) {
    margin-left: 0;
  }
}

.experience__ttl-top-inner {
  text-align: center;
}

.experience__ttl {
  display: inline-block;
  font-size: 32px;
  line-height: 1.68;
  font-weight: bold;
  color: #00a0e9;
  border-bottom: 3px solid #00a0e9;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .experience__ttl {
    font-size: calc(28 / 750 * 100vw);
    border-bottom: calc(3 / 750 * 100vw) solid #00a0e9;
  }
}

.experience-popup-content__main-img {
  width: 100%;
}

.experience__info {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  background-color: #00a0e9;
  -ms-align-items: center;
  align-items: center;
  justify-content: center;
  padding: 15px 0 8px;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .experience__info {
    padding: calc(15 / 750 * 100vw) 0 calc(10 / 750 * 100vw);
  }
}

.experience__info-txt {
  font-size: 14px;
  line-height: 1.308;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .experience__info-txt {
    font-size: calc(14 / 750 * 100vw);
    line-height: 1.3;
  }
}

.experience__info-txt--sm {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .experience__info-txt--sm {
    font-size: calc(14 / 750 * 100vw);
  }
}

.experience__name {
  font-size: 22px;
  text-align: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .experience__name {
    font-size: calc(22 / 750 * 100vw);
    margin-top: calc(3 / 750 * 100vw);
  }
}

.experience__name-sm {
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .experience__name-sm {
    font-size: calc(14 / 750 * 100vw);
  }
}

/*  experience-popup-content
--------------------------------------------- */
.experience-popup-content {
  margin-top: 64px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content {
    margin-top: calc(42 / 750 * 100vw);
  }
}

.experience-popup-content--top {
  margin-top: 102px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content--top {
    margin-top: calc(56 / 750 * 100vw);
  }
}

.experience-popup-content--img {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content--img {
    margin-top: calc(50 / 750 * 100vw);
  }
}

.experience-popup-content--bottom {
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content--bottom {
    margin-top: calc(36 / 750 * 100vw);
  }
}

.experience-popup-content--middle {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content--middle {
    margin-top: calc(43 / 750 * 100vw);
  }
}

.experience-popup-content__wrap {
  display: inline-block;
}

.experience-popup-content__head {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  align-content: center;
  font-size: 22px;
  line-height: 1.545;
  font-weight: bold;
  background-color: #00a0e9;
  border: 3px solid #00a0e9;
  color: #00a0e9;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__head {
    font-size: calc(20 / 750 * 100vw);
    border: calc(3 / 750 * 100vw) solid #00a0e9;
  }
}

.experience-popup-content__head-l {
  display: inline-block;
  background-color: #00a0e9;
  color: #fff;
  padding: 0 13px;
}

.ie .experience-popup-content__head-l {
  padding-top: 0.3em;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__head-l {
    display: inline-block;
    padding: 0 calc(11 / 750 * 100vw);
  }
}

.experience-popup-content__head-r {
  padding: 0 19px;
  background-color: #fff;
}
.ie .experience-popup-content__head-r {
  padding-top: 0.3em;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__head-r {
    padding: 0 calc(17 / 750 * 100vw);
  }
}

.experience-popup-content__ttl {
  font-size: 22px;
  font-weight: bold;
  color: #00a0e9;
  line-height: 1.409;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__ttl {
    font-size: calc(20 / 750 * 100vw);
    line-height: 1.54;
    margin-top: calc(3 / 750 * 100vw);
  }
}

.experience-popup-content__ttl--border {
  border-left: 6px solid #00a0e9;
  padding-left: 8px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__ttl--border {
    border-left: calc(6 / 750 * 100vw) solid #00a0e9;
    padding-left: calc(8 / 750 * 100vw);
  }
}

.experience-popup-content__txt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.94444;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  margin-top: 19px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__txt {
    font-size: calc(16 / 750 * 100vw);
    margin-top: calc(15 / 750 * 100vw);
    line-height: 1.75;
  }
}

.experience-popup-content__bottom {
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  padding-right: 80px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__bottom {
    padding-left: calc(25 / 750 * 100vw);
    padding-right: calc(56 / 750 * 100vw);
    -ms-align-items: flex-end;
    align-items: center;
  }
}

.experience-popup-content__bottom-1 {
  padding-right: 56px;
  padding-top: 32px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__bottom-1 {
    padding-left: calc(25 / 750 * 100vw);
    padding-top: 0;
  }
}

.experience-popup-content__bottom-2 {
  padding-left: 27px;
  padding-top: 30px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__bottom-2 {
    padding-left: calc(25 / 750 * 100vw);
    padding-top: 0;
  }
}

.experience-popup-content__balloon {
  width: 335px;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__balloon {
    width: calc(240 / 750 * 100vw);
  }
}

.experience-popup-content__link {
  width: 162px;
  margin-left: 30px;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .experience-popup-content__link {
    width: calc(146 / 750 * 100vw);
    margin-left: calc(30 / 750 * 100vw);
  }
}

.experience-popup-content__link:hover {
  opacity: 0.8;
}
/*  showcase-title
--------------------------------------------- */
.showcase-title {
  width: 578px;
  margin-right: auto;
  margin-bottom: 85px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .showcase-title {
    width: 79.466666vw;
    margin-bottom: 2.6666vw;
  }
}

/*  showcase
--------------------------------------------- */
.showcase {
  root: .showcase;
}

.showcase__block {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  max-width: 730px;
}

@media screen and (max-width: 767px) {
  .showcase__block {
    padding: 2.60756vw 0 0;
    max-width: 96.9%;
  }
}

.showcase__block-list {
  padding-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .showcase__block-list {
    padding-bottom: 0;
  }
}

.showcase__block-list-item {
  margin-bottom: 50px;
  padding: 27px 30px 45px;
  border-radius: 15px;
  background-color: #dff2fc;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-item {
    margin-bottom: 5.21512vw;
    padding: 2.60756vw 2vw 5.3333vw;
    border-radius: 4vw;
  }
}

.showcase__block-title {
  padding: 0 0 13px;
  border-bottom: 2px solid #00a0e9;
  text-align: center;
  white-space: nowrap;
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.015em;
}

.showcase__block-title--short {
  font-size: 1.325rem;
}

@media screen and (max-width: 767px) {
  .showcase__block-title--short {
    font-size: 1.23529rem;
  }
}

.edge .showcase__block-title {
  letter-spacing: -0.03em;
}

.showcase__block-title--wide {
  letter-spacing: 0.04em;
}

.edge .showcase__block-title--wide {
  letter-spacing: 0.02em;
}

@media screen and (max-width: 767px) {
  .showcase__block-title {
    padding: 1.8666vw 0 2.9333vw;
    white-space: normal;
    white-space: nowrap;
    font-size: 1.1515rem;
    border-bottom: 0.5333vw solid #00a0e9;
  }
}

.showcase__block-list-upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  padding: 35px 0 44px;

  -webkit-box-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-upper {
    padding: 1.95567vw 0 5vw;
  }
}

.showcase__block-list-upper--03 {
  padding-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-upper--03 {
    padding-bottom: 5.21512vw;
  }
}

.showcase__block-list-upper-text {
  max-width: 320px;
  white-space: nowrap;
  font-weight: bold;
  line-height: 1.8;
  padding-left: 27px;
}

.showcase__block-list-upper-text > span {
  font-weight: normal;
  color: #0068b7;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-upper-text {
    padding: 2.9333vw 0 4.2666vw;
    max-width: auto;
    max-width: none;
    max-width: initial;
    white-space: normal;
    font-weight: bold;
    font-size: 0.72rem;
    line-height: 1.7;
  }
  .showcase__block-list-upper-text > span {
    font-weight: normal;
    color: #0068b7;
  }
  .showcase__block-list-upper-text--02 {
    padding-bottom: 1.30378vw;
  }
  .showcase__block-list-upper-text--03 {
    padding-bottom: 2.6666vw;
  }
}

.showcase__block-list-upper-image {
  margin: 10px auto 0 86px;
  max-width: 253px;
}

.showcase__block-list-upper-image--left {
  position: relative;
  left: 23px;
}

.showcase__block-list-upper-image--02 {
  max-width: 217px;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-upper-image--left {
    position: static;
    left: auto;
    width: 56%;
  }
  .showcase__block-list-upper-image--left img {
    width: 100%;
  }
}

.showcase__block-list-upper-image--03 {
  max-width: 223px;
  margin: 15px auto 0 51px;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-upper-image {
    max-width: auto;
    max-width: none;
    max-width: initial;
    width: 52.7%;
    text-align: center;
    margin: auto;
  }
  .showcase__block-list-upper-image--02 {
    width: 39.27%;
  }
  .showcase__block-list-upper-image--03 {
    width: 44.84%;
  }
  .showcase__block-list-upper-image--03 img {
    width: 100%;
  }
}

.showcase__block-list-lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;

  -webkit-box-pack: justify;
  justify-content: space-between;
}

.showcase__block-list-lower-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 323px;
  width: 100%;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  -o-flex-direction: column;
  flex-direction: column;
  -ms-align-items: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-lower-item {
    display: block;
    padding-bottom: 0;
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.showcase__block-list-lower-item-image {
  width: 155px;
  margin-bottom: 17px;
}

.showcase__block-list-lower-item-image--slim {
  width: 151px;
}

.showcase__block-list-lower-item-image img {
  width: 155px;
}

.showcase__block-list-lower-item-image.fixed {
  height: 220px;
}

.showcase__block-list-lower-item-image.fixed img {
  width: 155px;
  height: 100%;
}

.showcase__block-list-lower-item-image--slim img {
  width: 151px;
}

.showcase__block-list-lower-item-image a {
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.showcase__block-list-lower-item-image a:hover {
  opacity: 0.8;
}

.ios .showcase__block-list-lower-item-image a:hover,
.android .showcase__block-list-lower-item-image a:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-lower-item-image {
    margin: 0 auto 2vw;
    max-width: 23.7333vw;
  }

  .showcase__block-list-lower-item-image.fixed {
    width: 100%;
    height: 33.5vw;
  }

  .showcase__block-list-lower-item-image--slim {
    max-width: 21.2vw;
  }

  .showcase__block-list-lower-item-image img {
    width: 100%;
  }
  .showcase__block-list-lower-item-image--slim img {
    width: 100%;
  }
}

.showcase__block-list-lower-item-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-pack: justify;
  width: 170px;

  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-box-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-lower-item-description {
    display: block;
    margin-left: 0;
    width: auto;
    text-align: center;
  }
}

.showcase__block-list-lower-item-description-title {
  display: inline-block;
  white-space: nowrap;
  font-weight: bold;
  font-size: 0.75rem;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.showcase__block-list-lower-item-description-title:hover {
  opacity: 0.8;
}

.ios .showcase__block-list-lower-item-description-title:hover,
.android .showcase__block-list-lower-item-description-title:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .showcase__block-list-lower-item-description-title {
    padding: 1.30378vw 0 0;
    text-align: center;
    font-size: 0.76471rem;
  }
}

.showcase__block-list-lower-item-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -ms-flex-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 3px;
  padding: 5px 20px;
  width: 100%;
  border-radius: 7px;
  background-color: #bae3f9;
  font-weight: bold;
  font-size: 0.75rem;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;

  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}

.showcase__block-list-lower-item-link:hover {
  opacity: 0.8;
}

.ios .showcase__block-list-lower-item-link:hover,
.android .showcase__block-list-lower-item-link:hover {
  opacity: 1;
}

.ie11 .showcase__block-list-lower-item-link {
  margin-top: 1px;
  padding-top: 9px;
}

@media screen and (max-width: 767px) {
  .ie11 .showcase__block-list-lower-item-link {
    padding-top: 2.34681vw;
  }
}

@media screen and (max-width: 767px) {
  .showcase__block-list-lower-item-link {
    padding: 0.2666vw 0;
    font-size: 0.7272rem;
    width: 29.333vw;
    margin: 0 auto;
    border-radius: 1.2vw;
  }
}

/*reflection
--------------------------------------------- */
.reflection-img {
  position: relative;
  overflow: hidden;
  width: 510px;
  height: 350px;
}

.reflection {
  position: absolute;
  top: 14px;
  display: inline-block;
  overflow: hidden;
  width: 117px;
  height: 152px;
  content: "";
}

@media screen and (max-width: 767px) {
  .reflection {
    top: 1.8vw;
    width: 13.3vw;
    height: 17.15vw;
  }
}

.reflection--1 {
  left: 113px;
}

@media screen and (max-width: 767px) {
  .reflection--1 {
    left: 8.2vw;
  }
}

.reflection--2 {
  left: 228px;
}

@media screen and (max-width: 767px) {
  .reflection--2 {
    left: 21.5vw;
  }
}

.reflection--3 {
  left: 345px;
}

@media screen and (max-width: 767px) {
  .reflection--3 {
    left: 34.7vw;
  }
}

.reflection--4 {
  left: 461px;
}

@media screen and (max-width: 767px) {
  .reflection--4 {
    left: 48vw;
  }
}

.reflection--5 {
  left: 576px;
}

@media screen and (max-width: 767px) {
  .reflection--5 {
    left: 61.3vw;
  }
}

.reflection--6 {
  left: 693px;
}

@media screen and (max-width: 767px) {
  .reflection--6 {
    left: 74.5vw;
  }
}

.reflection:before {
  position: absolute;
  top: -180px;
  left: 0;
  display: inline-block;
  width: 30px;
  height: 100%;
  background-color: #fff;
  content: "";
  opacity: 0;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-animation: reflection 4s ease-in-out infinite;
  -moz-animation: reflection 4s ease-in-out infinite;
  -ms-animation: reflection 4s ease-in-out infinite;
  -o-animation: reflection 4s ease-in-out infinite;
  animation: reflection 4s ease-in-out infinite;
}

@keyframes reflection {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
  }
  80% {
    opacity: 0.5;
    -webkit-transform: scale(0) rotate(45deg);
    transform: scale(0) rotate(45deg);
  }
  81% {
    opacity: 1;
    -webkit-transform: scale(4) rotate(45deg);
    transform: scale(4) rotate(45deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(50) rotate(45deg);
    transform: scale(50) rotate(45deg);
  }
}

@-webkit-keyframes reflection {
  0% {
    opacity: 0;
    -webkit-transform: scale(0) rotate(45deg);
  }
  80% {
    opacity: 0.5;
    -webkit-transform: scale(0) rotate(45deg);
  }
  81% {
    opacity: 1;
    -webkit-transform: scale(4) rotate(45deg);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(50) rotate(45deg);
  }
}

/* -- tab -- */
.selector {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.selector__list {
  width: calc(100% / 4);
}

.selector__trigger {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  width: 100%;
  height: 110px;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;

  -webkit-box-pack: center;
  justify-content: center;
}

.selector__trigger:hover {
  opacity: 0.8;
}

.ios .selector__trigger:hover,
.android .selector__trigger:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .selector__trigger {
    height: 26.07562vw;
    line-height: 1.25;
  }
}

.selector__trigger--1 {
  background-color: #d3f4bd;
  background-image: url(../img/text_mo_01.png);
  background-position: 50% 15px;
  background-size: 42.5px 34px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .selector__trigger--1 {
    background-position: 50% 1.95567vw;
    background-size: 5.54107vw 4.43286vw;
  }
}

.selector__trigger--2 {
  background-color: #dec4ed;
  background-image: url(../img/text_mo_02.png);
  background-position: 50% 15px;
  background-size: 43.5px 34.5px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .selector__trigger--2 {
    background-position: 50% 1.95567vw;
    background-size: 5.67145vw 4.49804vw;
  }
}

.selector__trigger--3 {
  background-color: #ffe39b;
  background-image: url(../img/text_mo_03.png);
  background-position: 50% 15px;
  background-size: 43px 34.5px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .selector__trigger--3 {
    background-position: 50% 1.95567vw;
    background-size: 5.60626vw 4.49804vw;
  }
}

.selector__trigger--4 {
  background-color: #ffced4;
  background-image: url(../img/text_mo_04.png);
  background-position: 50% 15px;
  background-size: 133.5px 34.5px;
  background-repeat: no-repeat;
}

@media screen and (max-width: 767px) {
  .selector__trigger--4 {
    background-position: 50% 1.95567vw;
    background-size: 17.40548vw 4.49804vw;
  }
}

.selector__trigger .hide {
  display: block;
  overflow: hidden;
  width: 0;
  height: 0;
}

.selector__trigger .small {
  display: block;
  padding: 67px 0 0;
  text-align: center;
  font-weight: bold;
  font-size: 0.8rem;
}

@media screen and (max-width: 767px) {
  .selector__trigger .small {
    padding: 7.82269vw 0 0;
    font-weight: normal;
    font-size: 0.76471rem;
  }
}

.selector__trigger .small-2 {
  padding: 55px 0 0;
}

@media screen and (max-width: 767px) {
  .selector__trigger .small-2 {
    padding: 7.82269vw 0 0;
  }
}

.block {
  display: none;
  padding: 20px;
  border-radius: 0 0 10px 10px;

  root: .block;
}

@media screen and (max-width: 767px) {
  .block {
    padding: 3.25945vw;
  }
}

.ie11 .block,
.edge .block {
  position: relative;
  top: -1px;
}

.block--1 {
  background-color: #d3f4bd;
}

.block--2 {
  background-color: #dec4ed;
}

.block--3 {
  background-color: #ffe39b;
}

.block--4 {
  background-color: #ffced4;
}

.block__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -ms-flex-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 20px 20px;
  min-height: 250px;
  border-radius: 10px;
  background-color: #fff;

  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .block__inner {
    display: block;
    padding: 2.60756vw 2.60756vw 2.60756vw;
    min-height: auto;
    min-height: none;
    min-height: initial;
  }
}

.block__description {
  max-width: 400px;
}

@media screen and (max-width: 767px) {
  .block__description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    -ms-flex-pack: end;
    -ms-flex-align: center;
    margin: 0 auto;
    max-width: 71.70795vw;

    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -webkit-box-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    align-items: center;
  }
}

.block__title {
  text-align: center;
}

.block__title-item {
  position: relative;
  display: block;
  padding: 0 25px 0 45px;
  text-align: left;
  white-space: nowrap;
  letter-spacing: 0.15em;
  font-weight: bold;
  font-size: 1.15rem;
}

@media screen and (max-width: 767px) {
  .block__title-item {
    padding: 0 5.21512vw 0 11.73403vw;
    font-weight: normal;
    font-size: 0.88235rem;
  }
}

.block__title-item:before {
  position: absolute;
  bottom: 5px;
  left: 0;
  display: inline-block;
  width: 26px;
  height: 58px;
  background-image: url(../img/bg_left_line.png);
  background-size: 26px 58px;
  background-repeat: no-repeat;
  content: "";
}

@media screen and (max-width: 767px) {
  .block__title-item:before {
    top: 0;
    bottom: auto;
    width: 17.34029vw;
    height: 4.56323vw;
    background-image: url(../img/bg_top_line.png);
    background-size: 17.34029vw 4.56323vw;
  }
}

.block__title-item:after {
  position: absolute;
  right: 0;
  bottom: 5px;
  display: inline-block;
  width: 26px;
  height: 58px;
  background-image: url(../img/bg_right_line.png);
  background-size: 26px 58px;
  background-repeat: no-repeat;
  content: "";
}

@media screen and (max-width: 767px) {
  .block__title-item:after {
    right: auto;
    left: 0;
    width: 17.34029vw;
    height: 4.56323vw;
    background-image: url(../img/bg_bottom_line.png);
    background-size: 17.34029vw 4.56323vw;
  }
}

.block__title-item--1 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 16px 3px 0 82px;
  width: 360.2px;
}

.block__title-item--1:before {
  left: 37px;
}

.block__title-item--1:after {
  right: -9px;
}

@media screen and (max-width: 767px) {
  .block__title-item--1 {
    padding: 5.21512vw 1.30378vw;
    width: auto;
    letter-spacing: 0.1em;
  }
  .block__title-item--1:before {
    bottom: 3.91134vw;
    left: 0;
  }
  .block__title-item--1:after {
    right: 0px;
    bottom: 0;
  }
}

.block__title-item--2 {
  margin: 0 auto;
  padding: 4px 0 0 47px;
  width: 233px;
}

.block__title-item--2:after {
  right: -24px;
}

@media screen and (max-width: 767px) {
  .block__title-item--2 {
    padding: 5.21512vw 1.30378vw;
    width: auto;
  }
  .block__title-item--2:before {
    bottom: 3.91134vw;
    left: 0;
  }
  .block__title-item--2:after {
    right: 0px;
    bottom: 0;
  }
}

.block__title-item--3 {
  margin: 0 auto;
  padding: 0px 25px 0 55px;
  width: 350px;
  letter-spacing: 0.06em;
}

.block__title-item--3:before {
  left: 10px;
}

.block__title-item--3:after {
  right: 40px;
}

@media screen and (max-width: 767px) {
  .block__title-item--3 {
    padding: 5.21512vw 1.30378vw;
    width: auto;
    letter-spacing: 0;
  }
  .block__title-item--3:before {
    bottom: 3.91134vw;
    left: 0;
  }
  .block__title-item--3:after {
    right: 0px;
    bottom: 0;
  }
}

.block__title-item--4 {
  margin: 0 auto;
  padding: 0px 14px 11px 30px;
  width: 370px;
  letter-spacing: -0.04em;
}

.block__title-item--4:before {
  bottom: 15px;
  left: -8px;
  height: 80px;
  background-image: url(../img/bg_left_line_ex.png);
  background-size: 26px 80px;
}

.block__title-item--4:after {
  right: 47px;
  bottom: 15px;
  height: 80px;
  background-image: url(../img/bg_right_line_ex.png);
  background-size: 26px 80px;
}

@media screen and (max-width: 767px) {
  .block__title-item--4 {
    padding: 5.21512vw 1.30378vw;
    width: auto;
    letter-spacing: -0.1em;
  }
  .block__title-item--4:before {
    bottom: 3.91134vw;
    left: 0;
    width: 17.34029vw;
    height: 4.56323vw;
    background-image: url(../img/bg_top_line.png);
    background-size: 17.34029vw 4.56323vw;
  }
  .block__title-item--4:after {
    right: 0px;
    bottom: 0;
    width: 17.34029vw;
    height: 4.56323vw;
    background-image: url(../img/bg_bottom_line.png);
    background-size: 17.34029vw 4.56323vw;
  }
}

.block__detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 13px 0 0px 25px;
}

@media screen and (max-width: 767px) {
  .block__detail {
    display: block;
    padding: 0;
  }
}

.block__detail-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  max-width: 110px;

  -webkit-box-align: end;
  align-items: flex-end;
}

.block__detail-image img {
  min-height: 118px;
  max-width: 110px;
}

@media screen and (max-width: 767px) {
  .block__detail-image img {
    margin: 0 auto;
    min-height: auto;
    min-height: none;
    min-height: initial;
    max-width: 16.94915vw;
    max-width: 16.94915vw;
    max-width: 16.94915vw;
  }
}

@media screen and (max-width: 767px) {
  .block__detail-image {
    -ms-flex-align: center;
    padding: 2.60756vw;
    max-width: auto;
    max-width: none;
    max-width: initial;
    max-height: auto;
    max-height: none;
    max-height: initial;
    text-align: center;

    -webkit-box-align: center;
    align-items: center;
  }
}

.block__list {
  padding: 22px 0 0 28px;
  white-space: nowrap;
}

.block__list--short {
  padding: 0 0 0 28px;
}

@media screen and (max-width: 767px) {
  .block__list {
    display: none;
    padding: 5.21512vw 0 0 0;
  }
  .block__list--short {
    padding: 5.21512vw 0 0 0;
  }
}

.block__list-item {
  position: relative;
  padding-bottom: 10px;
  padding-left: 1rem;
  font-weight: bold;
  font-size: 0.75rem;
}

.block__list-item a {
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.block__list-item a:hover {
  opacity: 0.8;
}

.ios .block__list-item a:hover,
.android .block__list-item a:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .block__list-item {
    padding-bottom: 2.60756vw;
    font-size: 0.88235rem;
  }
}

.block__list-item-indent {
  position: absolute;
  left: 0;
  display: inline-block;
  padding-left: 0;
}

.block__image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  margin: 0 auto;
  min-width: 270px;

  -webkit-box-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .block__image {
    min-width: auto;
    min-width: none;
    min-width: initial;
    width: 84%;
  }
}

.block__image-item {
  max-width: 130px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.block__image-item:hover {
  opacity: 0.8;
}

.ios .block__image-item:hover,
.android .block__image-item:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .block__image-item {
    margin: 0 auto;
    padding: 2.60756vw;
    max-width: 26.07562vw;
  }
}

.block__image-item img {
  max-height: 180px;
}

@media screen and (max-width: 767px) {
  .block__image-item img {
    max-height: 28.68318vw;
  }
}

.block.current {
  display: block;
}

/*  search
--------------------------------------------- */
.search {
  margin: 0 auto;
  max-width: 780px;

  root: .search;
}

/* -- search-inner -- */
.search-inner {
  max-width: 770px;
  margin-right: auto;
  margin-left: auto;
}

.search__title {
  text-align: center;
}

.search__title-text {
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .search__title-text {
    display: block;
    margin: 0 1.95567vw;
    margin-bottom: 5.21512vw;
    text-align: center;
    letter-spacing: -0.02em;
    font-size: 1rem;
    line-height: 1.4;
    line-height: 1.65;
  }
}

.search__count {
  margin-top: 43px;
  background-color: #dff2fc;
  text-align: center;
}

@media screen and (max-width: 767px) {
  .search__count {
    margin-top: 5.86701vw;
  }
}

.search__count-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -ms-flex-align: center;
  font-weight: bold;
  font-size: 0.725rem;

  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}

@media screen and (max-width: 767px) {
  .search__count-text {
    display: block;
    font-size: 0.85294rem;
  }
}

.search__count-item {
  margin: 0 10px 0 3px;
  color: #e3007f;
  font-size: 1.375rem;
}

@media screen and (max-width: 767px) {
  .search__count-item {
    margin: 0 2.60756vw 0 0.78227vw;
    font-size: 1.61765rem;
  }
}

.search__icon {
  padding: 12px 0 74px;
}

@media screen and (max-width: 767px) {
  .search__icon {
    padding: 3.91134vw 0 8.9333vw;
  }
}

.search__icon-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -ms-flex-align: center;
  padding: 0 10px;
  border-top: 1px solid #00a0e9;
  border-bottom: 1px solid #00a0e9;

  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .search__icon-list {
    padding: 0;
    border-bottom: none;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.search__icon-list-item {
  padding: 5px 0;
  color: #0068b7;
  font-size: 0.85rem;
}

.ie .search__icon-list-item--txt {
  padding: 5px 0 0px;
}

.ie .search__icon-list-item {
  margin: 0 5px;
}

.ie .search__icon-list-item img {
  margin: 3px 0;
}

@media screen and (max-width: 767px) {
  .search__icon-list-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0.65189vw 2.60756vw;
    min-height: 14.34159vw;
    width: 33.33%;
    border-right: 1px solid #00a0e9;
    border-bottom: 1px solid #00a0e9;
    font-size: 0.82353rem;

    -webkit-box-align: center;
    align-items: center;
  }
  .search__icon-list-item:nth-child(3n) {
    border-right: none;
  }
}

.search__icon-list-item--1 {
  padding-left: 15px;
  max-width: 101px;
  border-left: 1px solid #00a0e9;
}

.search__icon-list-item--1 img {
  max-width: 101px;
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--1 img {
    max-width: 21.38201vw;
  }
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--1 {
    padding-left: 1.95567vw;
    max-width: auto;
    max-width: none;
    max-width: initial;
    border-left: none;
  }
}

.search__icon-list-item--2 {
  max-width: 102px;
}

.search__icon-list-item--2 img {
  max-width: 102px;
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--2 img {
    max-width: 20.8605vw;
  }
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--2 {
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.search__icon-list-item--3 {
  max-width: 106px;
}

.search__icon-list-item--3 img {
  max-width: 106px;
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--3 img {
    max-width: 23.46806vw;
  }
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--3 {
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.search__icon-list-item--4 {
  max-width: 117px;
}

.search__icon-list-item--4 img {
  max-width: 117px;
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--4 img {
    max-width: 24.11995vw;
  }
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--4 {
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.search__icon-list-item--5 {
  max-width: 115px;
}

.search__icon-list-item--5 img {
  max-width: 115px;
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--5 img {
    max-width: 23.46806vw;
  }
}

@media screen and (max-width: 767px) {
  .search__icon-list-item--5 {
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.search__more {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 15px 0;
  padding: 5px;
  width: 100%;
  border-radius: 12px;
  background-color: #009fe8;
  color: #fff;
  text-align: center;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.search__more:hover {
  opacity: 0.8;
}

.ios .search__more:hover,
.android .search__more:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .search__more {
    margin: 5.21512vw 0;
    padding: 2.60756vw;
  }
}

.search__more-text {
  font-weight: bold;
  font-size: 0.735rem;
  cursor: pointer;
}

.ie .search__more-text {
  position: relative;
  top: 3px;
}

@media screen and (max-width: 767px) {
  .search__more-text {
    font-size: 3.78096vw;
  }
}

/* -- search__caption -- */
.search__caption {
  width: 627px;
  margin-right: auto;
  margin-bottom: 55px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .search__caption {
    width: 83.73333vw;
    margin-bottom: 4.26667vw;
  }
}

/* -- search__heading -- */
.search__heading {
}

/* search__title */
.search__title {
}

.search__title-text {
  display: block;
  overflow: hidden;
  padding-top: 103px;
  width: 496px;
  height: 0;
  background: url(../img/title_logo.png) 0 0 no-repeat;
  background-size: 100% auto;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .search__title-text {
    padding-top: 16.4vw;
    width: 78.13333vw;
  }
}

/* -- search__block -- */
.search__block {
  position: relative;
  background-color: #fff;
  z-index: 1;
  padding-top: 33px;
  padding-bottom: 25px;
  border: 2px solid #b5b5b6;
  border-radius: 15px;
  margin-top: -33px;
  margin-bottom: 55px;
}

@media screen and (max-width: 767px) {
  .search__block {
    padding-top: 4vw;
    padding-bottom: 2.93333vw;
    border-radius: 2vw;
    border-width: 1px;
    margin-top: -10.66667vw;
    margin-bottom: 5.73333vw;
  }
}

.search__block-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
}

.search__block-list-item {
}

.search__block-list-item--1 {
  margin-right: 40px;
}
.search__block-list-item--2 {
  margin-right: 33px;
}
.search__block-list-item--3 {
}

@media screen and (max-width: 767px) {
  .search__block-list-item--1 {
    margin-right: 6vw;
    margin-left: 2.667vw;
  }
  .search__block-list-item--2 {
    margin-right: 1.333vw;
  }
}

.search__block-image-link {
  display: block;
  margin-bottom: 10px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

@media screen and (max-width: 767px) {
  .search__block-image-link {
    margin-bottom: 1.6vw;
  }
}

.search__block-image-link:hover {
  opacity: 0.8;
}

.search__block-image {
  text-align: center;
}

.search__block-image img {
  width: 125px;
  border: 1px solid #b5b5b6;
}

@media screen and (max-width: 767px) {
  .search__block-image img {
    width: 16.93333vw;
  }
}

.search__block-content-link {
  display: block;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.search__block-content-link:hover {
  opacity: 0.8;
}

.search__block-content {
  font-weight: bold;
  text-align: center;
}

.search__block-content-title {
  letter-spacing: -0.02em;
  color: #00a0e9;
  font-size: 1.05rem;
  margin-bottom: 3px;
}

@media screen and (max-width: 767px) {
  .search__block-content-title {
    font-size: 0.66173rem;
    margin-bottom: 0;
  }
}

.search__block-content-text {
  line-height: 1.8;
  font-size: 0.75rem;
}

@media screen and (max-width: 767px) {
  .search__block-content-text {
    letter-spacing: -0.07rem;
    line-height: 1.6;
    font-size: 0.601568892rem;
  }
}

/* -- search-acd -- */
.search-acd__title {
  width: 100%;
  color: #fff;
  font-size: 32px;
  line-height: 1.75;
  font-weight: bold;
  text-align: center;
  background-color: #00a0e9;
  border-radius: 22px;
  padding: 17px 0;
  margin-bottom: 24px;
}

@media screen and (max-width: 767px) {
  .search-acd__title {
    font-size: 1.0303rem;
    border-radius: 2.93333vw;
    padding: 2.1333vw 0;
    margin-bottom: 6.6666vw;
  }
}

.search-acd__button {
  position: relative;
  width: 100%;
  color: #00a0e9;
  font-size: 32px;
  font-weight: bold;
  border: 5px solid #00a0e9;
  border-radius: 22px;
  margin: 30px 0 100px;
  padding: 10px 0;
  cursor: pointer;
  transition: 0.3s;
}

.search-acd__button:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .search-acd__button {
    font-size: 0.788rem;
    padding: 2.8vw 0;
    margin: 4.6666vw 0 8vw;
    border-radius: 2.9333vw;
    border: 0.5333vw solid #00a0e9;
  }
}

.search-acd__button:before {
  position: absolute;
  top: 50%;
  right: 18px;
  display: inline-block;
  width: 50px;
  height: 50px;
  background-image: url(../img/icon_acordion.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  content: "";
  -webkit-transform: translateY(-50%) scale(1, -1);
  transform: translateY(-50%) scale(1, -1);
}

.menu-open .search-acd__button:before {
  position: absolute;
  top: 50%;
  right: 18px;
  display: inline-block;
  width: 24px;
  height: 24px;
  background-image: url(../img/icon_acordion_close.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  content: "";
  -webkit-transform: translateY(-50%) scale(1, -1);
  transform: translateY(-50%) scale(1, -1);
}

@media screen and (max-width: 767px) {
  .search-acd__button:before {
    width: 6.9333vw;
    height: 6.9333vw;
  }
  .menu-open .search-acd__button:before {
    width: 3.2vw;
    height: 3.2vw;
  }
}

.menu-open .search-acd__button {
  width: 47.9%;
  background-color: #00a0e9;
  color: #fff;
  margin-left: auto;
  margin-right: auto;
  display: block;
}

.search-acd__close {
  display: none;
}

.menu-open .search-acd__close {
  display: block;
}

.menu-open .search-acd__active {
  display: none;
}

/* -- input-block -- */
.input-block {
  position: relative;
  margin-bottom: 15px;
  padding: 20px 20px 16px;
  background-color: #dff2fc;

  root: .input-block;
}

@media screen and (max-width: 767px) {
  .input-block {
    margin-bottom: 2.60756vw;
    padding: 0.91265vw 1.30378vw 3.25945vw;
  }
}

.input-block:before {
  position: absolute;
  bottom: -28px;
  left: 50%;
  width: 0;
  height: 0;
  border-width: 28px 22px 0 22px;
  border-style: solid;
  border-color: #dff2fc transparent transparent transparent;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .input-block:before {
    bottom: -3.25945vw;
    border-width: 5.73664vw 5.73664vw 0 5.73664vw;
  }
}

.input-block__upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -ms-flex-align: center;
  padding-bottom: 28px;
  border-bottom: 2px dotted #00a0e9;

  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .input-block__upper {
    padding-bottom: 0;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  .input-block__upper:after {
    display: block;
    width: calc(97% / 3);
    content: "";
  }
}

.input-block__lower {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  padding-top: 11px;

  -webkit-box-align: center;
  align-items: center;
}

@media screen and (max-width: 767px) {
  .input-block__lower {
    -ms-flex-pack: justify;
    padding-top: 1.30378vw;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
  .input-block__lower:after {
    display: block;
    width: calc(97% / 3);
    content: "";
  }
}

.input-block__lower .input-block__list-item {
  margin-right: 15px;
}

@media screen and (max-width: 767px) {
  .input-block__lower .input-block__list-item {
    margin: 0;
    width: calc(97% / 3);
  }
}

.input-block__list-item {
  position: relative;
  min-width: 100px;
}

@media screen and (max-width: 767px) {
  .input-block__list-item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-width: auto;
    min-width: none;
    min-width: initial;
    width: calc(96% / 3);
  }
}

.input-block__list-item--title {
  min-width: 80px;
}

@media screen and (max-width: 767px) {
  .input-block__list-item--title {
    padding-bottom: 0.26076vw;
    width: 100% !important;
  }
}

.input-block__list-item--narrow {
  min-width: 80px;
}

@media screen and (max-width: 767px) {
  .input-block__list-item--narrow {
    min-width: initial;
  }
}

@media screen and (max-width: 767px) {
  .input-block__list-item {
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.input-block__list-item label {
  padding: 9px 15px 9px 30px;
  border: 1px solid #00a0e9;
  border-radius: 12px;
  background-color: #fff;
  font-size: 0.625rem;
  cursor: pointer;
}

.ie11 .input-block__label-text {
  position: relative;
  top: 2px;
}

.edge .input-block__label-text {
  position: relative;
  top: 1px;
}

@media screen and (max-width: 767px) {
  .input-block__list-item label {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    margin-bottom: 2.60756vw;
    padding: 0.65189vw 2.60756vw 0.65189vw 9.12647vw;
    min-height: 7.82269vw;
    font-size: 0.64706rem;

    -webkit-box-align: center;
    align-items: center;
  }
}

.input-block__list-item input {
  position: absolute;
  left: -1000em;
}

.input-block__list-item--reset {
  margin-right: 0 !important;
  padding-top: 10px;
  padding-left: 12px;
}

.ie11 .input-block__list-item--reset {
  padding-top: 5px;
}

@media screen and (max-width: 767px) {
  .input-block__list-item--reset {
    display: block;
    padding-top: 1.30378vw;
    padding-left: 0;
    width: 100% !important;
    text-align: center;
  }
}

.input-block__list-item--reset .reset {
  padding: 5px 15px 5px 35px;
  border: 2px solid #000;
  background-color: #fff;
  background-image: url(../img/icon_reset.png);
  background-position: top 50% left 10px;
  background-size: 16.5px 16.5px;
  background-repeat: no-repeat;
  font-size: 0.625rem;
  cursor: pointer;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.input-block__list-item--reset .reset:hover {
  opacity: 0.8;
}

.ios .input-block__list-item--reset .reset:hover,
.android .input-block__list-item--reset .reset:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .input-block__list-item--reset .reset {
    padding: 1.62973vw 3.91134vw 1.62973vw 9.12647vw;
    border: 0.26076vw solid #000;
    background-position: top 50% left 29.98696vw;
    background-size: 4.30248vw 4.30248vw;
    font-size: 0.64706rem;
  }
}

.input-block__label-icon {
  position: absolute;
  top: 40.5%;
  left: 10px;
  display: inline-block;
  margin-top: -1.5px;
  width: 13px;
  height: 13px;
  border: 1px solid #000;
  content: "";
}

.ie11 .input-block__label-icon {
  top: 34%;
}

@media screen and (max-width: 767px) {
  .input-block__label-icon {
    top: 50%;
    left: 3.52021vw;
    margin-top: -1.95567vw;
    width: 3.52021vw;
    height: 3.52021vw;
  }
}

.input-block input[type="checkbox"]:checked + .input-block__label-icon {
  border: 1px solid #e3007f !important;
  background-color: #e3007f !important;
}

.input-block input[type="checkbox"]:checked + .input-block__label-icon:after {
  position: absolute;
  top: 1px;
  left: 4px;
  display: inline-block;
  width: 3px;
  height: 6px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
  -webkit-transform: rotate(40deg);
  transform: rotate(40deg);
}

@media screen and (max-width: 767px) {
  .input-block input[type="checkbox"]:checked + .input-block__label-icon:after {
    top: 0.52151vw;
    left: 1.30378vw;
    width: 0.78227vw;
    height: 1.56454vw;
  }
}

.input-block__list-item-label {
  position: relative;
  margin-right: 12px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.input-block__list-item-label:hover {
  opacity: 0.8;
}

.ios .input-block__list-item-label:hover,
.android .input-block__list-item-label:hover {
  opacity: 1;
}

.input-block__list-item-label:last-of-type {
  margin-right: 0;
}

.input-block__list-title {
  margin-right: 15px;
  font-weight: bold;
  font-size: 0.85rem;
}

.ie11 .input-block__list-title {
  position: relative;
  top: 5px;
}

@media screen and (max-width: 767px) {
  .input-block__list-title {
    display: block;
    padding-bottom: 0;
    width: 83.44198vw;
    text-align: center;
    font-size: 4.43286vw;
  }
}

/* -- list-block -- */
.list-block {
  root: .list-block;
}

.list-block__item {
  margin-bottom: 9.5px;
  border: 2px solid #b5b5b6;
  list-style: none;
}

@media screen and (max-width: 767px) {
  .list-block__item {
    margin-bottom: 3.25945vw;
    border: 1px solid #b5b5b6;
  }
}

.list-block__item--mark {
  position: relative;
  margin-top: 40px;
}

.list-block__item .spi {
  background-color: #fce4d6;
}

.list-block__item .common {
  background-color: #e8deed;
}

.list-block__item .entry {
  background-color: #fff9b1;
}

.list-block__item .self {
  background-color: #e9f0ba;
}

.list-block__item .interview {
  background-color: #d5ead8;
}

.list-block__item .interview-entry {
  position: relative;
}

.list-block__item .interview-entry:before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: inline-block;
  width: 0;
  height: 0;
  border-width: 32px 770px 0 0;
  border-style: solid;
  border-color: #d5ead8 transparent transparent transparent;
  content: "";
}

@media screen and (max-width: 767px) {
  .list-block__item .interview-entry:before {
    border-width: 5.99739vw 91.26467vw 0 0;
  }
}

@media screen and (max-width: 767px) {
  .android .list-block__item .interview-entry:before {
    border-width: 5.99739vw 90.61278vw 0 0;
  }
}

@media screen and (max-width: 767px) {
  .ios .list-block__item .interview-entry:before {
    border-width: 6.25815vw 91.26467vw 0 0;
  }
}

.list-block__item .interview-entry:after {
  position: absolute;
  top: -1px;
  right: 0;
  z-index: -1;
  display: inline-block;
  width: 0;
  height: 0;
  border-width: 0 0 33px 770px;
  border-style: solid;
  border-color: transparent transparent #fff9b1 transparent;
  content: "";
}

@media screen and (max-width: 767px) {
  .list-block__item .interview-entry:after {
    border-width: 0 0 5.99739vw 91.26467vw;
  }
}

@media screen and (max-width: 767px) {
  .android .list-block__item .interview-entry:after {
    border-width: 0 0 5.99739vw 90.61278vw;
  }
}

@media screen and (max-width: 767px) {
  .ios .list-block__item .interview-entry:after {
    border-width: 0 0 6.25815vw 91.26467vw;
  }
}

.list-block__head {
  position: relative;
  padding: 1px 15px;
  height: 30px;
  border-bottom: 2px solid #b5b5b6;
  overflow: hidden;
}

@media screen and (max-width: 767px) {
  .list-block__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    padding: 0.26076vw 1.95567vw;
    height: auto;
    border-bottom: 0.26076vw solid #b5b5b6;

    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

.list-block__head-title {
  position: absolute;
  top: 50%;
  left: 20px;
  font-weight: bold;
  font-size: 0.825rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .list-block__head-title {
    position: static;
    display: block;
    padding: 0;
    font-size: 0.76471rem;
    -webkit-transform: none;
    transform: none;
  }
}

.ie .list-block__head-title {
  padding: 5px 0 0;
}

.list-block__head-title-label {
  position: absolute;
  top: 50%;
  right: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.64rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

@media screen and (max-width: 767px) {
  .list-block__head-title-label {
    position: static;
    font-size: 3.25945vw;
    -webkit-transform: none;
    transform: none;

    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.ie .list-block__head-title-label span {
  position: relative;
  top: 3px;
}

.list-block__head-title-label p {
  margin-right: 10px;
  padding: 3px 15px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .list-block__head-title-label p {
    display: inline-block;
    margin-right: 2.60756vw;
    padding: 0.65189vw 2.60756vw 0.65189vw;
    font-size: 0.58824rem;
  }
}

.list-block__head-title-label p:last-of-type {
  margin-right: 0;
}

.list-block__body {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 15px 12px 15px;
  min-height: 165px;
}

.list-block__body a {
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.list-block__body a:hover {
  opacity: 0.8;
}

.ios .list-block__body a:hover,
.android .list-block__body a:hover {
  opacity: 1;
}

@media screen and (max-width: 767px) {
  .list-block__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    padding: 1.95567vw;
    min-height: auto;
    min-height: none;
    min-height: initial;
    height: auto;

    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

.list-block__body .hide {
  display: block;
  overflow: hidden;
  height: 0;
}

.list-block__item-image {
  position: absolute;
  margin-right: 30px;
  margin-left: 5px;
  max-width: 90px;
  width: 90px;
}

@media screen and (max-width: 767px) {
  .list-block__item-image {
    position: relative;
    margin: 0 auto;
    margin-right: 0;
    margin-left: 0;
    max-width: auto;
    max-width: none;
    max-width: initial;
    width: 16.94915vw;
    text-align: center;
    text-align: center;
  }
}

.list-block__item-image img {
  max-height: 130px;
  border: 1px solid #b5b5b6;
}

@media screen and (max-width: 767px) {
  .list-block__item-image img {
    max-height: auto;
    max-height: none;
    max-height: initial;
  }
}

.list-block__item-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-left: 110px;

  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
}

@media screen and (max-width: 767px) {
  .list-block__item-detail {
    display: block;
    padding-left: 0;
    width: 65.18905vw;
  }
}

.list-block__item-upper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  width: 610px;

  -webkit-box-pack: justify;
  justify-content: space-between;
}

@media screen and (max-width: 767px) {
  .list-block__item-upper {
    display: block;
    width: auto;
  }
}

.list-block__item-detail-title {
  font-weight: bold;
  font-size: 0.825rem;
}

@media screen and (max-width: 767px) {
  .list-block__item-detail-title {
    font-size: 0.82353rem;
  }
}

.list-block__item-detail-text {
  padding: 5px 0 15px;
  font-size: 0.69rem;
  line-height: 1.8;
}

@media screen and (max-width: 767px) {
  .list-block__item-detail-text {
    padding: 0;
    font-size: 0.64706rem;
    line-height: 1.7;
  }
}

.list-block__item-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #0068b7;
  font-weight: bold;
  font-size: 0.64rem;
}

@media screen and (max-width: 767px) {
  .list-block__item-info {
    display: block;
    padding-bottom: 0;
    font-size: 0.70588rem;
  }
}

.list-block__item-info-left {
  min-width: 210px;
}

@media screen and (max-width: 767px) {
  .list-block__item-info-left {
    padding: 1.30378vw 0;
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.list-block__item-link {
  position: absolute;
  top: 18px;
  right: 20px;
  margin-left: auto;
  max-width: 130px;
}

.list-block__item-link span {
  display: block;
  overflow: hidden;
  height: 0;
}

@media screen and (max-width: 767px) {
  .list-block__item-link {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    -ms-flex-align: center;
    max-width: auto;
    max-width: none;
    max-width: initial;
    width: 100%;

    -webkit-box-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    justify-content: space-between;
  }
}

.list-block__item-info-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;

  -webkit-box-align: center;
  align-items: center;
}

.list-block__item-info-page-text {
  margin-right: 10px;
}

@media screen and (max-width: 767px) {
  .list-block__item-info-page-text {
    font-size: 0.70588rem;
  }
}

.list-block__item-info-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;

  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.list-block__item-info-right img {
  margin-right: 10px;
  max-width: 100px;
  max-height: 48px;
}

.list-block__item-info-right img:last-of-type {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .list-block__item-info-right img {
    margin-right: 1.95567vw;
    margin-bottom: 1.95567vw;
    max-width: 25.8148vw;
    max-height: 9.12647vw;
  }
}

.list-block__item-link-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -ms-flex-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 12px;
  max-width: 130px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 5px;
  font-weight: bold;
  font-size: 0.65rem;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;

  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}

.list-block__item-link-detail:hover {
  opacity: 0.8;
}

.ios .list-block__item-link-detail:hover,
.android .list-block__item-link-detail:hover {
  opacity: 1;
}

.ie11 .list-block__item-link-detail {
  padding-top: 4px;
}

@media screen and (max-width: 767px) {
  .list-block__item-link-detail {
    margin-bottom: 0;
    max-width: auto;
    max-width: none;
    max-width: initial;
    width: 47%;
    height: 7.82269vw;
    border: 0.26076vw solid #000;
    border-radius: 1.69492vw;
    font-size: 0.64706rem;
  }
}

.list-block__item-link-purchase {
  display: block;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
  -ms-flex-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 130px;
  width: 130px;
  height: 30px;
  border: 1px solid #000;
  border-radius: 5px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;

  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
}

.list-block__item-link-purchase:hover {
  opacity: 0.8;
}

.ios .list-block__item-link-purchase:hover,
.android .list-block__item-link-purchase:hover {
  opacity: 1;
}

.list-block__item-link-purchase img {
  max-width: 91px;
}

@media screen and (max-width: 767px) {
  .list-block__item-link-purchase {
    max-width: auto;
    max-width: none;
    max-width: initial;
    width: 47%;
    height: 7.82269vw;
    border: 0.26076vw solid #000;
    border-radius: 1.69492vw;
  }
  .list-block__item-link-purchase img {
    max-width: 20.8605vw;
    width: 100%;
  }
}

.input-block__list-item .disabled {
  background: #b5b5b6;
}

.list-block__item {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
  -webkit-animation-duration: 0.7s;
  animation-duration: 0.7s;
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.list-block__price {
  font-size: 0.8rem;
}
@media screen and (max-width: 767px) {
  .list-block__price {
    font-size: 0.848rem;
  }
}

.list-block__mark {
  width: 82px;
  position: absolute;
  top: -31px;
  right: 15px;
}

@media screen and (max-width: 767px) {
  .list-block__mark {
    width: 13.46vw;
    left: 3.7333vw;
    top: 61%;
  }
  .list-block__mark--01 {
    top: 56%;
  }
  .list-block__mark--02 {
    top: 67%;
  }
  .list-block__mark--03 {
    top: 55%;
  }
  .list-block__mark--04 {
    top: 53%;
  }
}

/*  character
--------------------------------------------- */
.character {
  position: relative;
  margin-top: 70px;
  padding: 100px 0 0;

  root: .character;
}

@media screen and (max-width: 767px) {
  .character {
    margin-top: 0;
    padding: 6.5189vw 0 0;
  }
}

.character__wrap {
  position: relative;
  z-index: 15;
  padding: 111px 0;
  background-color: #dff2fc;
}

@media screen and (max-width: 767px) {
  .character__wrap {
    padding: 5.21512vw 2.60756vw 5.21512vw;
  }
}

.character__inner {
  margin: 0 auto;
  padding-right: 0px;
  padding-left: 0px;
  max-width: 880px;
  border-radius: 10px;
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .character__inner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 5.21512%;
    padding-left: 5.21512%;
    max-width: 100%;
  }
}

.character__block {
  padding: 30px 60px;
}

@media screen and (max-width: 767px) {
  .character__block {
    padding: 0;
  }
}

.character__title {
  position: relative;
  margin: 0 auto;
  width: 174px;
  height: 75px;
}

@media screen and (max-width: 767px) {
  .character__title {
    width: 43.80704vw;
    height: 24.77184vw;
  }
}

.character__title:before {
  position: absolute;
  top: 80px;
  left: -85%;
  z-index: 2;
  display: inline-block;
  width: 174px;
  height: 228px;
  background-image: url(../img/icon_character_07.png);
  background-size: 174px 228px;
  background-repeat: no-repeat;
  content: "";
  -webkit-transition: top 0.7s;
  transition: top 0.7s;
  -webkit-transition-timing-function: ease-in-out;
  transition-timing-function: ease-in-out;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .character__title:before {
    top: 26.07562vw;
    left: -13%;
    width: 22.68579vw;
    height: 29.72621vw;
    background-size: 22.68579vw 29.72621vw;
  }
}

.character__title.animation:before {
  top: -100px;
}

@media screen and (max-width: 767px) {
  .character__title.animation:before {
    top: 0;
  }
}

.character__title:after {
  position: absolute;
  top: -68px;
  left: 55%;
  z-index: 2;
  display: inline-block;
  width: 336px;
  height: 235px;
  background-image: url(../img/text_06.png);
  background-size: 336px 235px;
  background-repeat: no-repeat;
  content: "";
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

@media screen and (max-width: 767px) {
  .character__title:after {
    top: 5.21512vw;
    left: 60%;
    width: 43.80704vw;
    height: 30.63885vw;
    background-size: 43.80704vw 30.63885vw;
  }
}

.character__title span {
  display: block;
  overflow: hidden;
  height: 0;
}

.character__block-title {
  padding-bottom: 30px;
  background-image: url(../img/bg_line.png);
  background-position: 50% 100%;
  background-repeat: no-repeat;
  text-align: center;
  font-weight: bold;
  font-size: 1.8rem;
}

.character__block-title img {
  margin: 0 auto;
  max-width: 340px;
}

@media screen and (max-width: 767px) {
  .character__block-title img {
    position: relative;
    top: -2.60756vw;
    max-width: 45.63233vw;
  }
}

.character__block-title span {
  display: block;
  overflow: hidden;
  height: 0;
}

@media screen and (max-width: 767px) {
  .character__block-title {
    padding-bottom: 0;
    font-size: 2.11765rem;
  }
}

.character__block-description {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -ms-flex-align: end;
  padding: 87px 20px 33px;

  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: end;
  align-items: end;
}

@media screen and (max-width: 767px) {
  .character__block-description {
    display: block;
    padding: 6.5189vw 3.25945vw;
  }
}

.character__block-description-text {
  max-width: 418px;
  font-size: 1.05rem;
}

.character__block-description-text span {
  display: block;
  overflow: hidden;
  height: 0;
}

@media screen and (max-width: 767px) {
  .character__block-description-text {
    margin: 0 auto;
    max-width: auto;
    max-width: none;
    max-width: initial;
    font-size: 1.23529rem;
  }
}

.character__block-description-image {
  margin-left: 20px;
  max-width: 251px;
}

.ie .character__block-description-image {
  position: relative;
  left: 40px;
  margin-left: 10px;
}

@media screen and (max-width: 767px) {
  .ie .character__block-description-image {
    position: static;
    left: auto;
    margin-left: auto;
  }
}

@media screen and (max-width: 767px) {
  .character__block-description-image {
    margin-left: 0;
    padding: 5.21512vw 4.56323vw 0;
    max-width: auto;
    max-width: none;
    max-width: initial;
  }
}

.bnr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  -ms-flex-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 85px 15px;
  width: 800px;
  text-align: center;

  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  justify-content: space-between;
  root: .bnr;
}

@media screen and (max-width: 767px) {
  .bnr {
    display: block;
    margin: 0 auto;
    padding: 5.21512vw;
    width: 65.18905vw;
  }
}

.bnr__detail {
  text-align: left;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .bnr__detail {
    display: none;
  }
}

.bnr__detail-label {
  display: inline-block;
  padding: 0 10px;
  border: 2px solid #00a0e9;
  color: #00a0e9;
  text-align: left;
  letter-spacing: 0.075em;
  font-size: 1rem;
}

.ie11 .bnr__detail-label span {
  display: inline-block;
  margin-top: 8px;
}

.bnr__detail-text {
  position: relative;
  padding-top: 10px;
  font-size: 1rem;
}

.bnr__detail-text:before {
  position: absolute;
  bottom: -10px;
  left: 0;
  display: inline-block;
  width: 505px;
  height: 2px;
  background-color: #00a0e9;
  content: "";
}

.bnr__detail-text:after {
  position: absolute;
  top: 36px;
  right: -20px;
  display: inline-block;
  width: 2px;
  height: 14px;
  background-color: #00a0e9;
  content: "";
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}

.ie11 .bnr__detail-text:after,
.edge .bnr__detail-text:after {
  top: 37px;
  right: -13px;
}

.windows.firefox .bnr__detail-text:after {
  top: 37px;
  right: -12px;
}

.bnr__detail-text a {
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.bnr__detail-text a:hover {
  opacity: 0.8;
}

.ios .bnr__detail-text a:hover,
.android .bnr__detail-text a:hover {
  opacity: 1;
}

.bnr__detail-image {
  width: 215px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

@media screen and (max-width: 767px) {
  .bnr__detail-image {
    width: 56.8vw;
  }
}

.bnr__detail-image:hover {
  opacity: 0.8;
}

.ios .bnr__detail-image:hover,
.android .bnr__detail-image:hover {
  opacity: 1;
}

/* ---------------------------------------------
*   accordion-content
--------------------------------------------- */
.accordion-content {
  padding-bottom: 70px;
}

@media screen and (max-width: 767px) {
  .accordion-content {
    padding-bottom: 0;
  }
}

.accordion-content__image {
  width: 621px;
  margin-right: auto;
  margin-bottom: 55px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .accordion-content__image {
    width: 82.933vw;
    margin-bottom: 5.067vw;
  }
}

.accordion-content__caption {
  width: 633px;
  margin-right: auto;
  margin-bottom: 68px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .accordion-content__caption {
    width: 89.733vw;
    margin-bottom: 6.667vw;
  }
}

.accordion-content-main {
  width: 676px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .accordion-content-main {
    width: 90.133vw;
  }
}

/* ---------------------------------------------
*   accordion-block
--------------------------------------------- */
.accordion-block {
}

.accordion-block__elem {
  margin-bottom: 57px;
}

@media screen and (max-width: 767px) {
  .accordion-block__elem {
    margin-bottom: 7.333vw;
  }
}

.accordion-block__elem:last-child {
  margin-bottom: 0;
}

.accordion-block__elem--1 .accordion-block__trigger {
  background-image: url(../img/btn_type1_off.png);
}
.accordion-block__elem--2 .accordion-block__trigger {
  background-image: url(../img/btn_type2_off.png);
}
.accordion-block__elem--3 .accordion-block__trigger {
  background-image: url(../img/btn_type3_off.png);
}
.accordion-block__elem--4 .accordion-block__trigger {
  background-image: url(../img/btn_type4_off.png);
}

.accordion-block__trigger {
  position: relative;
  display: block;
  overflow: hidden;
  padding-top: 84px;
  width: 100%;
  height: 0;
  background-position: 0 0;
  background-repeat: no-repeat;
  background-size: 100% auto;
  cursor: pointer;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.accordion-block__trigger:after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: 0 0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  content: "";
  opacity: 0;
}

.accordion-block__elem.menu-open .accordion-block__trigger:after {
  opacity: 1;
}

.accordion-block__elem--1 .accordion-block__trigger:after {
  background-image: url(../img/btn_type1_on.png);
}
.accordion-block__elem--2 .accordion-block__trigger:after {
  background-image: url(../img/btn_type2_on.png);
}
.accordion-block__elem--3 .accordion-block__trigger:after {
  background-image: url(../img/btn_type3_on.png);
}
.accordion-block__elem--4 .accordion-block__trigger:after {
  background-image: url(../img/btn_type4_on.png);
}

@media screen and (max-width: 767px) {
  .accordion-block__trigger {
    padding-top: 11.2vw;
  }
}

.accordion-block__trigger:hover {
  opacity: 0.8;
}

.accordion-block-sub__link {
  position: absolute;
  top: 0;
  right: 0;
  width: 86px;
  -webkit-transition: background-color 300ms;
  transition: background-color 300ms;
}

@media screen and (max-width: 767px) {
  .accordion-block-sub__link {
    width: 11.46667vw;
  }
}

.accordion-block-sub__link:hover {
  background-color: rgba(255, 255, 255, 0.3);
}

.accordion-block__elem--1 .accordion-block-sub__link--1 {
  top: 352px;
  right: 323px;
  height: 220px;
}
.accordion-block__elem--1 .accordion-block-sub__link--2 {
  top: 472px;
  right: 178px;
  height: 220px;
}
.accordion-block__elem--1 .accordion-block-sub__link--3 {
  top: 352px;
  right: 33px;
  height: 100px;
}
.accordion-block__elem--1 .accordion-block-sub__link--4 {
  top: 472px;
  right: 33px;
  height: 345px;
}

.accordion-block__elem--2 .accordion-block-sub__link--1 {
  top: 349px;
  right: 343px;
  height: 345px;
}
.accordion-block__elem--2 .accordion-block-sub__link--2 {
  top: 469px;
  right: 233px;
  height: 225px;
}
.accordion-block__elem--2 .accordion-block-sub__link--3 {
  top: 349px;
  right: 123px;
  height: 225px;
}
.accordion-block__elem--2 .accordion-block-sub__link--4 {
  right: 13px;
  top: 469px;
  height: 345px;
}

.accordion-block__elem--3 .accordion-block-sub__link--1 {
  right: 343px;
  top: 349px;
  height: 345px;
}
.accordion-block__elem--3 .accordion-block-sub__link--2 {
  right: 233px;
  top: 469px;
  height: 225px;
}
.accordion-block__elem--3 .accordion-block-sub__link--3 {
  right: 123px;
  top: 349px;
  height: 345px;
}
.accordion-block__elem--3 .accordion-block-sub__link--4 {
  right: 13px;
  top: 469px;
  height: 340px;
}

.accordion-block__elem--4 .accordion-block-sub__link--1 {
  right: 323px;
  top: 351px;

  height: 460px;
}
.accordion-block__elem--4 .accordion-block-sub__link--2 {
  right: 178px;
  top: 472px;
  height: 340px;
}
.accordion-block__elem--4 .accordion-block-sub__link--3 {
  right: 33px;
  top: 472px;
  height: 220px;
}
.accordion-block__elem--4 .accordion-block-sub__link--4 {
  right: 33px;
  top: 710px;
  height: 220px;
}

@media screen and (max-width: 767px) {
  .accordion-block__elem--1 .accordion-block-sub__link--1 {
    top: 46.933vw;
    right: 43.067vw;
    height: 29.933vw;
  }
  .accordion-block__elem--1 .accordion-block-sub__link--2 {
    top: 62.933vw;
    right: 23.733vw;
    height: 29.933vw;
  }
  .accordion-block__elem--1 .accordion-block-sub__link--3 {
    top: 46.933vw;
    right: 4.4vw;
    height: 13.333vw;
  }
  .accordion-block__elem--1 .accordion-block-sub__link--4 {
    top: 62.933vw;
    right: 4.4vw;
    height: 46vw;
  }

  .accordion-block__elem--2 .accordion-block-sub__link--1 {
    top: 46.533vw;
    right: 45.733vw;
    height: 46vw;
  }
  .accordion-block__elem--2 .accordion-block-sub__link--2 {
    top: 62.533vw;
    right: 31.067vw;
    height: 30vw;
  }
  .accordion-block__elem--2 .accordion-block-sub__link--3 {
    top: 46.533vw;
    right: 16.4vw;
    height: 30vw;
  }
  .accordion-block__elem--2 .accordion-block-sub__link--4 {
    top: 62.533vw;
    right: 1.733vw;
    height: 46vw;
  }

  .accordion-block__elem--3 .accordion-block-sub__link--1 {
    top: 46.533vw;
    right: 45.733vw;
    height: 46vw;
  }
  .accordion-block__elem--3 .accordion-block-sub__link--2 {
    top: 62.533vw;
    right: 31.067vw;
    height: 30vw;
  }
  .accordion-block__elem--3 .accordion-block-sub__link--3 {
    top: 46.533vw;
    right: 16.4vw;
    height: 46vw;
  }
  .accordion-block__elem--3 .accordion-block-sub__link--4 {
    top: 62.533vw;
    right: 1.733vw;
    height: 45.333vw;
  }

  .accordion-block__elem--4 .accordion-block-sub__link--1 {
    top: 46.8vw;
    right: 43.067vw;
    height: 61.333vw;
  }
  .accordion-block__elem--4 .accordion-block-sub__link--2 {
    top: 62.933vw;
    right: 23.733vw;
    height: 45.333vw;
  }
  .accordion-block__elem--4 .accordion-block-sub__link--3 {
    top: 62.933vw;
    right: 4.4vw;
    height: 29.933vw;
  }
  .accordion-block__elem--4 .accordion-block-sub__link--4 {
    top: 94.667vw;
    right: 4.4vw;
    height: 29.933vw;
  }
}

/*  accordion-block-sub
--------------------------------------------- */
.accordion-block-sub {
  position: relative;
  display: none;
}

.accordion-block-sub__elem {
}

/*  accordion-block-note
--------------------------------------------- */
.accordion-block-note {
  margin-top: 16px;
}

@media screen and (max-width: 767px) {
  .accordion-block-note {
    margin-top: 2.13333vw;
  }
}

.accordion-block-note__text {
  font-size: 0.9rem;
}

@media screen and (max-width: 767px) {
  .accordion-block-note__text {
    font-size: 0.54141rem;
  }
}

.accordion-block-note__text:nth-of-type(n + 2) {
  margin-top: 5px;
}

@media screen and (max-width: 767px) {
  .accordion-block-note__text:nth-of-type(n + 2) {
    margin-top: 0.66667vw;
  }
}

/* ---------------------------------------------
*   accordion-pop
--------------------------------------------- */
.accordion-pop {
  background: #fff url(../img/bg_exactly.png) 0 0 no-repeat;
  max-width: 770px;
  width: 770px;
  height: 680px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  padding-top: 43px;
  background-size: 100% 100%;
  box-sizing: border-box;
  border-radius: 21px;
}

@media screen and (max-width: 767px) {
  .accordion-pop {
    background: #fff url(../img/sp/bg_exactly.png) 0 0 no-repeat;
    background-size: 100% 100%;
    max-width: 624px;
    width: 83.2vw;
    height: 90.66667vw;
    padding-top: 5.73333vw;
    border-radius: 2.8vw;
  }
}

.accordion-pop__title {
  text-align: center;
  line-height: 2;
  font-size: 1.3rem;
  font-weight: bold;
  margin-bottom: 28px;
}

@media screen and (max-width: 767px) {
  .accordion-pop__title {
    font-size: 0.78204rem;
    margin-bottom: 3.73333vw;
  }
}

.accordion-pop__title--large {
  line-height: 1.35;
}

.accordion-pop__title-inner {
  background: linear-gradient(transparent 0%, #ffff50 0%);
}

.windows .accordion-pop__title-inner {
  background: linear-gradient(transparent 30%, #ffff50 30%);
  -ms-background-position-y: 30px;
  background-position-y: 30px;
  background-repeat: repeat-y;
}

@media screen and (max-width: 767px) {
  .accordion-pop__title-inner {
    background: linear-gradient(transparent 10%, #ffff50 10%);
    background-repeat: repeat-y;
  }
}

.accordion-pop__text {
  text-align: center;
  height: 124px;
  line-height: 1.8;
  font-size: 1.1rem;
  margin-bottom: 53px;
}

@media screen and (max-width: 767px) {
  .accordion-pop__text {
    height: 15.6vw;
    font-size: 0.66173rem;
    margin-bottom: 7.06666vw;
  }
}

.accordion-pop__image {
  text-align: center;
}

.accordion-pop__link {
  position: relative;
  z-index: 1;
  display: inline-block;
}

.accordion-pop__link img {
  max-height: 288px;
  border: 2px solid #d0d2d3;
  border-radius: 5px;
}

@media screen and (max-width: 767px) {
  .accordion-pop__link img {
    max-width: 26.66667vw;
    max-height: 37.6vw;
    height: 37.6vw;
    border: 2px solid #d0d2d3;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    border-radius: 0.66667vw;
  }
}

.accordion-pop__link:after {
  position: absolute;
  top: -24px;
  left: -140px;
  display: block;
  z-index: -1;
  width: 149px;
  height: 149px;
  pointer-events: none;
  background: url(../img/icon_exactly.png) 0 0 no-repeat;
  background-size: 100% 100%;
  content: "";
}

@media screen and (max-width: 767px) {
  .accordion-pop__link:after {
    top: -3.2vw;
    left: -18.66667vw;
    width: 19.86667vw;
    height: 19.86667vw;
  }
}

/* ---------------------------------------------
*   section-frame
--------------------------------------------- */
.section-frame {
}

.section-frame__title {
  margin-right: auto;
  margin-left: auto;
}

.section-frame__title span {
  display: block;
  overflow: hidden;
  height: 0;
}

.section-frame__title--test {
  width: 918px;
}

@media screen and (max-width: 767px) {
  .section-frame__title--test {
    width: 66.93333vw;
  }
}

.section-frame__title--experience {
  width: 431px;
}
@media screen and (max-width: 767px) {
  .section-frame__title--experience {
    width: calc(312 / 750 * 100vw);
  }
}

/* ---------------------------------------------
*   text-item
--------------------------------------------- */
.text-item {
  text-align: center;
  font-size: 0.95em;
  line-height: 2.2;
}

@media screen and (max-width: 767px) {
  .text-item {
    font-size: 3.46667vw;
    line-height: 1.8;
  }
}

.text-item--experience {
  font-size: 20px;
  font-weight: bold;
  margin-top: 57px;
  line-height: 2.04;
}
@media screen and (max-width: 767px) {
  .text-item--experience {
    font-size: calc(24 / 750 * 100vw);
    line-height: 1.625;
    margin-top: calc(48 / 750 * 100vw);
  }
}

/* ---------------------------------------------
*   link-pdf
--------------------------------------------- */
.link-pdf {
  display: inline-block;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}
.link-pdf:hover {
  opacity: 0.8;
}

/*  link-pdf-outer
--------------------------------------------- */
.link-pdf-outer {
  text-align: center;
  margin-bottom: 88px;
  margin-right: auto;
  margin-left: auto;
}

.link-pdf--question {
  width: 542px;
}

@media screen and (max-width: 767px) {
  .link-pdf--question {
    width: 76.53333vw;
  }
}

.link-pdf--answer {
  width: 541px;
}

@media screen and (max-width: 767px) {
  .link-pdf--answer {
    width: 72.93333vw;
  }
}

/* ---------------------------------------------
*   section-test
--------------------------------------------- */
.section-test {
  position: relative;
  margin: 0 auto;
  max-width: 880px;
}

.section-test__title {
  width: 440px;
  margin-right: auto;
  margin-bottom: 55px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .section-test__title {
    width: 54.13333vw;
    margin-right: auto;
    margin-bottom: 4.66667vw;
    margin-left: auto;
  }
}

.section-test__title span {
  display: block;
  overflow: hidden;
  height: 0;
}

.section-test__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 66px;
}

@media screen and (max-width: 767px) {
  .section-test__list {
    width: 88%;
    margin-right: auto;
    margin-bottom: 6vw;
    margin-left: auto;
  }
}

.section-test__list-item {
}

@media screen and (max-width: 767px) {
  .section-test__list-item {
    width: 47.121%;
  }
}

.section-test__list-item:nth-of-type(2n) {
  margin-left: 62px;
}

@media screen and (max-width: 767px) {
  .section-test__list-item:nth-of-type(2n) {
    margin-left: 5.757%;
  }
}

.section-test__list-item:nth-of-type(n + 3) {
  margin-top: 64px;
}

@media screen and (max-width: 767px) {
  .section-test__list-item:nth-of-type(n + 3) {
    margin-top: 5.33333vw;
  }
}

.section-test__image {
  position: relative;
  width: 408px;
}

@media screen and (max-width: 767px) {
  .section-test__image {
    width: 100%;
  }
}

.section-test__image--hide {
  display: none;
}

.section-test__link {
  position: absolute;
  right: 43px;
  bottom: 35px;
  z-index: 1;
  display: block;
  width: 71px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
  outline: none;
  transition: 0.2s;
}

@media screen and (max-width: 767px) {
  .section-test__link {
    right: 5.733vw;
    bottom: 4.667vw;
    width: 10.667vw;
  }
}

.section-test__link:before,
.section-test__link:after {
  content: "";
  position: absolute;
  z-index: -10;
  width: 71px;
  height: 71px;
  top: -1px;
  left: -1px;
  border-radius: 50%;
  background: #086b9a;
  border: 1px solid #fff;
  transform: translate3d(0, 0, 0);
}

@media screen and (max-width: 767px) {
  .section-test__link:before,
  .section-test__link:after {
    width: 10.667vw;
    height: 10.667vw;
    top: -0.4vw;
    left: -0.4vw;
  }
}

.section-test__link:before {
  animation: anime 2s ease-out infinite;
}

.section-test__link:after {
  animation: anime 2s ease-out 1s infinite;
}

.section-test__link:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .section-test__link {
    position: absolute;
    right: 4.4vw;
    bottom: 6vw;
    width: 10.4vw;
  }
}

.section-test__link-inner {
  display: block;
  position: relative;
  z-index: 2;
  transition: 0.2s;
}

@keyframes anime {
  0% {
    transform: scale(0.95);
    opacity: 1;
  }
  90% {
    opacity: 0.1;
  }
  to {
    transform: scale(1.2, 1.2);
    opacity: 0;
  }
}

/* ---------------------------------------------
*   section-score
--------------------------------------------- */
.section-score {
  position: relative;
  margin: 0 auto;
  max-width: 880px;
}

.section-score__title {
  width: 485px;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .section-score__title {
    width: 59.6vw;
  }
}

.section-score__title span {
  display: block;
  overflow: hidden;
  height: 0;
}

.score-popup-content__image {
  position: relative;
  max-width: 450px;
  margin: 0 auto 20px;
}

@media screen and (max-width: 767px) {
  .score-popup-content__image {
    max-width: 80vw;
    margin: 20vw auto 10vw;
  }
}

.score-popup-content__num {
  position: absolute;
  top: 0;
  left: -75px;
  color: #fff;
  font-weight: bold;
  font-size: 0.78947rem;
}

@media screen and (max-width: 767px) {
  .score-popup-content__num {
    top: -8vw;
    left: 0;
    font-size: 3.46667vw;
  }
}

.score-popup-content__close {
  position: absolute;
  top: 0;
  right: 15px;
  width: 48px;
  cursor: pointer;
  opacity: 1;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.score-popup-content__close:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .score-popup-content__close {
    position: absolute;
    top: 9.33333vw;
    right: 2.66667vw;
    width: 9.06667vw;
    cursor: pointer;
  }
}

.section-score__image {
  position: relative;
}

@media screen and (max-width: 767px) {
  .section-score__image {
    width: 88%;
    margin-right: auto;
    margin-left: auto;
  }
}

.section-score__link {
  position: absolute;
  right: 25px;
  bottom: 10px;
  z-index: 1;
  display: block;
  width: 400px;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}
.section-score__link:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .section-score__link {
    position: absolute;
    right: 3.33333vw;
    bottom: 1.33333vw;
    width: 53.33333vw;
  }
}

/* ---------------------------------------------
*   past-wrapper
--------------------------------------------- */
.past-wrapper {
}
.past-wrapper.menu-open .past-wrapper__button:before {
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}
.past-wrapper__button {
  position: relative;
  width: 768px;
  height: 90px;
  display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: center;
  -ms-align-items: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  text-align: center;
  display: block;
  letter-spacing: 0.03em;
  color: #00a0e9;
  border: 4px solid #00a0e9;
  border-radius: 23px;
  font-weight: bold;
  font-size: 32px;
  margin-right: auto;
  margin-bottom: 55px;
  margin-left: auto;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
  cursor: pointer;
}

.past-wrapper__button:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .past-wrapper__button {
    width: calc(670 / 750 * 100vw);
    height: calc(90 / 750 * 100vw);
    padding: 2.93333vw 1.33333vw;
    font-size: calc(26 / 750 * 100vw);
    border-width: calc(4 / 750 * 100vw);
    border-radius: calc(23 / 750 * 100vw);
    margin-right: auto;
    margin-bottom: calc(52 / 750 * 100vw);
    margin-left: auto;
  }
}

.past-wrapper__button:before {
  position: absolute;
  top: 50%;
  right: 32px;
  display: inline-block;
  width: 52px;
  height: 52px;
  background-image: url(../img/icon_acordion.png);
  background-size: 100% auto;
  background-repeat: no-repeat;
  content: "";
  -webkit-transform: translateY(-50%) scale(1, -1);
  transform: translateY(-50%) scale(1, -1);
}

@media screen and (max-width: 767px) {
  .past-wrapper__button:before {
    right: 3.06667vw;
    width: 6.93333vw;
    height: 6.93333vw;
  }
}

.past-wrapper__button-strong {
  background-color: #00a0e9;
  color: #fff;
  font-size: 26px;
  padding: 8px 12px;
  border-radius: 9px;
}
@media screen and (max-width: 767px) {
  .past-wrapper__button-strong {
    font-size: calc(26 / 750 * 100vw);
    padding: calc(8 / 750 * 100vw) calc(12 / 750 * 100vw);
    border-radius: calc(9 / 750 * 100vw);
  }
}

.past-wrapper__button-strong-sm {
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .past-wrapper__button-strong-sm {
    font-size: calc(18 / 750 * 100vw);
  }
}

.past-wrapper__button-txt {
  margin-left: 10px;
}
@media screen and (max-width: 767px) {
  .past-wrapper__button-txt {
    margin-left: calc(10 / 750 * 100vw);
  }
}

/*  title-spi
--------------------------------------------- */
.title-spi {
  width: 300px;
  margin-right: auto;
  margin-bottom: 50px;
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .title-spi {
    width: 45.33333vw;
    margin-bottom: 6.66667vw;
  }
}

/*  fixed-nav
--------------------------------------------- */
.fixed-nav {
  position: fixed;
  width: 87px;
  height: 254px;
  bottom: 40%;
  right: 0;
  background-color: #fff352;
  z-index: 100;
  border-radius: 13px 0 0 13px;
  box-shadow: 0 10px 0 0 rgba(0, 0, 0, 0.15);
  transform: translateY(50%);
}

@media screen and (max-width: 767px) {
  .fixed-nav {
    width: 8.8vw;
    height: 25.33vw;
    bottom: 70%;
    box-shadow: 0 0.933vw 0 0 rgba(0, 0, 0, 0.15);
    border-radius: 1.2vw 0 0 1.2vw;
  }
}

.fixed-nav__link {
  display: block;
  padding: 25px 10px;
  transition: opacity 300ms;
  cursor: pointer;
}

@media screen and (max-width: 767px) {
  .fixed-nav__link {
    padding: 2vw 0.667vw;
  }
}

.fixed-nav__link:hover {
  opacity: 0.8;
}

/*  mfpopup
--------------------------------------------- */
.mfp-arrow {
  opacity: 1;
  -webkit-transition: opacity 300ms;
  transition: opacity 300ms;
}

.mfp-arrow:hover {
  opacity: 0.8;
}

@media screen and (max-width: 767px) {
  .mfp-arrow {
    width: 20vw;
    height: 20vw;
    margin-top: -2vw;
  }
  .mfp-arrow:active {
    margin-top: -2vw;
  }
}

.mfp-arrow:after {
  border: none;
}
.mfp-arrow:before {
  top: 50%;
  left: 50%;
  width: 46px;
  height: 46px;
  margin-top: 0;
  margin-left: 0;
  border: none;
  background-size: 100% auto;
  background-repeat: no-repeat;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 767px) {
  .mfp-arrow:before {
    width: 11.46667vw;
    height: 11.46667vw;
  }
}

@media screen and (orientation: landscape) and (max-width: 767px) {
  .mfp-arrow:before {
    top: 0;
    margin-top: 49.33333vw;
  }
}

.mfp-arrow-right:before {
  background-image: url(../img/icon_right_modal.png);
}
.mfp-arrow-left:before {
  background-image: url(../img/icon_left_modal.png);
}

/* ---------------------------------------------
*   link-none
--------------------------------------------- */
.link-none {
  pointer-events: none;
}

/* ==========================================================
*
*   utility
*
==========================================================
/* ---------------------------------------------
*   margin-top
--------------------------------------------- */
.mgt-pc--0 {
  margin-top: 0 !important;
}

.mgt-pc--5 {
  margin-top: 5px !important;
}

.mgt-pc--10 {
  margin-top: 10px !important;
}

.mgt-pc--15 {
  margin-top: 15px !important;
}

.mgt-pc--20 {
  margin-top: 20px !important;
}

.mgt-pc--25 {
  margin-top: 25px !important;
}

.mgt-pc--30 {
  margin-top: 30px !important;
}

.mgt-pc--35 {
  margin-top: 35px !important;
}

.mgt-pc--40 {
  margin-top: 40px !important;
}

.mgt-pc--45 {
  margin-top: 45px !important;
}

.mgt-pc--50 {
  margin-top: 50px !important;
}

.mgt-pc--55 {
  margin-top: 55px !important;
}

.mgt-pc--60 {
  margin-top: 60px !important;
}

.mgt-pc--65 {
  margin-top: 65px !important;
}

.mgt-pc--70 {
  margin-top: 70px !important;
}

.mgt-pc--75 {
  margin-top: 75px !important;
}

.mgt-pc--80 {
  margin-top: 80px !important;
}

.mgt-pc--85 {
  margin-top: 85px !important;
}

.mgt-pc--90 {
  margin-top: 90px !important;
}

.mgt-pc--95 {
  margin-top: 95px !important;
}

.mgt-pc--100 {
  margin-top: 100px !important;
}

.mgt-pc--105 {
  margin-top: 105px !important;
}

.mgt-pc--110 {
  margin-top: 110px !important;
}

.mgt-pc--115 {
  margin-top: 115px !important;
}

.mgt-pc--120 {
  margin-top: 120px !important;
}

.mgt-pc--125 {
  margin-top: 125px !important;
}

.mgt-pc--130 {
  margin-top: 130px !important;
}

.mgt-pc--135 {
  margin-top: 135px !important;
}

.mgt-pc--140 {
  margin-top: 140px !important;
}

.mgt-pc--145 {
  margin-top: 145px !important;
}

.mgt-pc--150 {
  margin-top: 150px !important;
}

.mgt-pc--155 {
  margin-top: 155px !important;
}

.mgt-pc--160 {
  margin-top: 160px !important;
}

.mgt-pc--165 {
  margin-top: 165px !important;
}

.mgt-pc--170 {
  margin-top: 170px !important;
}

.mgt-pc--175 {
  margin-top: 175px !important;
}

.mgt-pc--180 {
  margin-top: 180px !important;
}

.mgt-pc--185 {
  margin-top: 185px !important;
}

.mgt-pc--190 {
  margin-top: 190px !important;
}

.mgt-pc--195 {
  margin-top: 195px !important;
}

.mgt-pc--200 {
  margin-top: 200px !important;
}

.mgt-pc--205 {
  margin-top: 205px !important;
}

.mgt-pc--210 {
  margin-top: 210px !important;
}

.mgt-pc--215 {
  margin-top: 215px !important;
}

.mgt-pc--220 {
  margin-top: 220px !important;
}

.mgt-pc--225 {
  margin-top: 225px !important;
}

.mgt-pc--230 {
  margin-top: 230px !important;
}

.mgt-pc--235 {
  margin-top: 235px !important;
}

.mgt-pc--240 {
  margin-top: 240px !important;
}

.mgt-pc--245 {
  margin-top: 245px !important;
}

.mgt-pc--250 {
  margin-top: 250px !important;
}

@media screen and (max-width: 767px) {
  .mgt-sp--0 {
    margin-top: 0 !important;
  }
  .mgt-sp--5 {
    margin-top: 0.65189vw !important;
  }
  .mgt-sp--10 {
    margin-top: 1.30378vw !important;
  }
  .mgt-sp--15 {
    margin-top: 1.95567vw !important;
  }
  .mgt-sp--20 {
    margin-top: 2.60756vw !important;
  }
  .mgt-sp--25 {
    margin-top: 3.25945vw !important;
  }
  .mgt-sp--30 {
    margin-top: 3.91134vw !important;
  }
  .mgt-sp--35 {
    margin-top: 4.56323vw !important;
  }
  .mgt-sp--40 {
    margin-top: 5.21512vw !important;
  }
  .mgt-sp--45 {
    margin-top: 5.86701vw !important;
  }
  .mgt-sp--50 {
    margin-top: 6.5189vw !important;
  }
  .mgt-sp--55 {
    margin-top: 7.1708vw !important;
  }
  .mgt-sp--60 {
    margin-top: 7.82269vw !important;
  }
  .mgt-sp--65 {
    margin-top: 8.47458vw !important;
  }
  .mgt-sp--70 {
    margin-top: 9.12647vw !important;
  }
  .mgt-sp--75 {
    margin-top: 9.77836vw !important;
  }
  .mgt-sp--80 {
    margin-top: 10.43025vw !important;
  }
  .mgt-sp--85 {
    margin-top: 11.08214vw !important;
  }
  .mgt-sp--90 {
    margin-top: 11.73403vw !important;
  }
  .mgt-sp--95 {
    margin-top: 12.38592vw !important;
  }
  .mgt-sp--100 {
    margin-top: 13.03781vw !important;
  }
  .mgt-sp--105 {
    margin-top: 13.6897vw !important;
  }
  .mgt-sp--110 {
    margin-top: 14.34159vw !important;
  }
  .mgt-sp--115 {
    margin-top: 14.99348vw !important;
  }
  .mgt-sp--120 {
    margin-top: 15.64537vw !important;
  }
  .mgt-sp--125 {
    margin-top: 16.29726vw !important;
  }
  .mgt-sp--130 {
    margin-top: 16.94915vw !important;
  }
  .mgt-sp--135 {
    margin-top: 17.60104vw !important;
  }
  .mgt-sp--140 {
    margin-top: 18.25293vw !important;
  }
  .mgt-sp--145 {
    margin-top: 18.90482vw !important;
  }
  .mgt-sp--150 {
    margin-top: 19.55671vw !important;
  }
  .mgt-sp--155 {
    margin-top: 20.2086vw !important;
  }
  .mgt-sp--160 {
    margin-top: 20.8605vw !important;
  }
  .mgt-sp--165 {
    margin-top: 21.51239vw !important;
  }
  .mgt-sp--170 {
    margin-top: 22.16428vw !important;
  }
  .mgt-sp--175 {
    margin-top: 22.81617vw !important;
  }
  .mgt-sp--180 {
    margin-top: 23.46806vw !important;
  }
  .mgt-sp--185 {
    margin-top: 24.11995vw !important;
  }
  .mgt-sp--190 {
    margin-top: 24.77184vw !important;
  }
  .mgt-sp--195 {
    margin-top: 25.42373vw !important;
  }
  .mgt-sp--200 {
    margin-top: 26.07562vw !important;
  }
  .mgt-sp--205 {
    margin-top: 26.72751vw !important;
  }
  .mgt-sp--210 {
    margin-top: 27.3794vw !important;
  }
  .mgt-sp--215 {
    margin-top: 28.03129vw !important;
  }
  .mgt-sp--220 {
    margin-top: 28.68318vw !important;
  }
  .mgt-sp--225 {
    margin-top: 29.33507vw !important;
  }
  .mgt-sp--230 {
    margin-top: 29.98696vw !important;
  }
  .mgt-sp--235 {
    margin-top: 30.63885vw !important;
  }
  .mgt-sp--240 {
    margin-top: 31.29074vw !important;
  }
  .mgt-sp--245 {
    margin-top: 31.94263vw !important;
  }
  .mgt-sp--250 {
    margin-top: 32.59452vw !important;
  }
}

/* ---------------------------------------------
*   margin-bottom
--------------------------------------------- */
.mgb-pc--0 {
  margin-bottom: 0 !important;
}

.mgb-pc--5 {
  margin-bottom: 5px !important;
}

.mgb-pc--10 {
  margin-bottom: 10px !important;
}

.mgb-pc--15 {
  margin-bottom: 15px !important;
}

.mgb-pc--20 {
  margin-bottom: 20px !important;
}

.mgb-pc--25 {
  margin-bottom: 25px !important;
}

.mgb-pc--30 {
  margin-bottom: 30px !important;
}

.mgb-pc--35 {
  margin-bottom: 35px !important;
}

.mgb-pc--40 {
  margin-bottom: 40px !important;
}

.mgb-pc--45 {
  margin-bottom: 45px !important;
}

.mgb-pc--50 {
  margin-bottom: 50px !important;
}

.mgb-pc--55 {
  margin-bottom: 55px !important;
}

.mgb-pc--60 {
  margin-bottom: 60px !important;
}

.mgb-pc--65 {
  margin-bottom: 65px !important;
}

.mgb-pc--70 {
  margin-bottom: 70px !important;
}

.mgb-pc--75 {
  margin-bottom: 75px !important;
}

.mgb-pc--80 {
  margin-bottom: 80px !important;
}

.mgb-pc--85 {
  margin-bottom: 85px !important;
}

.mgb-pc--90 {
  margin-bottom: 90px !important;
}

.mgb-pc--95 {
  margin-bottom: 95px !important;
}

.mgb-pc--100 {
  margin-bottom: 100px !important;
}

.mgb-pc--105 {
  margin-bottom: 105px !important;
}

.mgb-pc--110 {
  margin-bottom: 110px !important;
}

.mgb-pc--115 {
  margin-bottom: 115px !important;
}

.mgb-pc--120 {
  margin-bottom: 120px !important;
}

.mgb-pc--125 {
  margin-bottom: 125px !important;
}

.mgb-pc--130 {
  margin-bottom: 130px !important;
}

.mgb-pc--135 {
  margin-bottom: 135px !important;
}

.mgb-pc--140 {
  margin-bottom: 140px !important;
}

.mgb-pc--145 {
  margin-bottom: 145px !important;
}

.mgb-pc--150 {
  margin-bottom: 150px !important;
}

.mgb-pc--155 {
  margin-bottom: 155px !important;
}

.mgb-pc--160 {
  margin-bottom: 160px !important;
}

.mgb-pc--165 {
  margin-bottom: 165px !important;
}

.mgb-pc--170 {
  margin-bottom: 170px !important;
}

.mgb-pc--175 {
  margin-bottom: 175px !important;
}

.mgb-pc--180 {
  margin-bottom: 180px !important;
}

.mgb-pc--185 {
  margin-bottom: 185px !important;
}

.mgb-pc--190 {
  margin-bottom: 190px !important;
}

.mgb-pc--195 {
  margin-bottom: 195px !important;
}

.mgb-pc--200 {
  margin-bottom: 200px !important;
}

.mgb-pc--205 {
  margin-bottom: 205px !important;
}

.mgb-pc--210 {
  margin-bottom: 210px !important;
}

.mgb-pc--215 {
  margin-bottom: 215px !important;
}

.mgb-pc--220 {
  margin-bottom: 220px !important;
}

.mgb-pc--225 {
  margin-bottom: 225px !important;
}

.mgb-pc--230 {
  margin-bottom: 230px !important;
}

.mgb-pc--235 {
  margin-bottom: 235px !important;
}

.mgb-pc--240 {
  margin-bottom: 240px !important;
}

.mgb-pc--245 {
  margin-bottom: 245px !important;
}

.mgb-pc--250 {
  margin-bottom: 250px !important;
}

@media screen and (max-width: 767px) {
  .mgb-sp--0 {
    margin-bottom: 0 !important;
  }
  .mgb-sp--5 {
    margin-bottom: 0.65189vw !important;
  }
  .mgb-sp--10 {
    margin-bottom: 1.30378vw !important;
  }
  .mgb-sp--15 {
    margin-bottom: 1.95567vw !important;
  }
  .mgb-sp--20 {
    margin-bottom: 2.60756vw !important;
  }
  .mgb-sp--25 {
    margin-bottom: 3.25945vw !important;
  }
  .mgb-sp--30 {
    margin-bottom: 3.91134vw !important;
  }
  .mgb-sp--35 {
    margin-bottom: 4.56323vw !important;
  }
  .mgb-sp--40 {
    margin-bottom: 5.21512vw !important;
  }
  .mgb-sp--45 {
    margin-bottom: 5.86701vw !important;
  }
  .mgb-sp--50 {
    margin-bottom: 6.5189vw !important;
  }
  .mgb-sp--55 {
    margin-bottom: 7.1708vw !important;
  }
  .mgb-sp--60 {
    margin-bottom: 7.82269vw !important;
  }
  .mgb-sp--65 {
    margin-bottom: 8.47458vw !important;
  }
  .mgb-sp--70 {
    margin-bottom: 9.12647vw !important;
  }
  .mgb-sp--75 {
    margin-bottom: 9.77836vw !important;
  }
  .mgb-sp--80 {
    margin-bottom: 10.43025vw !important;
  }
  .mgb-sp--85 {
    margin-bottom: 11.08214vw !important;
  }
  .mgb-sp--90 {
    margin-bottom: 11.73403vw !important;
  }
  .mgb-sp--95 {
    margin-bottom: 12.38592vw !important;
  }
  .mgb-sp--100 {
    margin-bottom: 13.03781vw !important;
  }
  .mgb-sp--105 {
    margin-bottom: 13.6897vw !important;
  }
  .mgb-sp--110 {
    margin-bottom: 14.34159vw !important;
  }
  .mgb-sp--115 {
    margin-bottom: 14.99348vw !important;
  }
  .mgb-sp--120 {
    margin-bottom: 15.64537vw !important;
  }
  .mgb-sp--125 {
    margin-bottom: 16.29726vw !important;
  }
  .mgb-sp--130 {
    margin-bottom: 16.94915vw !important;
  }
  .mgb-sp--135 {
    margin-bottom: 17.60104vw !important;
  }
  .mgb-sp--140 {
    margin-bottom: 18.25293vw !important;
  }
  .mgb-sp--145 {
    margin-bottom: 18.90482vw !important;
  }
  .mgb-sp--150 {
    margin-bottom: 19.55671vw !important;
  }
  .mgb-sp--155 {
    margin-bottom: 20.2086vw !important;
  }
  .mgb-sp--160 {
    margin-bottom: 20.8605vw !important;
  }
  .mgb-sp--165 {
    margin-bottom: 21.51239vw !important;
  }
  .mgb-sp--170 {
    margin-bottom: 22.16428vw !important;
  }
  .mgb-sp--175 {
    margin-bottom: 22.81617vw !important;
  }
  .mgb-sp--180 {
    margin-bottom: 23.46806vw !important;
  }
  .mgb-sp--185 {
    margin-bottom: 24.11995vw !important;
  }
  .mgb-sp--190 {
    margin-bottom: 24.77184vw !important;
  }
  .mgb-sp--195 {
    margin-bottom: 25.42373vw !important;
  }
  .mgb-sp--200 {
    margin-bottom: 26.07562vw !important;
  }
  .mgb-sp--205 {
    margin-bottom: 26.72751vw !important;
  }
  .mgb-sp--210 {
    margin-bottom: 27.3794vw !important;
  }
  .mgb-sp--215 {
    margin-bottom: 28.03129vw !important;
  }
  .mgb-sp--220 {
    margin-bottom: 28.68318vw !important;
  }
  .mgb-sp--225 {
    margin-bottom: 29.33507vw !important;
  }
  .mgb-sp--230 {
    margin-bottom: 29.98696vw !important;
  }
  .mgb-sp--235 {
    margin-bottom: 30.63885vw !important;
  }
  .mgb-sp--240 {
    margin-bottom: 31.29074vw !important;
  }
  .mgb-sp--245 {
    margin-bottom: 31.94263vw !important;
  }
  .mgb-sp--250 {
    margin-bottom: 32.59452vw !important;
  }
}

@media screen and (min-width: 768px) {
  .pc-hide {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .sp-hide {
    display: none !important;
  }
}

.list-block__category-spi {
  display: none;
}
