/*---------- 全体共通 -----------*/

/*フォントの設定*/
* {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", sans-serif;
  font-size: 2.5vw;
}

body {
  color: #333;
  overflow-x: hidden;
}

a {
  width: inherit;
  height: inherit;
  display: inline-block;
  cursor: pointer;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

a:hover {
  opacity: 0.7;
}

img {
  width: 100%;
  height: auto;
  display: block;
}

/*フォント指定の設定*/
.hp_fss {
  font-size: 2.188vw;
}

.hp_fsm {
  font-size: 2.813vw;
}

.hp_fsml {
  font-size: 3.75vw;
}

.hp_fsl {
  font-size: 5.625vw;
}

.hp_fsll {
  font-size: 6.25vw;
}

.hp_pcNone {
  display: none;
}

.ly_wrapper {
  width: 100vw;
  margin: 0 auto;
  background-color: #f2f2f2;
}

.ly_header {
  display: flex;
  align-items: center;
  height: 12.5vw;
  padding: 0 4.688vw;
}

.bl_header_logo {
  width: 43.75vw;
}

.bl_fixed {
  position: fixed;
  left: 50%;
  bottom: -7.812vw;
  transform: translateX(-50%);
  width: 96.875vw;
  z-index: 999;
  transition: 0.5s ease;
  height: 0;
}

.bl_fixed.is_active {
  height: auto;
  bottom: -0.781vw;
}

.ly_fv {
  background: url(../img/sp_fv_background.png) no-repeat right top/contain;
  padding-bottom: 12.5vw;
}

.bl_fv_txt {
  width: 90.625vw;
  margin: 0 auto;
  padding: 15.9374vw 0 0;
}

.bl_fv_point {
  width: 90.625vw;
  margin: 0 auto;
  padding-top: 4.53125vw;
}

.el_fv_note {
  margin: 1.094vw 0 2.188vw;
  text-align: center;
  font-size: 2.5vw;
  letter-spacing: 0.047vw;
}

.bl_cta {
  width: 90.625vw;
  margin: 0 auto;
  border-radius: 4.688vw;
  background-color: #fff;
}

.bl_cta_ttl {
  background-color: #39bcf5;
  height: 15.625vw;
  border-radius: 4.688vw 4.688vw 0 0;
  padding: 4.219vw 0 0;
  text-align: center;
  font-size: 6.563vw;
  font-weight: bold;
  line-height: 1.11428571;
  color: #fff;
}

.bl_cta_txt {
  padding: 3.125vw 0 3.438vw;
  text-align: center;
  font-size: 4.063vw;
  font-weight: bold;
  line-height: 1.692307;
  letter-spacing: 0.009vw;
}

.bl_cta_txt02 {
  padding: 3.125vw 0;
  font-size: 4.375vw;
  font-weight: bold;
  color: #009de1;
  text-align: center;
}

.bl_cta_img {
  width: 81.25vw;
  margin: 0 auto 3.4375vw;
}

.bl_cta_txt03 {
  font-size: 3.75vw;
  text-align: center;
  margin-bottom: 3.4375vw;
}

.bl_cta_txt03 span {
  font-size: 3.75vw;
  font-weight: bold;
}

.bl_cta_txtImg {
  width: 76.5625vw;
  margin: 0 auto 4.21875vw;
}

.bl_cta_btn {
  width: 81.25vw;
  margin: 0 auto;
  padding-bottom: 3.438vw;
}

.ly_reason {
  background: url(../img/sp_reason_top_bg.png) no-repeat center top/100% auto;
  margin: 14.0625vw 0 0;
  padding: 20.3125vw 4.688vw 0.313vw;
}

.bl_reason_ttl {
  width: 90.625vw;
  margin: 0 auto 4.6875vw;
}

.bl_reason_listItem {
  padding: 0 0 8.594vw;
}

.bl_reason_listImg {
  width: 93.75vw;
  margin: 0 0 0 -1.562vw;
}

.el_reason_listTtl {
  margin-top: -0.312vw;
  padding: 0 4.688vw;
  font-size: 6.25vw;
  font-weight: bold;
  line-height: 1.25;
  letter-spacing: 0.009vw;
  color: #009de1;
}

.el_reason_listTxt {
  margin-top: 1.563vw;
  padding: 0 4.688vw;
  font-size: 4.063vw;
  line-height: 1.538461;
  letter-spacing: 0.009vw;
}

.el_reason_listTxt span {
  font-size: 4.063vw;
  line-height: 1.15384615;
  letter-spacing: 0.009vw;
  font-weight: bold;
}

.bl_info_ttl {
  width: 100%;
}

.bl_cta02 {
  position: relative;
  margin-top: -9.53125vw;
  z-index: 1;
}

.ly_departments {
  padding: 0 0 14.0625vw;
}

.bl_departments_ttl {
  width: 83.75vw;
  margin: 0 auto 7.5vw;
}

.bl_departments_course {
  margin-bottom: 13.90625vw;
}

.bl_departments_courseBox {
  background: #fff;
  margin-bottom: 4.375vw;
  padding: 5.625vw 0 5vw;
}

.bl_departments_courseTxtImg {
  width: 90.625vw;
  margin: 0 auto 2.1875vw;
}

.bl_departments_courseTxt {
  width: 90.15625vw;
  margin: 0 auto;
  font-size: 4.0625vw;
  line-height: 1.5;
}

.bl_departments_features {
  margin-bottom: 11.5625vw;
}

.bl_departments_featuresTtl {
  width: 58.28124vw;
  margin: 0 0 6.25vw 27.5vw;
}

.bl_departments_featuresTxt {
  cursor: pointer;
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  width: 90.625vw;
  margin: 2.8125vw auto 0;
  padding: 3.125vw 0 3.28125vw 4.6875vw;
  font-size: 4.0625vw;
  background: #39bcf5;
  border-radius: 3.125vw;
}

.bl_departments_featuresTxt.is_active {
  border-radius: 3.125vw 3.125vw 0 0;
}

.bl_departments_featuresTxt::after {
  content: "＋";
  font-size: 4.6875vw;
  color: #fff;
  position: absolute;
  top: 50%;
  right: 2.8125vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.bl_departments_featuresTxt.is_active::after {
  content: "ー";
  font-size: 4.375vw;
}

.bl_departments_featuresTxt img {
  width: 10vw;
  margin-right: 3.125vw;
}

.el_featuresTxt {
  font-size: 4.0625vw;
  font-weight: bold;
  color: #fff;
}

.el_featuresTxtBigger {
  font-size: 4.375vw;
}

.el_featuresTxtYellow {
  font-size: 4.375vw;
  color: #f8f366;
  font-feature-settings: "palt";
}

.bl_departments_featuresContent {
  width: 90.625vw;
  margin: 0 auto;
  height: 0;
  overflow: hidden;
  background-color: #fff;
  padding: 0 4.6875vw 0;
  border-radius: 0 0 3.125vw 3.125vw;
}

.bl_departments_featuresContent.is_show {
  height: auto;
  padding: 4.0625vw 4.6875vw 7.1874vw;
}

.bl_departments_featuresImg {
  margin-bottom: 2.8125vw;
}

.bl_departments_featuresAccTxt {
  font-size: 4.0625vw;
  line-height: 1.5;
}

.bl_departments_detail {
  width: 84.375vw;
  margin: 0 auto;
}

.bl_departments_detailTtl {
  cursor: pointer;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background: #fff;
  border-top: #464646 solid 0.4vw;
  border-bottom: #464646 solid 0.4vw;
  padding: 3.28125vw 0 3.28125vw 4.375vw;
  margin-top: -0.4vw;
}

.bl_departments_detailTtl::after {
  content: "＋";
  font-size: 4.6875vw;
  color: #464646;
  position: absolute;
  top: 50%;
  right: 3.125vw;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
}

.bl_departments_detailTtl.is_active::after {
  content: "ー";
  font-size: 4.375vw;
}

.bl_departments_detailTtl img {
  width: 9.0625vw;
  margin-right: 6.875vw;
}

.bl_departments_detailTtl span {
  font-size: 5vw;
  font-weight: bold;
  color: #464646;
}

.bl_departments_detailContent {
  height: 0;
  overflow: hidden;
  background-color: #fff;
  padding: 0 4.6875vw 0;
}

.bl_departments_detailContent.is_show {
  height: auto;
  padding: 4.0625vw 4.6875vw 3.125vw;
}

.bl_departments_detailTxtBox {
  margin-bottom: 3.75vw;
}
.bl_departments_detailTxtBox dt {
  font-size: 4.0625vw;
  font-weight: bold;
  color: #fff;
  background: #39bcf5;
  border-radius: 0.78125vw;
  text-align: center;
  line-height: 1.0;
  margin-bottom: 1.5625vw;
  padding: 1.71875vw 0;
}
.bl_departments_detailTxtBox dd {
  font-size: 3.4375vw;
}
.bl_departments_detailList {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.bl_departments_detailList li {
  font-size: 3.4375vw;
  line-height: 5.625vw;
  padding-left: 5.3125vw;
  background: url(../img/sp_features_detail_check.png) no-repeat left 1.25vw/4.0625vw 3.75vw;
}
.bl_departments_detailList li:nth-last-child(2) {
  margin-right: 8.125vw;
}
.bl_departments_detailList li span {
  display: inline-block;
  vertical-align: 0.3125vw;
  font-size: 2.96875vw;
  line-height: 1.0;
  border: #464646 solid 0.2vw;
  margin-left: 0.9375vw;
  padding: 0.15625vw 0.78125vw 0.625vw;
}

.bl_departments_detailIntro {
  margin-bottom: 5.9375vw;
}
.bl_departments_detailIntro dt {
  margin-bottom: 2.1875vw;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}
.bl_departments_detailIntro dt img {
  width: 23.4375vw;
  margin-right: 4.0625vw;
}
.bl_departments_detailIntro dt span {
  font-size: 4.0625vw;
  font-weight: bold;
  color: #009de1;
}
.bl_departments_detailIntro dd {
  font-size: 3.4375vw;
}
.bl_departments_detailIntro dd span {
  font-size: 2.8125vw;
}

.bl_pagination {
  flex-wrap: nowrap !important;
  height: 1.563vw !important;
  border-radius: 0.781vw !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.bl_pagination li {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

.is_page {
  background-color: initial !important;
  width: 12.946vw !important;
  height: 1.563vw !important;
  border-radius: 0px !important;
  opacity: 1 !important;
}

.is_page.is-active {
  background-color: #39bcf5 !important;
  height: 1.875vw !important;
  border-radius: 0.781vw !important;
}

.ly_achievements {
  padding: 8.125vw 0 3.59374vw;
}

.bl_achievements_ttl {
  width: 80.46875vw;
  margin: 0.796875vw auto 0;
}

.bl_achievements_img {
  width: 90.625vw;
  margin: 7.96875vw auto 0;
}

.el_achievements_txt {
  display: block;
  width: 90.625vw;
  margin: 5vw auto 2.5vw;
  font-size: 2.813vw;
  line-height: 1.333333;
}

.bl_achievements_support {
  width: 90.625vw;
  margin: 6.78125vw auto 0;
  background-color: #fff;
  border-radius: 4.688vw;
  padding: 3.125vw 4.688vw 4.688vw;
}

.el_achievements_supportTtl {
  margin-top: 5.156vw;
  text-align: center;
  color: #009de1;
  font-size: 4.063vw;
  font-weight: bold;
}

.el_achievements_supportTxt {
  font-size: 3.75vw;
  line-height: 1.4166666;
}

.ly_voice {
  background-color: #39bcf5;
  padding: 12.031vw 0 5.156vw;
}

.bl_voice_ttl {
  width: 79.688vw;
  margin: 0 auto;
}

.bl_voice_list {
  margin-top: 4.063vw;
}

.bl_voice_item {
  width: 90.625vw;
  margin: 0 auto 9.53125vw;
  padding: 4.688vw;
  background-color: #fff;
  border-radius: 4.688vw;
}

.bl_voice_headerArea {
  display: flex;
  padding: 0 4.688vw 0 0;
}

.bl_voice_headerArea img {
  width: 32.813vw;
  height: 32.813vw;
}

.bl_voice_headerRight {
  padding-left: 2.344vw;
}

.el_voice_subject {
  display: inline-block;
  padding: 0.313vw;
  background-color: #f2f2f2;
  border-radius: 2.344vw;
  font-size: 3.125vw;
  font-weight: bold;
}

.bl_voice_name {
  margin-top: 1.25vw;
  font-size: 3.125vw;
  font-weight: bold;
}

.bl_voice_name span {
  font-size: 3.75vw;
  font-weight: bold;
}

.el_voice_headerTxt {
  margin: 0.469vw 0 0;
  color: #009de1;
  font-size: 4.063vw;
  font-weight: bold;
  line-height: 1.307692;
}

.bl_voice_acco {
  height: 0;
  transition: 0.5s ease-in-out;
  overflow: hidden;
}

.bl_voice_acco.is_show {
  height: auto;
  padding-bottom: 7.813vw;
}

.bl_voice_line {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.el_voice_lineTxt {
  color: #39bcf5;
  font-size: 2.188vw;
  letter-spacing: 0.009vw;
}

.el_voice_hr {
  width: 63.438vw;
  height: 0.156vw;
  background-color: #39bcf5;
}

.el_voice_accoSubhead {
  padding-top: 4.844vw;
  font-size: 4.063vw;
  font-weight: bold;
  color: #009de1;
}

.el_voice_accoTxt {
  font-size: 3.75vw;
  line-height: 1.4166666;
  letter-spacing: 0.009vw;
}

.el_voice_btn {
  display: block;
  background: url(../img/sp_voice_open_btn.png)no-repeat center /contain;
  width: 71.875vw;
  height: 9.375vw;
  margin: 3.125vw auto -9.375vw;
}

.el_voice_btn.is_active {
  background: url(../img/sp_voice_close_btn.png)no-repeat center /contain;
}

.ly_charm {
  padding: 9.219vw 0 13.281vw;
}

.bl_charm_ttl {
  width: 95.313vw;
}

.bl_charm_inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 90.625vw;
  margin: 4.21875vw auto 5.78125vw;
}

.bl_charm_card {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 3.125vw 0 0 0;
  padding-top: 1.563vw;
  width: 43.75vw;
  height: 29.688vw;
  background-color: #fff;
  border-radius: 4.688vw;
}

.bl_charm_card img {
  width: 37.5vw;
}

.el_charm_txt {
  margin-top: 3.125vw;
  text-align: center;
  font-size: 3.75vw;
  font-weight: bold;
  line-height: 1.25;
}

.bl_charm_card:nth-child(2n) .el_charm_txt {
  margin-top: 1.094vw;
}

.bl_charm_carfareImg {
  width: 90.625vw;
  margin: 0 auto;
}

.ly_faq {
  width: 90.625vw;
  margin: 16.71875vw auto 19.0625vw;
}

.bl_faq_ttl {
  position: relative;
  width: 90.625vw;
  margin: 0 auto;
  padding: 0.156vw 0 2.344vw;
}

.el_faq_ttl {
  position: relative;
  width: 78.75vw;
  margin: 0 auto;
  z-index: 2;
}

.el_faq_deco {
  position: absolute;
  width: 16.563vw;
  top:-0.781vw;
  right: 1.563vw;
  z-index: 1;
}

.bl_faq_list {
  margin: 3.125vw 0 0;
}

.bl_faq_qArea {
  display: flex;
  align-items: center;
  background-color: #39bcf5;
  border-radius: 3.125vw;
  height: 12.5vw;
  padding: 0 4.688vw 0 3.125vw;
}

.bl_faq_qArea__h100 {
  height: 15.625vw;
}

.bl_faq_qArea.is_active {
  border-radius: 3.125vw 3.125vw 0 0;
}

.bl_faq_q {
  width: 9.375vw;
}

.el_faq_qTxt {
  position: relative;
  width: 75vw;
  padding-left: 1.563vw;
  font-size: 4.063vw;
  font-weight: bold;
  line-height: 1.384615;
  color: #fff;
}

.el_faq_qTxt::before,.el_faq_qTxt::after {
  content: "";
  position: absolute;
  right: 0;
  top: 50%;
  width: 4.688vw;
  height: 0.469vw;
  background-color: #fff;
}

.el_faq_qTxt::before {
  transform: translateY(-50%) rotate(90deg);
}

.bl_faq_qArea.is_active .el_faq_qTxt::before {
  transform: translateY(-50%) rotate(0deg);
}

.bl_faq_aArea {
  height: 0;
  overflow: hidden;
  background-color: #fff;
  border-radius: 0 0 3.125vw 3.125vw;
  padding: 0 4.688vw 0;
}

.bl_faq_aArea.is_show {
  height: auto;
  padding: 4.688vw;
}

.el_faq_aTxt {
  font-size: 4.063vw;
  line-height: 1.5384615;
}

.ly_company {
  margin-bottom: 17.5vw;
}

.bl_company_ttl {
  position: relative;
  width: 81.25vw;
  margin: 0 0 4.688vw 10.313vw;
}

.el_company_ttl {
  position: relative;
  width: 56.563vw;
  margin: 0 auto;
  padding-top: 3.75vw;
  z-index: 2;
}

.el_company_deco {
  position: absolute;
  width: 16.563vw;
  top: 0;
  left: 2.031vw;
  z-index: 1;
}

.bl_company_wrapper {
  width: 90.625vw;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 4.688vw;
  padding: 4.531vw 0 4.219vw;
}

.bl_company_slideWrapper {
  position: relative;
  width: 90.625vw;
  margin: 0 auto;
}

.bl_company_item {
  position: relative;
  width: 81.25vw;
  margin: 0 auto;
}

.el_company_splideTxt {
  position: absolute;
  background-color: #464646;
  color: #fff;
  left: 3.125vw;
  bottom: 3.125vw;
  padding: 0.625vw 0.938vw;
  font-size: 3.125vw;
  font-weight: bold;
  z-index: 2;
}

.el_companySplide_prev {
  background: url(../img/sp_company_arrow.png)no-repeat center / cover !important;
  width: 7.5vw !important;
  height: 7.5vw !important;
  left: 1.094vw !important;
  opacity: 1 !important;
}

.el_companySplide_next {
  background: url(../img/sp_company_arrow.png)no-repeat center / cover !important;
  width: 7.5vw !important;
  height: 7.5vw !important;
  right: 1.094vw !important;
  transform: rotate(180deg) translateY(50%) !important;
  opacity: 1 !important;
}

.bl_company_pagination {
  width: 81.25vw !important;
  background-color: #f2f2f2 !important;
  bottom: -4.687vw !important;
}

.bl_company_pagination .is_page {
  width: 9.027vw !important;
}


.bl_company_inner {
  width: 81.25vw;
  margin: 11.25vw auto 5.3125vw;
  padding-left: 4.688vw;
}

.bl_company_logo {
  width: 61.563vw;
  margin: 0 0 7.5vw 0.938vw;
}

.bl_company_inner dl {
  display: flex;
  margin-bottom: 2.656vw;
}

.bl_company_inner dt,
.bl_company_inner dd {
  font-size: 3.438vw;
}

.bl_company_inner dt {
  width: 18.125vw;
  text-align: right;
}

.bl_company_inner dd {
  margin-left: 5.781vw;
}

.ly_footer {
  margin-top: 13.594vw;
  height: 7.813vw;
  background-color: #464646;
}

.el_footer_txt {
  padding-top: 2.031vw;
  text-align: center;
  font-size: 2.813vw;
  color: #fff;
}
