@charset "UTF-8";
#wrapper {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  overflow-x: hidden;
  container-type: inline-size;
  container-name: wrapper;
}

@media screen and (min-width: 500px) {
  #wrapper {
    width: 50%;
    max-width: 500px;
  }
}

/*==============header=================*/
#header {
  background: #fff;
}

#header .headerInner {
  padding: 0 30px;
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}

@container wrapper (max-width: 480px) {
  #header .headerInner {
    padding: 0 15px;
  }
}

#header .headerInner #logo {
  padding: 20px 0;
}

#header .headerInner #logo img {
  width: 170px;
  vertical-align: top;
  -webkit-transition-duration: .25s;
          transition-duration: .25s;
}

@container wrapper (max-width: 580px) {
  #header .headerInner #logo img {
    width: 120px;
  }
}

@container wrapper (max-width: 480px) {
  #header .headerInner #logo img {
    width: 100px;
  }
}

#header .headerInner #logo img:hover {
  opacity: .6;
}

#header p {
  position: absolute;
  right: 30px;
  top: 0;
  bottom: 0;
  margin: 0 auto;
  font-weight: 700;
  font-size: 1.8rem;
  color: #000;
  display: flex;
  align-items: anchor-center;
}

@container wrapper (max-width: 580px) {
  #header p {
    font-size: 1.6rem;
  }
}

@container wrapper (max-width: 480px) {
  #header p {
    right: 15px;
    font-size: 1.67vw;
  }
}

@media screen and (max-width: 499px) {
  #header p {
    right: 3.333vw;
    font-size: 3.077vw;
  }
}

#header p span {
  color: #fc3601;
}

/*==============KV=================*/
.kv {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 133.333333%;
  background: url(../img/kv_sp.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_02 {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_02.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


/* .kv_new {
  aspect-ratio: 125 / 131;
} */
.kv_cta {
  background-image: linear-gradient(90deg, #140b56, #002d97 50%, #140b56);
  padding: 38px 25px 18px;
}

.kv_cta .kv_cta_inner {
  position: relative;
}

.kv_cta .kv_cta_inner::after {
  content: '';
  display: block;
  position: absolute;
  top: -18px;
  left: 0;
  right: 0;
  margin: 0 auto;
  width: 116px;
  height: 33px;
  background-image: url(../img/cta-dc.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 10;
  transition: all .45s;
}

.kv_cta .kv_cta_inner:hover::after {
  transform: translate(0, -5px);
}

.kv_cta a {
  position: relative;
  display: inline-block;
  overflow: hidden;
  transition: all .45s;
}

.kv_cta .kv_cta_inner:hover a {
  transform: translate(0, -5px);
}

.kv_cta a::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #ffa54b;
  animation: shiny 3s ease-in-out -2s infinite;
  pointer-events: none;
  z-index: 2;
}

.kv_cta a img {
  display: block;
}

@keyframes shiny {
  0% {
    transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    transform: scale(0) rotate(45deg);
    opacity: 0.3;
  }
  81% {
    transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@-webkit-keyframes shiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.3;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

/*==============コピー=================*/
.move {
  margin-bottom: 30px;
}

.copy {
  position: absolute;
  top: 12%;
  left: 5.6%;
}




/* コピー背景animation */
@-webkit-keyframes passing-bar {
  0% {
    left: 0;
    right: auto;
    width: 0;
  }
  50% {
    left: 0;
    right: auto;
    width: 100%;
  }
  51% {
    left: 0;
    right: auto;
    width: 100%;
  }
  100% {
    left: 0;
    right: auto;
    width: 100%;
  }
}

@keyframes passing-bar {
  0% {
    left: 0;
    width: 0;
  }
  50% {
    left: 0;
    width: 100%;
  }
  51% {
    left: 0;
    width: 100%;
  }
  100% {
    left: 0;
    width: 100%;
  }
}

@-webkit-keyframes passing-txt {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes passing-txt {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

/* コピー背景css */
.passing .passing-box {
  display: block;
  text-align: left;
}

.passing .passing-bar {
  position: relative;
  display: inline-block;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  z-index: 0;
}

.passing .passing-bar:before {
  content: '';
  display: inline-block;
  width: 0;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  background: #160c40;
  background-image: url(../img/sp_catch_bg.jpg);
  background-repeat: no-repeat;
  background-position: left;
  background-size: cover;
}

.passing .passing-txt {
  position: relative;
  opacity: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  font-size: 4rem;
  font-weight: 700;
  color: #fff;
  line-height: 4.5rem;
  letter-spacing: .15em;
  z-index: 10;
  padding-left: 5px;
}

@container wrapper (max-width: 680px) {
  .passing .passing-txt {
    font-size: 4rem;
    line-height: 4.5rem;
  }
}

@container wrapper (max-width: 580px) {
  .passing .passing-txt {
    font-size: 3.5rem;
    line-height: 4rem;
  }
}

@container wrapper (max-width: 480px) {
  .passing .passing-txt {
    font-size: 3rem;
    line-height: 3.5rem;
  }
}

@container wrapper (max-width: 374px) {
  .passing .passing-txt {
    font-size: 2.5rem;
    line-height: 3rem;
  }
}




@container wrapper (max-width: 480px) {
  .passing.move.txt02,
  .passing.move.txt03 {
    margin-top: -1rem;
  }
}

.passing.move .passing-bar:before {
  -webkit-animation: passing-bar 1s ease 0s 1 normal forwards;
  animation: passing-bar 1s ease 0s 1 normal forwards;
}

.passing.move .passing-txt {
  -webkit-animation: passing-txt .5s ease .2s 1 normal forwards;
  animation: passing-txt .5s ease .2s 1 normal forwards;
}

.passing-txt span {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

/*==============ボタン=================*/
a.btn_link {
  display: block;
  width: 100%;
  position: relative;
  background-color: #ff6d00;
  border-radius: 5px;
  color: #fff;
  text-align: center;
  overflow: hidden;
  height: 70px;
  line-height: 70px;
  font-weight: 700;
  letter-spacing: .12em;
  z-index: 0;
  -webkit-box-shadow: 0px 8px 5px 0 rgba(22, 12, 64, 0.2);
          box-shadow: 0px 8px 5px 0 rgba(22, 12, 64, 0.2);
}

@container wrapper (max-width: 374px) {
  a.btn_link {
    height: 60px;
    line-height: 60px;
  }
}


.btn_wrap .icon {
  position: relative;
  width: 70%;
  max-width: 400px;
  margin: 0 auto;
}

@container wrapper (max-width: 480px) {
  .btn_wrap .icon {
    width: 80%;
  }
}

@container wrapper (max-width: 374px) {
  .btn_wrap .icon {
    width: 85%;
  }
}

.btn_wrap .wrap {
  width: 100%;
  -webkit-transition: all .45s;
  transition: all .45s;
}

.btn_wrap .wrap:hover {
  -webkit-transform: translate(0, -5px);
          transform: translate(0, -5px);
}

a.btn_link::before {
  position: absolute;
  content: '';
  display: inline-block;
  top: -180px;
  left: 0;
  width: 30px;
  height: 100%;
  background-color: #ffa54b;
  -webkit-animation: shiny 3s ease-in-out -2s infinite;
          animation: shiny 3s ease-in-out -2s infinite;
}

@keyframes shiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
            transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
            transform: scale(0) rotate(45deg);
    opacity: 0.3;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
            transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
            transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}

@-webkit-keyframes shiny {
  0% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0;
  }
  80% {
    -webkit-transform: scale(0) rotate(45deg);
    opacity: 0.3;
  }
  81% {
    -webkit-transform: scale(4) rotate(45deg);
    opacity: 1;
  }
  100% {
    -webkit-transform: scale(50) rotate(45deg);
    opacity: 0;
  }
}






.btn_wrap {
  position: relative;
  width: 100%;
}

.kv .btn_wrap .icon::before {
  content: '';
  display: block;
  position: absolute;
  top: -77px;
  left: -7%;
  width: 100px;
  height: 100px;
  background-image: url(../img/sp_1m_top.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@container wrapper (max-width: 480px) {
  .kv .btn_wrap .icon::before {
    width: 80px;
    height: 80px;
    top: -61px;
    left: -5%;
  }
}


.kv .btn_wrap {
  position: absolute;
  bottom: 20%;
}

@container wrapper (max-width: 480px) {
  .kv .btn_wrap {
    bottom: 10%;
  }
}

@container wrapper (max-width: 374px) {
  .kv .btn_wrap {
    bottom: 8%;
  }
}





i {
  padding-left: 10px;
  font-size: 2.2rem;
  position: relative;
  top: 2px;
}

@container wrapper (max-width: 374px) {
  i {
    font-size: 2rem;
    top: 3px;
  }
}

.btn {
  position: relative;
  z-index: 1;
  font-size: 2rem;
}

@container wrapper (max-width: 580px) {
  .btn {
    font-size: 1.8rem;
  }
}

@container wrapper (max-width: 480px) {
  .btn {
    font-size: 1.6rem;
  }
}

@container wrapper (max-width: 374px) {
  .btn {
    font-size: 1.4rem;
  }
}



/*==============イントロ=================*/
.sec_intro {
  background: #f2f2f2;
}

.intro {
  text-align: center;
  font-size: 2.6rem;
  color: #160c40;
  font-weight: 700;
  margin-bottom: 30px;
}

@container wrapper (max-width: 480px) {
  .intro {
    font-size: 2rem;
  }
}



/* loop */
.loop {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 150px;
  left: 0;
  margin-left: 0;
  overflow: hidden;
  background: #fff;
}

@container wrapper (max-width: 480px) {
  .loop {
    height: 100px;
  }
}

.loop img {
  width: auto;
  height: 100%;
}


  .loop02.sp_none {
    display: none;
  }


.intro_inr {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.intro_inr h2 {
  color: #160c40;
  font-weight: 700;
  font-size: 3.5rem;
  line-height: 4rem;
  z-index: 10;
  margin: 70px 0 30px 0;
}

@container wrapper (max-width: 480px) {
  .intro_inr h2 {
    font-size: 2.7rem;
    line-height: 3.2rem;
  }
}

@container wrapper (max-width: 374px) {
  .intro_inr h2 {
    font-size: 2.4rem;
    line-height: 2.9rem;
  }
}

.intro_inr h2 span.mark {
  position: relative;
  display: inline-block;
  color: #fff;
  z-index: 1;
  padding: 0 10px;
  margin-top: 10px;
  margin-right: 5px;
}

.intro_inr h2 span.mark::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #160c40;
  z-index: -1;
}

.intro_inr h2 .sp_margin {
  display: inline-block;
  margin-top: 10px;
}

.intro_inr .txt {
  color: #160c40;
  margin-top: 10px;
}

@container wrapper (max-width: 480px) {
  .intro_inr .txt {
    font-size: 1.4rem;
  }
}

/*==============選ばれる理由=================*/
.sec_01 {
  background: #f2f2f2;
  padding-top: 70px;
}


.sec_01_ttl {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  background: #160c40;
  background-image: url(../img/sp_bg_sec.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  text-align: center;
}

.sec_01_ttl h3 {
  padding: 15px 0;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
}

@container wrapper (max-width: 480px) {
  .sec_01_ttl h3 {
    font-size: 1.7rem;
  }
}


.sec_01_ttl h3 span {
  position: relative;
  color: #ede486;
  font-size: 130%;
  padding-right: 5px;
  margin: 0 5px;
}

.sec_01_ttl h3 span::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #ff6d00;
}

@container wrapper (max-width: 480px) {
  .sec_01_ttl h3 span::after {
    bottom: 2px;
  }
}

.sec_01_inr01 {
  position: relative;
  width: 90%;
  margin: 0 auto 20px;
  text-align: center;
  color: #160c40;
}


.sec_01_inr01 .wrap {
  max-width: 1140px;
  margin: 0 auto;
}


.sec_01_inr01::after {
  content: '';
  position: absolute;
  bottom: -120px;
  left: -5%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 100px 50% 0 50%;
  border-color: #f2f2f2 transparent transparent transparent;
}

@container wrapper (max-width: 374px) {
  .sec_01_inr01::after {
    bottom: -70px;
    border-width: 50px 50% 0 50%;
  }
}




.sec_01_1 h4,
.sec_01_2 h4,
.sec_01_3 h4 {
  position: relative;
  font-size: 2.2rem;
  font-weight: 700;
  margin: 90px 0 20px 0;
  z-index: 10;
}

@container wrapper (max-width: 374px) {
  .sec_01_1 h4,
  .sec_01_2 h4,
  .sec_01_3 h4 {
    font-size: 2rem;
  }
}


.sec_01_1 h4::before,
.sec_01_2 h4::before,
.sec_01_3 h4::before {
  content: '';
  display: block;
  position: absolute;
  top: -50px;
  width: 70px;
  height: 70px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  left: calc(50% - 35px);
}

.sec_01_1 {
  margin-bottom: 50px;
}

.sec_01_1 h4::before {
  background-image: url(../img/sp_icon_01.png);
  z-index: -1;
}

.sec_01_1 .attention {
  position: absolute;
  right: 0;
  margin-top: 30px;
  display: inline-block;
  font-size: 80%;
}

@container wrapper (max-width: 480px) {
  .sec_01_1 .attention {
    font-size: 70%;
  }
}


.sec_01_1 .txt {
  position: relative;
  display: inline-block;
}

@container wrapper (max-width: 480px) {
  .sec_01_1 .txt {
    font-size: 1.4rem;
  }
}


.sec_01_2 {
  margin-bottom: 50px;
}

.sec_01_2 h4 {
  margin-top: 140px;
}


.sec_01_2 h4::before {
  background-image: url(../img/sp_icon_02.png);
  z-index: -1;
}

.func_wrap {
  display: table;
  width: 100%;
  border-collapse: separate;
  border-spacing: 10px 0;
}



.func_01,
.func_02,
.func_03 {
  display: table-cell;
  background: #fff;
  padding: 15px;
}

@container wrapper (max-width: 480px) {
  .func_01,
  .func_02,
  .func_03 {
    padding: 10px 5px;
  }
}



.func_01 h5,
.func_02 h5,
.func_03 h5 {
  background: #160c40;
  color: #fff;
  width: 100%;
  max-width: 100px;
  margin: 0 auto;
  white-space: nowrap;
}

@container wrapper (max-width: 480px) {
  .func_01 h5,
  .func_02 h5,
  .func_03 h5 {
    width: 90%;
    font-size: 1.4rem;
  }
}

@container wrapper (max-width: 374px) {
  .func_01 h5,
  .func_02 h5,
  .func_03 h5 {
    width: 90%;
    font-size: 1.2rem;
  }
}




.func_01 .img_wrap,
.func_02 .img_wrap,
.func_03 .img_wrap {
  width: 70%;
  margin: 15px auto;
}

@container wrapper (max-width: 480px) {
  .func_01 .img_wrap,
  .func_02 .img_wrap,
  .func_03 .img_wrap {
    margin: 8px auto;
  }
}



.func_01 p,
.func_02 p,
.func_03 p {
  font-size: 80%;
  line-height: 1.2;
}

@container wrapper (max-width: 480px) {
  .func_01 p,
  .func_02 p,
  .func_03 p {
    font-size: 70%;
  }
}



.sec_01_3 h4 {
  margin-top: 120px;
}


.sec_01_3 h4::before {
  background-image: url(../img/sp_icon_03.png);
  z-index: -1;
}

.sec_01_3 .txt {
  line-height: 1.8;
}

@container wrapper (max-width: 480px) {
  .sec_01_3 .txt {
    font-size: 1.4rem;
  }
}

/*==============だから選ばれました=================*/
.sec_01_inr02 {
  padding-top: 130px;
  background: #fff;
  text-align: center;
}

@container wrapper (max-width: 374px) {
  .sec_01_inr02 {
    padding-top: 70px;
  }
}


.sec_01_inr02 .reason {
  position: relative;
  display: inline;
  font-weight: 700;
  letter-spacing: .15em;
  color: #160c40;
}

@container wrapper (max-width: 374px) {
  .sec_01_inr02 .reason {
    font-size: 1.4rem;
  }
}


.sec_01_inr02 .reason::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 10px;
  display: block;
  width: 1px;
  height: 120%;
  background-color: #160c40;
  -webkit-transform: rotate(-30deg) translateX(-20px);
          transform: rotate(-30deg) translateX(-20px);
}

.sec_01_inr02 .reason::after {
  content: '';
  position: absolute;
  bottom: 10px;
  right: 0;
  display: block;
  width: 1px;
  height: 120%;
  background-color: #160c40;
  -webkit-transform: rotate(30deg) translateX(20px);
          transform: rotate(30deg) translateX(20px);
}

.sec_01_inr02 h3 {
  position: relative;
  color: #160c40;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: .15em;
  text-align: center;
  z-index: 1;
  margin: -15px auto 30px;
}

@container wrapper (max-width: 480px) {
  .sec_01_inr02 h3 {
    font-size: 2rem;
    margin: -10px auto 30px;
  }
}

@container wrapper (max-width: 374px) {
  .sec_01_inr02 h3 {
    font-size: 1.8rem;
    margin: 0 auto 30px;
  }
}


.sec_01_inr02 h3::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 13px;
  left: 0;
  width: 100%;
  height: 40px;
  background-image: url(../img/sp_bg_4crowns.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  z-index: -1;
}

@container wrapper (max-width: 480px) {
  .sec_01_inr02 h3::after {
    height: 32px;
    bottom: 11px;
  }
}

@container wrapper (max-width: 374px) {
  .sec_01_inr02 h3::after {
    height: 29px;
    bottom: 11px;
  }
}


.sec_01_inr02 h3 span {
  font-size: 200%;
  font-family: 'Quattrocento', serif;
}

.sec_01_inr02 .txt {
  width: 80%;
  margin: 0 auto;
  text-align: left;
  color: #160c40;
}

@container wrapper (max-width: 480px) {
  .sec_01_inr02 .txt {
    font-size: 1.4rem;
  }
}


.crowns_wrap {
  position: relative;
  width: 100%;
  background: #fff;
  padding-top: 50px;
  text-align: center;
  padding-bottom: 180px;
}

@container wrapper (max-width: 480px) {
  .crowns_wrap {
    padding-bottom: 100px;
  }
}



.crowns_wrap img {
  position: relative;
  width: 40%;
  margin: 1.5% 3%;
  z-index: 1;
}

@container wrapper (max-width: 374px) {
  .crowns_wrap img {
    width: 45%;
    margin: 1%;
  }
}


.bg_crowns {
  position: absolute;
  top: 150px;
  background-color: #160c40;
  background-image: url(../img/sp_bg_medal.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  width: 100%;
  height: 450px;
  -webkit-transform: skewY(-13deg);
          transform: skewY(-13deg);
}

@container wrapper (max-width: 580px) {
  .bg_crowns {
    height: 380px;
  }
}

@container wrapper (max-width: 480px) {
  .bg_crowns {
    top: 100px;
    height: 300px;
  }
}

@container wrapper (max-width: 374px) {
  .bg_crowns {
    height: 270px;
  }
}




.sec_01 .btn_wrap {
  position: relative;
  background: #fff;
  padding-bottom: 100px;
}

.sec_01 .btn_wrap .icon::before {
  content: '';
  display: block;
  position: absolute;
  top: -77px;
  right: -5%;
  width: 100px;
  height: 100px;
  background-image: url(../img/sp_1m_02.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@container wrapper (max-width: 480px) {
  .sec_01 .btn_wrap .icon::before {
    width: 80px;
    height: 80px;
    top: -61px;
    right: -5%;
  }
}


/*==============3つの特徴=================*/
.sec_02 {
  background: #fdfadb;
  padding: 60px 0 100px;
}

.sec_02_ttl {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  background: #160c40;
  background-image: url(../img/sp_bg_sec.png);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
  text-align: center;
}

.sec_02_ttl h3 {
  padding: 15px 0;
  font-size: 2.2rem;
  color: #fff;
  font-weight: 500;
  line-height: 1.4;
}

@container wrapper (max-width: 480px) {
  .sec_02_ttl h3 {
    font-size: 1.7rem;
  }
}


.sec_02_ttl h3 span {
  position: relative;
  color: #ede486;
  font-size: 130%;
  padding-right: 5px;
}

.sec_02_ttl h3 span::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background: #ff6d00;
}

@container wrapper (max-width: 480px) {
  .sec_02_ttl h3 span::after {
    bottom: 2px;
  }
}

.re_wrap {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
}



.re_01,
.re_02,
.re_03 {
  margin-top: 8%;
  background: #fff;
  text-align: center;
}


.re_01 .re_top,
.re_02 .re_top,
.re_03 .re_top {
  width: 90%;
  margin: 0 auto;
  padding: 5% 0 3%;
}


.re_01 .point,
.re_02 .point,
.re_03 .point {
  width: 60%;
  max-width: 150px;
}

.re_01 h4,
.re_02 h4,
.re_03 h4 {
  margin-top: 5px;
  font-size: 120%;
  color: #160c40;
}

@container wrapper (max-width: 480px) {
  .re_01 h4,
  .re_02 h4,
  .re_03 h4 {
    font-size: 100%;
  }
}



.re_01 h4 span,
.re_02 h4 span,
.re_03 h4 span {
  position: relative;
}

.re_01 h4 span::after,
.re_02 h4 span::after,
.re_03 h4 span::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 1px;
  left: 0;
  width: 100%;
  height: 1px;
  background: #ff6d00;
}

.re_01 .img_wrap,
.re_02 .img_wrap,
.re_03 .img_wrap {
  width: 40%;
  margin: 0 auto;
}

@container wrapper (max-width: 480px) {
  .re_01 .img_wrap,
  .re_02 .img_wrap,
  .re_03 .img_wrap {
    width: 50%;
    margin: 5px auto;
  }
}


.re_01 .check,
.re_02 .check,
.re_03 .check {
  position: relative;
  text-align: left;
  margin: 0 0 10px auto;
  width: calc(100% - 30px);
  z-index: 10;
}

@container wrapper (max-width: 480px) {
  .re_01 .check,
  .re_02 .check,
  .re_03 .check {
    font-size: 1.4rem;
  }
}

.re_01 .check::before,
.re_02 .check::before,
.re_03 .check::before {
  position: absolute;
  left: -30px;
  top: 2px;
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  background-image: url(../img/sp_icon_check.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
}

@container wrapper (max-width: 480px) {
  .re_01 .check::before,
  .re_02 .check::before,
  .re_03 .check::before {
    top: 3px;
  }
}

.re_01 .check span,
.re_02 .check span,
.re_03 .check span {
  position: relative;
  font-size: 120%;
  font-weight: 700;
  color: #160c40;
  display: inline;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(40%, transparent), color-stop(0%, #ffe2cc));
  background: linear-gradient(transparent 40%, #ffe2cc 0%);
  display: inline;
  padding: 0px 2px;
}

.bg_arrow_re {
  height: 0;
  padding-top: 8.6567%;
  background-image: url(../img/sp_bg_arrow_re.png);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  position: relative;
  top: -1px;
}

.re_btm {
  background: #f1f1f4;
  padding-bottom: 30px;
}


.re_btm span {
  color: #ff6d00;
}

.re_keyword {
  position: relative;
  margin: 20px 0 15px;
  font-size: 3rem;
  font-weight: 700;
  color: #160c40;
  letter-spacing: .15em;
}

@container wrapper (max-width: 374px) {
  .re_keyword {
    font-size: 2.6rem;
  }
}

.re_keyword::after {
  position: absolute;
  bottom: -8px;
  content: '';
  display: block;
  width: 100%;
  height: 2px;
  background-image: url(../img/sp_border_re.png);
  background-repeat: no-repeat;
  background-size: 100px 2px;
  background-position: center;
}

@container wrapper (max-width: 374px) {
  .re_subword {
    font-size: 1.4rem;
  }
}

.sec_02 .btn_wrap .icon::before {
  content: '';
  display: block;
  position: absolute;
  top: -77px;
  left: -6%;
  width: 100px;
  height: 100px;
  background-image: url(../img/sp_1m_03.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@container wrapper (max-width: 480px) {
  .sec_02 .btn_wrap .icon::before {
    width: 80px;
    height: 80px;
    top: -61px;
    left: -6%;
  }
}


.sec_02 .btn_wrap {
  margin-top: 120px;
  position: relative;
}

@container wrapper (max-width: 480px) {
  .sec_02 .btn_wrap {
    margin-top: 100px;
  }
}


/*==============ユーザーの声=================*/
.sec_03 {
  padding: 60px 0 50px;
}

.sec_03 h3 {
  font-size: 3rem;
  line-height: 3.5rem;
  color: #fff;
  text-align: center;
  margin-bottom: 50px;
}

@container wrapper (max-width: 480px) {
  .sec_03 h3 {
    font-size: 2.6rem;
    line-height: 3.1rem;
  }
}

@container wrapper (max-width: 374px) {
  .sec_03 h3 {
    margin-bottom: 30px;
  }
}


.sec_03 h3 span {
  position: relative;
  display: inline-block;
  padding: 0 15px;
}

.sec_03 h3 span::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #160c40;
  z-index: -1;
}

.sec_03_inr {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}

.user_prof_wrap {
  display: table;
  border-collapse: separate;
  border-spacing: 30px 0;
}

@container wrapper (max-width: 480px) {
  .user_prof_wrap {
    border-spacing: 10px 0;
  }
}


.user_prof_wrap .img_wrap {
  display: table-cell;
  width: 25%;
  text-align: right;
}

@container wrapper (max-width: 480px) {
  .user_prof_wrap .img_wrap {
    width: 35%;
  }
}


.user_prof_wrap p {
  display: table-cell;
  font-size: 130%;
  font-weight: 700;
  vertical-align: middle;
  letter-spacing: .15em;
  text-align: left;
  color: #160c40;
  word-break: keep-all;
}

@container wrapper (max-width: 480px) {
  .user_prof_wrap p {
    font-size: 1.8rem;
    -webkit-transform: translateX(10px);
            transform: translateX(10px);
  }
}

@container wrapper (max-width: 374px) {
  .user_prof_wrap p {
    font-size: 1.5rem;
    -webkit-transform: translateX(5px);
            transform: translateX(5px);
  }
}


.fukidashi {
  position: relative;
  background: #e4e4e9;
  margin: 20px 0 50px;
  padding: 7% 5%;
}


.fukidashi::before {
  position: absolute;
  top: -10px;
  left: calc(50% - 30px);
  content: '';
  display: block;
  width: 60px;
  height: 60px;
  background: #e4e4e9;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  z-index: -1;
}


.fukidashi .txt {
  line-height: 1.8;
}

@container wrapper (max-width: 480px) {
  .fukidashi .txt {
    font-size: 1.4rem;
  }
}



/*==============転職事例=================*/
.sec_04 {
  padding: 60px 0 120px;
  background: #f2f2f2;
}

.sec_04 h3 {
  position: relative;
  font-size: 3rem;
  line-height: 3.5rem;
  color: #fff;
  text-align: center;
  margin-bottom: 50px;
  z-index: 10;
}

@container wrapper (max-width: 480px) {
  .sec_04 h3 {
    font-size: 2.6rem;
    line-height: 3.1rem;
  }
}

@container wrapper (max-width: 374px) {
  .sec_04 h3 {
    margin-bottom: 30px;
  }
}


.sec_04 h3 span {
  position: relative;
  display: inline-block;
  padding: 0 15px;
}

.sec_04 h3 span::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #160c40;
  z-index: -1;
}

.slider {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}


.slider li {
  background: #fed7b9;
  -webkit-box-shadow: 10px 10px 0 0 rgba(22, 12, 64, 0.3);
          box-shadow: 10px 10px 0 0 rgba(22, 12, 64, 0.3);
  outline: none;
  margin: 0 45px 10px 35px;
}

@container wrapper (max-width: 580px) {
  .slider li {
    margin: 0 30px 10px 20px;
  }
}

@container wrapper (max-width: 374px) {
  .slider li {
    -webkit-box-shadow: 7px 7px 0 0 rgba(22, 12, 64, 0.3);
            box-shadow: 7px 7px 0 0 rgba(22, 12, 64, 0.3);
    margin: 0 15px 10px 15px;
  }
}


.slider .before {
  background: #fff;
  position: relative;
  width: 100%;
  z-index: 10;
}

.slider .before .before_wrap {
  width: 85%;
  margin: 0 auto;
  padding: 30px 0;
}

.slider .before h4 {
  text-align: center;
  color: #fff;
  font-size: 2.2rem;
  margin-bottom: 30px;
  word-break: keep-all;
}

@container wrapper (max-width: 480px) {
  .slider .before h4 {
    font-size: 1.8rem;
  }
}

@container wrapper (max-width: 374px) {
  .slider .before h4 {
    font-size: 1.5rem;
  }
}

.slider .before h4 .x120 {
  font-size: 120%;
}

.slider .before h4 .obi {
  position: relative;
  padding: 0 15px;
  z-index: 1;
}

@container wrapper (max-width: 374px) {
  .slider .before h4 .obi {
    padding: 0 10px;
  }
}

.slider .before h4 .obi::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #ff6d00;
  z-index: -1;
}

.slider .before .prof_warp {
  display: table;
  border-collapse: separate;
  border-spacing: 30px 0;
  width: 100%;
}

@container wrapper (max-width: 580px) {
  .slider .before .prof_warp {
    border-spacing: 15px 0;
  }
}

@container wrapper (max-width: 680px) {
  .slider .before .prof_warp {
    border-spacing: 10px 0;
  }
}

.slider .before .prof_warp .prof_icon {
  display: table-cell;
  vertical-align: middle;
  width: 18%;
}

@container wrapper (max-width: 680px) {
  .slider .before .prof_warp .prof_icon {
    width: 25%;
  }
}

.slider .before .prof_warp .prof {
  display: table-cell;
  vertical-align: middle;
}

.slider .before .prof_warp p {
  position: relative;
  margin-bottom: 10px;
  font-size: 90%;
  border-bottom: 1px solid #160c40;
  color: #160c40;
}

@container wrapper (max-width: 480px) {
  .slider .before .prof_warp p {
    font-size: 80%;
  }
}

.slider .before .txt {
  margin-top: 20px;
  font-size: 85%;
}

@container wrapper (max-width: 480px) {
  .slider .before .txt {
    font-size: 80%;
  }
}

.slider .after {
  background: -webkit-gradient(linear, left top, left bottom, from(#ffe2cc), to(#fed7b9));
  background: linear-gradient(to bottom, #ffe2cc, #fed7b9);
  margin: 0 auto;
  padding: 20px 5% 50px;
  position: relative;
  z-index: 1;
}

.slider .after::after {
  content: '';
  display: block;
  position: absolute;
  top: 15%;
  left: 0;
  z-index: -1;
  background-image: url(../img/sp_bg_ex.png);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  width: 100%;
  height: 70%;
}

.slider .after .prof_warp {
  display: table;
  border-collapse: separate;
  border-spacing: 30px 0;
  width: 100%;
}

@container wrapper (max-width: 580px) {
  .slider .after .prof_warp {
    border-spacing: 15px 0;
  }
}

@container wrapper (max-width: 680px) {
  .slider .after .prof_warp {
    border-spacing: 10px 0;
  }
}

.slider .after .prof_warp .prof_icon {
  display: table-cell;
  vertical-align: middle;
  width: 20%;
}

@container wrapper (max-width: 680px) {
  .slider .after .prof_warp .prof_icon {
    width: 30%;
  }
}

.slider .after .prof_warp .prof {
  display: table-cell;
  vertical-align: middle;
}

.slider .after .prof_warp p {
  position: relative;
  margin-bottom: 10px;
  font-size: 90%;
  border-bottom: 1px solid #160c40;
  color: #160c40;
}

@container wrapper (max-width: 480px) {
  .slider .after .prof_warp p {
    font-size: 80%;
  }
}

.slider .after .prof_warp p span {
  font-size: 120%;
  font-weight: 700;
}

@container wrapper (max-width: 480px) {
  .slider .after .prof_warp p .ex_longword {
    font-size: 108%;
  }
}


@container wrapper (max-width: 480px) {
  .slider .after .txt {
    font-size: 90%;
  }
}

.slider .txt {
  margin-top: 20px;
}

.arrow_ex {
  background: #ffe2cc;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.arrow_ex::after {
  content: '';
  display: block;
  position: absolute;
  bottom: 50px;
  width: 100%;
  height: 100px;
  -webkit-transform: skewY(-177deg);
          transform: skewY(-177deg);
  -webkit-transform-origin: bottom;
          transform-origin: bottom;
  z-index: -10;
  background: #fff;
}

@container wrapper (max-width: 374px) {
  .arrow_ex::after {
    bottom: 40px;
  }
}

.arrow_ex .img_wrap {
  width: 60%;
  max-width: 250px;
  margin: 0 auto;
}

.prev-arrow {
  width: 50px;
  position: absolute;
  top: 40%;
  left: 0;
  z-index: 99;
}

@container wrapper (max-width: 580px) {
  .prev-arrow {
    width: 40px;
  }
}

@container wrapper (max-width: 374px) {
  .prev-arrow {
    width: 30px;
  }
}

.next-arrow {
  width: 50px;
  position: absolute;
  top: 40%;
  right: 0;
  z-index: 99;
}

@container wrapper (max-width: 580px) {
  .next-arrow {
    width: 40px;
  }
}

@container wrapper (max-width: 374px) {
  .next-arrow {
    width: 30px;
  }
}

/*==============今こそ「Ｒｅ就活」しよう。=================*/
.sec_fin {
  position: relative;
  padding: 50px 0 70px;
  background: #f2f2f2;
}

.sec_fin::after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #160c40;
  background-image: url(../img/sp_bg_medal.png);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: cover;
  width: 100%;
  height: 100%;
  z-index: 1;
  -webkit-transform: skewY(4.7deg);
          transform: skewY(4.7deg);
}

.txt_fin {
  position: relative;
  z-index: 10;
  color: #160c40;
  font-weight: 700;
  font-size: 3.5rem;
  z-index: 10;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  margin-bottom: 20px;
  margin-left: 5%;
  line-height: 4rem;
  letter-spacing: .15em;
}

@container wrapper (max-width: 580px) {
  .txt_fin {
    font-size: 3.2rem;
    line-height: 3.7rem;
  }
}

@container wrapper (max-width: 480px) {
  .txt_fin {
    font-size: 2.6rem;
    line-height: 3.1rem;
  }
}

@container wrapper (max-width: 374px) {
  .txt_fin {
    font-size: 2.3rem;
    line-height: 2.8rem;
  }
}




.txt_fin span {
  position: relative;
  display: inline-block;
  color: #160c40;
  z-index: 1;
  padding: 0 0 0 5px;
}

.txt_fin span::before {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  z-index: -1;
}

.sec_fin .btn_wrap {
  margin-top: 100px;
  position: relative;
  z-index: 10;
}

@container wrapper (max-width: 480px) {
  .sec_fin .btn_wrap {
    margin-top: 80px;
  }
}

.sec_fin .btn_wrap .icon::before {
  content: '';
  display: block;
  position: absolute;
  top: -77px;
  right: -8%;
  width: 100px;
  height: 100px;
  background-image: url(../img/sp_1m_last.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

@container wrapper (max-width: 480px) {
  .sec_fin .btn_wrap .icon::before {
    width: 80px;
    height: 80px;
    top: -61px;
    right: -7%;
  }
}


.sec_fin .btn_link {
  -webkit-box-shadow: 0px 8px 5px 0 rgba(0, 0, 0, 0.3);
          box-shadow: 0px 8px 5px 0 rgba(0, 0, 0, 0.3);
}

/*==============フッター=================*/
footer {
  background: #f2f2f2;
  padding: 100px 0 0;
}

.foot_wrap {
  width: 100%;
  margin: 0 auto;
  display: table;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-collapse: separate;
  border-spacing: 30px 0;
}

@container wrapper (max-width: 374px) {
  .foot_wrap {
    border-spacing: 13px 0;
  }
}

.foot_logo {
  display: table-cell;
  width: 40%;
  text-align: right;
  vertical-align: middle;
}

@container wrapper (max-width: 580px) {
  .foot_logo {
    width: 35%;
  }
}

@container wrapper (max-width: 480px) {
  .foot_logo {
    width: 30%;
  }
}

@container wrapper (max-width: 374px) {
  .foot_logo {
    width: 30%;
  }
}


.foot_logo img {
  width: 40%;
  min-width: 80px;
  -webkit-transition-duration: .25s;
          transition-duration: .25s;
}

.foot_logo img:hover {
  opacity: .6;
}


.foot_txt {
  display: table-cell;
  width: 60%;
  font-size: 1.3rem;
  vertical-align: middle;
  word-break: keep-all;
}

@container wrapper (max-width: 480px) {
  .foot_txt {
    width: 70%;
  }
}

@container wrapper (max-width: 374px) {
  .foot_txt {
    width: 70%;
  }
}


.foot_txt span {
  font-size: 80%;
}

small {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  padding: 15px 0;
}

/*==============swiper=================*/
.swiper-area {
  overflow: hidden;
  position: relative;
}

.container {
  position: relative;
  margin: 0 auto;
  background-color: #f2f2f2;
  width: 100%;
  padding: 20px 0;
}

.swiper-container {
  width: 100%;
  height: 100%;
  padding-bottom: 40px;
}

@container wrapper (max-width: 580px) {
  .swiper-container {
    padding-bottom: 0;
  }
}

.swiper-button-prev {
  left: 10px;
}

.swiper-button-next {
  right: 10px;
}

.swiper-button-prev, .swiper-button-next {
  top: calc(50% - 45px);
  margin-top: 0;
  width: 50px;
  height: 50px;
  background-color: #00338B;
  border-radius: 50%;
  -webkit-box-shadow: 0px 2px 10px rgba(0, 0, 74, 0.3);
          box-shadow: 0px 2px 10px rgba(0, 0, 74, 0.3);
}

.swiper-button-prev::after {
  color: #fff;
  font-size: 2.0rem;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .swiper-button-prev::after {
    /* IE10・11に指定するスタイルを記入 */
    font-family: "Font Awesome 5 Free", sans-serif;
    content: "\f104";
    font-weight: 900;
  }
}

.swiper-button-next::after {
  color: #fff;
  font-size: 2.0rem;
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .swiper-button-next::after {
    /* IE10・11に指定するスタイルを記入 */
    font-family: "Font Awesome 5 Free", sans-serif;
    content: "\f105";
    font-weight: 900;
  }
}

.swiper-slide {
  text-align: center;
  font-size: 18px;
  background: #fff;
  border-radius: 6px;
  overflow: hidden;
  width: 800px;
  -webkit-box-shadow: 0px 4px 12px rgba(0, 0, 74, 0.15);
          box-shadow: 0px 4px 12px rgba(0, 0, 74, 0.15);
}

.swiper-slide a {
  cursor: pointer;
}

.swiper-slide a img:hover {
  opacity: 0.8;
}

@container wrapper (max-width: 580px) {
  .swiper-slide {
    min-width: auto;
    border-radius: 0;
    width: 100%;
  }
}

.swiper-slide img {
  max-width: none;
  height: 380px;
  display: block;
}

@container wrapper (max-width: 580px) {
  .swiper-slide img {
    max-width: 100%;
    height: 180px;
    width: auto;
  }
}

.swiper-container-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin-left: 11px;
  margin-right: 11px;
}

.swiper-pagination-bullet {
  background-color: #00338B;
  width: 10px;
  height: 10px;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #F36421;
}

.kv.kv_2sotu {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_2sotu.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_airline {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_airline.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_campus {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_campus.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_creative {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_creative.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_popular {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_popular.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_remotework {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_remotework.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_rare {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_rare.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_change {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_change.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_eat {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_eat.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}


.kv.kv_Zsedai {
  padding-top: 133.333333%;
  background: url(../img/kv_sp_Zsedai.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
