.c-alt {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
}

.c-btn_xxs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #a2a9b8;
  font-size: 1.2rem;
  letter-spacing: .06em;
}

.c-btn_xxs:hover .c-btn_xs_txt::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.c-btn_xxs:visited {
  color: #a2a9b8;
}

.c-btn_xxs .c-btn_arrow {
  width: 1.4rem;
  height: 1.4rem;
  margin-right: 1.5rem;
  background: #282e3c;
}

.c-btn_xxs .c-btn_arrow_icn {
  width: .4rem;
  height: .7rem;
}

.c-btn_xxs .c-btn_xs_txt::before {
  background: #a2a9b8;
}

.c-btn_xs {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.4rem;
  letter-spacing: .06em;
}

.c-btn_xs_txt {
  position: relative;
  margin-top: -.1rem;
}

.c-btn_xs_txt::before {
  position: absolute;
  bottom: -.2rem;
  left: 0;
  width: 100%;
  height: .1rem;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  background: #333;
  content: "";
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_xs:hover .c-btn_xs_txt::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.c-btn_xs:visited {
  color: inherit;
}

.c-btn_xs.is-gray .c-btn_arrow {
  width: 1.4rem;
  height: 1.4rem;
  margin-right: 1.5rem;
  background: #737373;
}

.c-btn_xs.is-gray .c-btn_arrow_icn {
  width: .4rem;
  height: .6rem;
}

.c-btn_s {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  color: #083090;
  letter-spacing: .06em;
}

.c-btn_s_txt {
  position: relative;
}

.c-btn_s_txt::before {
  position: absolute;
  bottom: -.2rem;
  left: 0;
  width: 100%;
  height: .1rem;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
  background: #083090;
  content: "";
  -webkit-transition: -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94), -webkit-transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_s:hover .c-btn_s_txt::before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transform-origin: left;
  transform-origin: left;
}

.c-btn_s:visited {
  color: #083090;
}

.c-btn_s.is-red .c-btn_arrow {
  margin-right: 1.5rem;
  background: #c11b2f;
}

.c-btn_m {
  display: block;
  position: relative;
  width: 100%;
  max-width: 43rem;
  height: 6rem;
  border-radius: .3rem;
  line-height: 6rem;
  text-align: center;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_m:hover {
  opacity: .7;
}

.c-btn_m:visited {
  color: inherit;
}

.c-btn_m .c-btn_arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.c-btn_m.is-red {
  background: #c11b2f;
  -webkit-box-shadow: 0 .3rem 0 0 #9e091b;
  box-shadow: 0 .3rem 0 0 #9e091b;
  color: #fff;
}

.c-btn_m.is-red .c-btn_arrow {
  background: #fff;
}

.c-btn_m.is-blue {
  background: #0b57b2;
  -webkit-box-shadow: 0 .3rem 0 0 #004292;
  box-shadow: 0 .3rem 0 0 #004292;
  color: #fff;
}

.c-btn_m.is-blue .c-btn_arrow {
  background: #fff;
}

.c-btn_m.is-white {
  background: #fff;
  -webkit-box-shadow: 0 .3rem 0 0 #c9ccd2;
  box-shadow: 0 .3rem 0 0 #c9ccd2;
  color: #083090;
}

.c-btn_m.is-white .c-btn_arrow {
  background: #c11b2f;
}

.c-btn_chara {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 43rem;
  height: 10rem;
  padding: 0 3.8rem 0 14.2rem;
  border-radius: .3rem;
  background: #fff;
  -webkit-box-shadow: 0 .3rem 0 0 #c9ccd2;
  box-shadow: 0 .3rem 0 0 #c9ccd2;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_chara:hover {
  opacity: .7;
}

.c-btn_chara:visited {
  color: inherit;
}

.c-btn_chara_img {
  position: absolute;
  top: -1rem;
  left: -3rem;
  width: 17.2rem;
}

.c-btn_chara_txt {
  width: 100%;
  color: #083090;
  font-weight: 600;
  line-height: 1.3125;
}

.c-btn_chara .c-btn_arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #c11b2f;
}

.c-btn_on_txt {
  display: block;
  position: relative;
  width: 43rem;
  height: 10rem;
  margin: 0 auto;
  border-radius: .3rem;
  background: #fff;
  -webkit-box-shadow: 0 .3rem 0 0 #c9ccd2;
  box-shadow: 0 .3rem 0 0 #c9ccd2;
  color: #083090;
  font-weight: 600;
  line-height: 10rem;
  text-align: center;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_on_txt:hover {
  opacity: .7;
}

.c-btn_on_txt:visited {
  color: inherit;
}

.c-btn_on_txt_item {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  width: 34rem;
  height: 3rem;
  margin: 0 auto;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  border-radius: 3rem;
  background: #ffde00;
  color: #083090;
  font-size: 1.4rem;
  letter-spacing: .06em;
  line-height: 3rem;
  text-align: center;
}

.c-btn_on_txt .c-btn_arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #c11b2f;
}

.c-btn_line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 45rem;
  height: 6rem;
  border-radius: .3rem;
  background: #00b800;
  -webkit-box-shadow: 0 .3rem 0 0 #008e00;
  box-shadow: 0 .3rem 0 0 #008e00;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 6rem;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_line:hover {
  opacity: .7;
}

.c-btn_line:visited {
  color: inherit;
}

.c-btn_line_icn {
  width: 3.1rem;
  margin-right: 1.5rem;
}

.c-btn_twitter {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 45rem;
  height: 4.5rem;
  border-radius: .3rem;
  background: #00acee;
  -webkit-box-shadow: 0 .3rem 0 0 #008abf;
  box-shadow: 0 .3rem 0 0 #008abf;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 4.5rem;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_twitter:hover {
  opacity: .7;
}

.c-btn_twitter:visited {
  color: inherit;
}

.c-btn_twitter_icn {
  width: 1.8rem;
  margin-right: .9rem;
}

.c-btn_facebook {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  max-width: 45rem;
  height: 4.5rem;
  border-radius: .3rem;
  background: #3b5998;
  -webkit-box-shadow: 0 .3rem 0 0 #004292;
  box-shadow: 0 .3rem 0 0 #004292;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 4.5rem;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_facebook:hover {
  opacity: .7;
}

.c-btn_facebook:visited {
  color: inherit;
}

.c-btn_facebook_icn {
  width: .9rem;
  margin-right: 1.3rem;
}

.c-btn_none_arrow {
  display: block;
  max-width: 45rem;
  height: 6rem;
  border-radius: .3rem;
  font-size: 1.6rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 6rem;
  text-align: center;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_none_arrow:hover {
  opacity: .7;
}

.c-btn_none_arrow:visited {
  color: inherit;
}

.c-btn_none_arrow.is-red {
  background: #c11b2f;
  -webkit-box-shadow: 0 .3rem 0 0 #9e091b;
  box-shadow: 0 .3rem 0 0 #9e091b;
  color: #fff;
}

.c-btn_header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 23rem;
  height: 5.5rem;
  padding: 0 5rem;
  border-radius: .3rem;
  background: #c11b2f;
  -webkit-box-shadow: 0 .3rem 0 0 #9e091b;
  box-shadow: 0 .3rem 0 0 #9e091b;
  text-align: center;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-btn_header:hover {
  opacity: .7;
}

.c-btn_header:visited {
  color: inherit;
}

.c-btn_header_txt {
  width: 100%;
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: .06em;
  line-height: 1.28571;
}

.c-btn_header .c-btn_arrow {
  position: absolute;
  top: 50%;
  right: 2rem;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #fff;
}

.c-btn_header .c-btn_arrow_icn {
  width: .4rem;
  height: .6rem;
}

.c-btn_arrow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 1.8rem;
  height: 1.8rem;
  border-radius: 50%;
}

.c-btn_arrow_icn {
  width: .5rem;
  height: .8rem;
  margin-left: .1rem;
}

.c-ttl_lv1 {
  height: 34rem;
  padding-top: 11.5rem;
  background: url(../../img/common/c-ttl_lv1_bg_pc.png) no-repeat;
  background-position: center;
  background-size: 160.8rem;
  color: #083090;
  font-size: 4.4rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-align: center;
}

.c-ttl_lv1_sub {
  display: block;
  position: relative;
  padding-top: 5.7rem;
  font-family: "Barlow",sans-serif;
  font-size: 1.4rem;
  letter-spacing: .08em;
}

.c-ttl_lv1_sub::before {
  position: absolute;
  top: 2rem;
  right: 0;
  left: 0;
  width: 1.5rem;
  height: 1.7rem;
  margin: 0 auto;
  background: url(../../img/common/c-ttl_num_corrent.svg) no-repeat;
  content: "";
}

.c-ttl_lv2 {
  color: #083090;
  font-size: 3.4rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.35294;
}

.c-ttl_lv3 {
  color: #083090;
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.44;
}

.c-ttl_lv4 {
  color: #083090;
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.61111;
}

.c-ttl_num {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: 3.7rem;
  color: #083090;
  font-size: 2.5rem;
  font-weight: 600;
  letter-spacing: .08em;
  line-height: 1.44;
}

.c-ttl_num_current {
  position: absolute;
  top: .2rem;
  left: 0;
  width: 2.7rem;
  height: 3.1rem;
  margin-right: 2.5rem;
  background: url(../../img/common/c-ttl_num_corrent.svg) no-repeat;
  color: #fff;
  font-family: "Barlow",sans-serif;
  font-size: 1.7rem;
  font-weight: 600;
  letter-spacing: -.1em;
  line-height: 3.1rem;
  text-align: center;
}

.c-txt_xs {
  font-size: 1.1rem;
  letter-spacing: .06em;
  line-height: 1.81818;
}

.c-txt_s {
  font-size: 1.4rem;
  letter-spacing: .06em;
  line-height: 2;
}

.c-txt_m {
  letter-spacing: .06em;
  line-height: 1.75;
}

.c-txt_l {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 1.72222;
}

.c-txt_link {
  color: #083090;
}

.c-txt_link:hover {
  text-decoration: underline;
}

.c-tag_s {
  display: block;
  width: 12rem;
  height: 2.4rem;
  border: 0.1rem solid #0b57b2;
  border-radius: 1.4rem;
  color: #0b57b2;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 2.2rem;
  text-align: center;
}

.c-tag_s.is-end {
  border: none;
  background: #9e9e9e;
  color: #fff;
}

.c-tag_m {
  display: block;
  width: 18.4rem;
  height: 2.7rem;
  border: 0.1rem solid #0b57b2;
  border-radius: 1.4rem;
  color: #0b57b2;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 2.5rem;
  text-align: center;
}

.c-tag_m.is-end {
  border: none;
  background: #9e9e9e;
  color: #fff;
}

.c-time {
  color: #0b57b2;
  font-family: "Barlow",sans-serif;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .08em;
}

.c-pagetop {
  position: fixed;
  right: 3rem;
  bottom: 3rem;
  width: 5.3rem;
  opacity: 0;
  -webkit-transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  transition: opacity 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.c-pagetop:hover {
  opacity: .7;
}

.c-pagetop:visited {
  color: inherit;
}

.c-required {
  display: block;
  width: 4.5rem;
  height: 2.3rem;
  border: 0.1rem solid #c11b2f;
  border-radius: .2rem;
  color: #c11b2f;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: .06em;
  line-height: 2.1rem;
  text-align: center;
}

.c-error {
  display: block;
  padding-top: 1.1rem;
  color: #c11b2f;
  font-size: 1.1rem;
  letter-spacing: 0.08em;
}

.c-list {
  position: relative;
  margin-bottom: 1rem;
  padding-left: 2rem;
  letter-spacing: .08em;
  line-height: 1.75;
}

.c-list:last-of-type {
  margin-bottom: 0;
}

.c-list::before {
  position: absolute;
  top: 1.2rem;
  left: 0;
  width: .5rem;
  height: .5rem;
  border-radius: 50%;
  background: #0b57b2;
  content: "";
}

.c-list_num {
  margin-bottom: 1.5rem;
  letter-spacing: .08em;
  line-height: 1.75;
}

.c-list_num:last-of-type {
  margin-bottom: 0;
}

.c-list_num::marker {
  color: #083090;
  font-family: "Barlow",sans-serif;
  letter-spacing: .08em;
}

.c-list_num_wrapper {
  padding-left: 2rem;
  list-style-type: decimal;
}

.c-noscroll {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.c-noclick {
  pointer-events: none;
}

@media screen and (max-width: 47.9375em) {
  .c-btn_xs:hover .c-btn_xs_txt::before {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
  }
  .c-btn_m:hover {
    opacity: 1;
  }
  .c-btn_chara:hover {
    opacity: 1;
  }
  .c-btn_chara {
    width: 100%;
    max-width: 33rem;
    height: 9rem;
    padding: 0 3.3rem 0 12.3rem;
  }
  .c-btn_chara_img {
    top: auto;
    bottom: 0;
    left: -1.5rem;
    width: 13.8rem;
  }
  .c-btn_chara_txt {
    font-size: 1.6rem;
  }
  .c-btn_chara .c-btn_arrow {
    right: 1.5rem;
  }
  .c-btn_on_txt:hover {
    opacity: 1;
  }
  .c-btn_on_txt {
    width: 100%;
    max-width: 34.5rem;
    height: 9rem;
    font-size: 1.6rem;
    line-height: 9rem;
  }
  .c-btn_on_txt_item {
    width: 31rem;
  }
  .c-btn_line:hover {
    opacity: 1;
  }
  .c-btn_twitter:hover {
    opacity: 1;
  }
  .c-btn_facebook:hover {
    opacity: 1;
  }
  .c-btn_none_arrow:hover {
    opacity: 1;
  }
  .c-btn_header:hover {
    opacity: 1;
  }
  .c-btn_header {
    width: 16rem;
    height: 4rem;
    padding: 0 2.5rem;
  }
  .c-btn_header_txt {
    font-size: 1.1rem;
    line-height: 1.18182;
  }
  .c-btn_header .c-btn_arrow {
    right: 1rem;
    width: 1.3rem;
    height: 1.3rem;
  }
  .c-ttl_lv1 {
    height: 24rem;
    padding: 5rem 1.5rem 0;
    background: url(../../img/common/c-ttl_lv1_bg_sp.png) no-repeat;
    background-position: center;
    background-size: 76.7rem;
    font-size: 3.4rem;
    line-height: 1.29412;
  }
  .c-ttl_lv1_sub {
    padding-top: 5rem;
  }
  .c-ttl_lv1_sub::before {
    top: 1.6rem;
  }
  .c-ttl_lv2 {
    font-size: 3.2rem;
    line-height: 1.34375;
  }
  .c-ttl_lv3 {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .c-ttl_num {
    font-size: 2.2rem;
    line-height: 1.5;
  }
  .c-ttl_num_current {
    width: 2.5rem;
    height: 2.9rem;
    margin-right: 1.2rem;
    line-height: 2.9rem;
  }
  .c-txt_xs {
    line-height: 1.63636;
  }
  .c-txt_l {
    font-size: 1.6rem;
  }
  .c-pagetop:hover {
    opacity: 1;
  }
  .c-pagetop {
    right: 1.5rem;
    width: 4.3rem;
  }
}

