@charset "UTF-8";
a {
  color: #111;
  text-decoration: none;
  -webkit-transition: all .2s;
  transition: all .2s;
}
a:hover {
  opacity: .7;
  text-decoration: none;
}

img.imgalpha {
  -webkit-transition: all .2s;
  transition: all .2s;
}

.svg path, .svg polygon {
  -webkit-transition: all .2s;
  transition: all .2s;
}

/*--------------------------------------------------------------------------------------------------------------------
header
---------------------------------------------------------------------------------------------------------------------*/
header {
  width: 100%;
  padding: 0 0 0.8vw;
  background-color: #fff;
}
header .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: center;
}
header .header_logo {
  width: 354px;
}
header .header_logo img {
  width: 100%;
}

/* SP */
@media screen and (max-width: 768px) {
  header .header_logo {
    width: 47.2vw;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
mv
---------------------------------------------------------------------------------------------------------------------*/
.mv {
  width: 100%;
  background-image: url(../img/bg_mv.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  display: block;
  position: relative;
}
.mv .mv_txt1 {
  width: 91.2%;
  margin: 0 auto;
  padding: 4% 0 58.66667%;
}
.mv .mv_txt2 {
  width: 90.13333%;
  margin: 0 auto;
  padding: 0 0 5.33333%;
}

/*--------------------------------------------------------------------------------------------------------------------
cv
---------------------------------------------------------------------------------------------------------------------*/
.cv .inner {
  position: relative;
}
.cv.cv-first .inner {
  position: relative;
  z-index: 100;
  background: url("../img/cv_first_bg.png") no-repeat center top/100% auto;
  padding: 4.66667% 0 8%;
}
.cv.cv-first .inner .talk {
  margin: 6.66667% 0 0;
}
.cv.cv-second .inner {
  padding: 8% 0 8%;
}
.cv .cv_txt1 {
  margin-bottom: 12px;
  padding: 0 26px;
}
.cv .cv_txt2 {
  margin-bottom: 32px;
  padding: 0 28px;
}
.cv .btn {
  padding: 0 16px 0 26px;
}

/* SP */
@media screen and (max-width: 768px) {
  .cv .cv_txt1 {
    margin-bottom: 1.6vw;
    padding: 0 3.467vw;
  }
  .cv .cv_txt2 {
    margin-bottom: 4.267vw;
    padding: 0 3.733vw;
  }
  .cv .btn {
    padding: 0 2.133vw 0 3.467vw;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
con1
---------------------------------------------------------------------------------------------------------------------*/
.con1 {
  background-image: url(../img/con1_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
}
.con1 .inner {
  width: 100%;
}
.con1 h2 {
  margin-bottom: 42px;
  padding: 66px 74px 0;
}
.con1 li {
  margin-bottom: 34px;
  padding: 0 40px;
}
.con1 li:last-child {
  margin-bottom: 40px;
}
.con1 .inner .col {
  background: #f7eaef;
  padding-bottom: 76px;
}
.con1 .inner .col .debut {
  margin-bottom: 86px;
  padding: 40px 40px 0;
}
.con1 .cv .inner {
  background: none;
}

/* SP */
@media screen and (max-width: 768px) {
  .con1 h2 {
    margin-bottom: 5.6vw;
    padding: 8.8vw 9.867vw 0;
  }
  .con1 li {
    margin-bottom: 4.533vw;
    padding: 0 5.333vw;
  }
  .con1 li:last-child {
    margin-bottom: 5.333vw;
  }
  .con1 .inner .col {
    padding-bottom: 10.133vw;
  }
  .con1 .inner .col .debut {
    margin-bottom: 11.467vw;
    padding: 5.333vw 5.333vw 0;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
con2
---------------------------------------------------------------------------------------------------------------------*/
.con2 {
  background-color: #f5f5f5;
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
}
.con2 .inner {
  width: 100%;
  padding-top: 0;
}
.con2 .shoulder {
  padding: 0 71px 0;
}
.con2 .lead {
  width: 89.6%;
  margin: 8% auto 5.33333%;
}
.con2 h2 {
  margin-bottom: 17px;
  padding: 23px 74px 0;
}
.con2 ol {
  padding: 0 40px;
  clear: both;
  overflow: hidden;
}
.con2 li {
  width: 324px;
  margin-bottom: 34px;
  float: left;
}
.con2 li:nth-child(even) {
  margin-left: 21px;
}
.con2 li:last-child {
  margin-bottom: 40px;
}
.con2 .inner .col {
  background: #fff0f0;
}
.con2 .inner .col .list {
  margin-bottom: 39px;
  padding: 40px 40px 0;
}
.con2 .inner .col .challenge {
  padding: 0 46px 0 76px;
}
.con2 .cv .inner {
  background: none;
}

/* SP */
@media screen and (max-width: 768px) {
  .con2 .shoulder {
    padding: 0 9.467vw 0;
  }
  .con2 h2 {
    margin-bottom: 2.267vw;
    padding: 3.067vw 9.867vw 0;
  }
  .con2 ol {
    padding: 0 5.333vw;
  }
  .con2 li {
    width: 43.2vw;
    margin-bottom: 4.533vw;
  }
  .con2 li:nth-child(even) {
    margin-left: 2.8vw;
  }
  .con2 li:last-child {
    margin-bottom: 5.333vw;
  }
  .con2 .inner .col .list {
    margin-bottom: 5.2vw;
    padding: 5.333vw 5.333vw 0;
  }
  .con2 .inner .col .challenge {
    padding: 0 6.133vw 0 10.133vw;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
con3
---------------------------------------------------------------------------------------------------------------------*/
.con3 {
  background-color: #f5f5f5;
  background-image: url(../img/con3_bg.png);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
}
.con3 .inner {
  width: 100%;
  padding: 24.53333% 0 10.66667%;
}
.con3 h2 {
  margin: 0 auto 4.66667%;
  width: 74.53333%;
}
.con3 .read {
  margin-bottom: 66px;
  padding: 0 40px 0;
}
.con3 li {
  margin-bottom: 100px;
  padding: 0 40px;
}
.con3 li:last-child {
  margin-bottom: 53px;
}
.con3 .inner .col {
  padding-bottom: 76px;
}
.con3 .inner .col .more {
  margin-bottom: 86px;
  padding: 0 72px 0 52px;
}
.con3 .cv .inner {
  padding: 0;
}

/* SP */
@media screen and (max-width: 768px) {
  .con3 .read {
    margin-bottom: 8.8vw;
    padding: 0 5.333vw 0;
  }
  .con3 li {
    margin-bottom: 13.333vw;
    padding: 0 5.333vw;
  }
  .con3 li:last-child {
    margin-bottom: 7.067vw;
  }
  .con3 .inner .col {
    padding-bottom: 10.133vw;
  }
  .con3 .inner .col .more {
    margin-bottom: 11.467vw;
    padding: 0 9.6vw 0 6.933vw;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
con4
---------------------------------------------------------------------------------------------------------------------*/
.con4 {
  background-color: #f2c9d2;
}
.con4 .inner {
  width: 100%;
  padding-top: 61px;
  padding-bottom: 20px;
}
.con4 h2 {
  margin-bottom: 39px;
  padding: 0 46px;
}

/* SP */
@media screen and (max-width: 768px) {
  .con4 .inner {
    padding-top: 8.133vw;
    padding-bottom: 2.667vw;
  }
  .con4 h2 {
    margin-bottom: 5.2vw;
    padding: 0 6.133vw;
  }
}
.swiper-pagination-bullet {
  width: 16px !important;
  height: 16px !important;
}

.swiper-container {
  width: 100%;
  height: 100%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 20px !important;
}

.swiper-wrapper {
  padding-bottom: 60px !important;
}

.swiper-slide {
  text-align: center;
  padding: 0 105px !important;
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-button-next, .swiper-button-prev {
  top: 42% !important;
  width: 58px !important;
  height: 58px !important;
}

/* 次ページボタンのスタイル */
.swiper-button-next {
  background-image: url(../img/slide_right.png);
  background-size: 100%;
  background-repeat: no-repeat;
}

/* 前ページボタンのスタイル */
.swiper-button-prev {
  background-image: url(../img/slide_left.png);
  background-size: 100%;
  background-repeat: no-repeat;
}
.swiper-button-prev:after {
  content: none !important;
}

.swiper-container-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-container-rtl .swiper-button-prev:after {
  content: none !important;
}

.swiper-button-prev, .swiper-container-rtl .swiper-button-next {
  left: 76px !important;
}

.swiper-button-next, .swiper-container-rtl .swiper-button-prev {
  right: 76px !important;
}

.swiper-pagination-bullet-active {
  background: #e5004f !important;
}

/* SP */
@media screen and (max-width: 768px) {
  .swiper-pagination-bullet {
    width: 8px !important;
    height: 8px !important;
  }

  .swiper-container {
    margin-bottom: 0 !important;
  }

  .swiper-wrapper {
    padding-bottom: 9.333vw !important;
  }

  .swiper-slide {
    padding: 0 14vw !important;
    margin: 0 auto;
  }

  .swiper-button-next {
    top: 45% !important;
    width: 7.733vw !important;
    height: 7.733vw !important;
  }

  .swiper-button-prev {
    top: 45% !important;
    width: 7.733vw !important;
    height: 7.733vw !important;
    left: 10.133vw !important;
  }

  .swiper-container-rtl .swiper-button-next {
    left: 10.133vw !important;
  }

  .swiper-button-next, .swiper-container-rtl .swiper-button-prev {
    right: 10.133vw !important;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
con5
---------------------------------------------------------------------------------------------------------------------*/
.con5 {
  background-color: #fff0f0;
  background-image: url(../img/con5_bg.jpg);
  background-size: 100%;
  background-repeat: no-repeat;
  background-position: top;
}
.con5 .inner {
  width: 100%;
  padding-top: 294px;
}
.con5 .inner .about {
  margin: 8% auto 12%;
}
.con5 h2 {
  margin-bottom: 19px;
  padding: 0 36px 0;
}
.con5 .inner .col {
  padding-bottom: 95px;
}
.con5 .cv .inner {
  padding: 0;
}

/* SP */
@media screen and (max-width: 768px) {
  .con5 .inner {
    padding-top: 39.2vw;
  }
  .con5 h2 {
    margin-bottom: 2.533vw;
    padding: 0 4.8vw 0;
  }
  .con5 .inner .col {
    padding-bottom: 12.667vw;
  }
}
/*--------------------------------------------------------------------------------------------------------------------
footer
---------------------------------------------------------------------------------------------------------------------*/
footer {
  padding: 32px 1%;
}
footer ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
footer ul li a {
  color: #333333;
  display: block;
  text-decoration: none;
  padding: 5% 4% 5% 4%;
  font-size: 14px;
}
footer li {
  background: #eeeeee;
  text-align: center;
  width: 32.5%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: block;
}
footer li a {
  color: #ffffff;
  font-size: 14.66px;
}
footer .footer_linkWrap .footer_link:last-child a::after {
  display: none;
}
footer .copyright {
  padding-top: 40px;
  font-size: 14px;
  text-align: center;
}

@media screen and (max-width: 550px) {
  footer {
    padding: 4.267vw 1%;
  }
  footer ul li a {
    font-size: 0.875em;
  }
  footer .copyright {
    padding-top: 5.333vw;
    font-size: 0.875em;
  }
}
/*pagetop*/
#page-top {
  width: 60px;
  position: fixed;
  bottom: 15px;
  right: 15px;
  z-index: 999;
}

@media screen and (max-width: 550px) {
  #page-top {
    width: 16vw;
    bottom: 2vw;
    right: 2vw;
  }
}
/*fadeIn*/
/* fade-個別 */
.sa {
  opacity: 0;
  transition: all .6s ease-in;
}
.sa.show {
  opacity: 1;
  transform: none;
}

.sa--lr {
  transform: translateX(-25px);
}

.sa--rl {
  transform: translateX(25px);
}

.sa--up {
  transform: translateY(25px);
}

.sa--down {
  transform: translateY(-25px);
}

.sa--down15 {
  transform: translateY(-15px);
}

.sa--scaleUp {
  transform: scale(0.3);
}

.sa--scaleDown {
  transform: scale(1.4);
}

.sa--rotateL {
  transform: rotate(180deg);
}

.sa--rotateR {
  transform: rotate(-180deg);
}

.sa {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
.sa.show {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}

.sa--lr, .sa--rl, .sa--up, .sa--down, .sa--down15, .sa--scaleUp, .sa--scaleDown, .sa--rotateL, .sa--rotateR {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
}
