main {
  overflow: hidden;
}
/* ------------------------------------------
  sec01
------------------------------------------ */
.sec01 {
  background-image: url(../img/sec01_bg.jpg);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.sec01 .container {
  margin: 0 auto;
  max-width: 1000px;
  padding: 142px 0 93px;
  background-image: url(../img/sec01_bg_line.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}

.sec01 .sec01_ttl {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 53px;
  font-weight: normal;
  letter-spacing: .04em;
  text-align: center;
  text-shadow: 10px 10px 20px rgba(0, 0, 0, .64);
  line-height: calc(64/53);
}

.sec01 .sec01_ttl_en {
  margin: 67px auto 0;
  width: 522px;
  position: relative;
}

.sec01 .sec01_ttl_en::after {
  display: block;
  content: "";
  background-image: url(../img/sec01_ttl_en_deco.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: -50px;
  right: -120px;
  width: 125px;
  height: 130px;
}

.sec01 .sec01_text01 {
  color: #fff;
  font-weight: bold;
  line-height: calc(37/22);
  text-align: center;
  font-size: 22px;
  margin-top: 20px;
}

.sec01 .sec01_text02 {
  color: #ff1568;
  font-size: 31px;
  font-weight: bold;
  line-height: 1;
  margin-top: 10px;
  text-align: center;
}

.sec01 .sec01_link {
  background: linear-gradient(to right, #869ff1 0%, #d193cf 100%);
  border-radius: 32px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .57);
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 64px;
  margin: 60px auto 0;
  margin-top: 60px;
  text-align: center;
  width: 358px;
}

.sec01 .sec01_img {
  margin-top: 56px;
  padding: 0 35px;
}

@media screen and (max-width: 767px) {
  .sec01 {
    background-image: url(../img/sec01_bg_sp.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  
  .sec01 .container {
    max-width: unset;
    padding: 64px 15px 59px;
    background-image:unset;
  }
  
  .sec01 .sec01_ttl {
    font-size: 33px;
    line-height: calc(40/33);
    position: relative;
  }

  .sec01 .sec01_ttl::after {
    display: block;
    content: "";
    background-image: url(../img/sec01_ttl_deco_sp.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: -50px;
    left: 0;
    width: 65px;
    height: 66px;
  }
  
  .sec01 .sec01_ttl_en {
    margin: 40px auto 0;
    width: 330px;
    margin-left: auto;
  }
  
  .sec01 .sec01_ttl_en::after {
    top: -55px;
    right: 5px;
    width: 56px;
    height: 58px;
  }
  
  .sec01 .sec01_text01 {
    line-height: calc(26/15);
    text-align: center;
    font-size: 15px;
    margin-top: 5px;
  }
  
  .sec01 .sec01_text02 {
    font-size: 22px;
    margin-top: 5px;
  }
  
  .sec01 .sec01_link {
    font-size: 16px;
    line-height: 58px;
    margin-top: 37px;
    width: 259px;
  }
  
  .sec01 .sec01_img {
    margin-top:37px;
    padding: 0;
  }

}

/* ------------------------------------------
  sec02
------------------------------------------ */
.sec02 .container02 {
  margin: 0 auto;
  /* max-width: 1150px; */
  max-width: 1410px;
  padding: 93px 0 109px;
}

.sec02 .sec02_ttl {
  margin: 0 auto;
  width: 344px;
}

.sec02 .swiper {
  margin-top: 46px;
  padding: 50px 0 55px;
}

.sec02 .container {
  margin: 0 auto;
  max-width: 1000px;
}

@media screen and (max-width: 767px) {
  .sec02 .container02 {
    max-width: unset;
    padding: 73px 0 45px;
  }
  
  .sec02 .sec02_ttl {
    width: 215px;
  }
  
  .sec02 .container {
    max-width: unset;
  }
}

/* swiper */
.swiper-slide {
  opacity: .3; /* 左右のスライドを薄くする */
  /* transform: scale(.68)!important;¥ */
  transform: scale(.64)!important; 
  transition: .7s; /* ゆっくり小さくさせる */
}
.swiper-slide img {
  height: auto;
  width: 100%;
}
.swiper-slide-active {
  opacity: 1; /* 中央のスライドは薄くしない */
  transform: scale(1)!important;
  /* transform: scale(1.2)!important;  */
  z-index: 1; /* 中央のスライドを一番上にする */
}
/* 矢印カスタマイズ */
.swiper-button-next {
  right: 370px;
}
.swiper-button-prev {
  left: 389px;
}
.swiper-button-prev, .swiper-button-next {
  height: 116px;
  top: 45%;
  width: 117px;
}
.swiper-button-prev::after, .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  height: 116px;
  margin: auto;
  width: 117px;
}
.swiper-button-prev::after {
  background-image: url(../img/swiper_arrow_prev.png);
}
.swiper-button-next::after {
  background-image: url(../img/swiper_arrow_next.png);
}
.swiper-slide img {
  height: auto;
  width: 100%;
}

.swiper-slide span {
  color: #000;
  display: block;
  font-family: 'Shippori Mincho', serif;
  font-size: 17px;
  font-weight: normal;
  line-height: 11px;
  margin-top: 21px;
  text-align: center;
  text-align: center;
}

/* ドットの調整 */

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 3px;
}

.swiper-pagination {
  bottom: 0!important;
}

.swiper-pagination-bullet {
  background-color: #2f3549;
  /* width: 50px; */
  height: 9px;
  opacity: 1;
  width: 9px;
}

.swiper-pagination-bullet:nth-of-type(1).swiper-pagination-bullet-active {
  background-color: #904cb1;
}

.swiper-pagination-bullet:nth-of-type(2).swiper-pagination-bullet-active {
  background-color: #904cb1;
}

.swiper-pagination-bullet:nth-of-type(3).swiper-pagination-bullet-active {
  background-color: #3665c0;
}

.swiper-pagination-bullet:nth-of-type(4).swiper-pagination-bullet-active {
  background-color: #e9d06c;
}

.swiper-pagination-bullet:nth-of-type(5).swiper-pagination-bullet-active {
  background-color: #e13f76;
}

.swiper-pagination-bullet:nth-of-type(6).swiper-pagination-bullet-active {
  background-color: #adcc18;
}

@media screen and (max-width: 767px) {
  .sec02 .swiper {
    margin-top: 57px;
    padding: 0 0 30px;
  }
  .swiper-slide {
    transform: scale(.85)!important;
  }
  .swiper-slide-active {
    transform: scale(1)!important;
  }
  
  /* 矢印カスタマイズ */
  .swiper-button-next {
    right: -2%;
  }
  .swiper-button-prev {
    left: 3%;
  }
  .swiper-button-prev, .swiper-button-next {
    height: 91px;
    top: 44%;
    width: 92px;
  }
  .swiper-button-prev::after, .swiper-button-next::after {
    background-repeat: no-repeat;
    background-size: contain;
    content: '';
    height: 91px;
    margin: auto;
    width: 92px;
  }
  .swiper-button-next::after {
    background-image: url(../img/swiper_arrow_next_sp.png);
  }
  .swiper-button-prev::after {
    background-image: url(../img/swiper_arrow_prev_sp.png);
}
  
  .swiper-slide span {
    font-size: 15px;
    line-height: 11px;
    margin-top: 21px;
  }
  
  /* ドットの調整 */
  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 2px;
  }

  .swiper-pagination {
    bottom: -10px!important;
  }
  
  .swiper-pagination-bullet {
    height: 6px;
    width: 6px;
  }
}


/* ------------------------------------------
  sec02 lineup_item
------------------------------------------ */
/* snow */
.lineup_item.bl_snow {
  background-image: url(../img/lineup_item_snow_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.lineup_item.bl_snow .container {
  display: flex;
}

.lineup_item.bl_snow .lineup_item_charactor {
  flex-shrink: 0;
  margin-left: -100px;
  width: 657px;
}
.lineup_item.bl_snow .lineup_item_charactor img {
  vertical-align: top;
}
.lineup_item.bl_snow .lineup_item_content_loveliner {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  margin-left: -220px;
  width: 358px;
}
.lineup_item.bl_snow .lineup_item_content {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 110px 0 38px;
  width: 318px;
}

.lineup_item.bl_snow .lineup_item_example_img {
  margin-top: 63px;
  width: 227px;
}

.lineup_item.bl_snow .lineup_item_example_text {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 17px;
  text-align: left;
}

/* white */
.lineup_item.bl_white {
  background-image: url(../img/lineup_item_white_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.lineup_item.bl_white .container {
  display: flex;
}

.lineup_item.bl_white .lineup_item_content {
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  padding: 160px 0 38px;
  width: 318px;
}

.lineup_item.bl_white .lineup_item_example_img {
  margin-top: 63px;
  width: 227px;
}

.lineup_item.bl_white .lineup_item_example_text {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 17px;
  text-align: left;
}

.lineup_item.bl_white .lineup_item_content_loveliner {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  padding-top: 55px;
  width: 337px;
}

.lineup_item.bl_white .lineup_item_charactor {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: end;
  margin-left: -130px;
  width: 657px;
}
.lineup_item.bl_white .lineup_item_charactor img {
  vertical-align: top;
}

/* faust */
.lineup_item.br_faust {
  background-image: url(../img/lineup_item_faust_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.lineup_item.br_faust .container {
  display: flex;
}

.lineup_item.br_faust .lineup_item_charactor {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: end;
  margin-left: -80px;
  position: relative;
  width: 657px;
  z-index: 1;
}
.lineup_item.br_faust .lineup_item_charactor img {
  vertical-align: top;
}
.lineup_item.br_faust .lineup_item_content_loveliner {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  margin-left: -190px;
  padding-bottom: 27px;
  padding-top: 43px;
  width: 346px;
}
.lineup_item.br_faust .lineup_item_content {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 161px 0 33px;
  width: 318px;
}

.lineup_item.br_faust .lineup_item_example_img {
  margin-top: 63px;
  width: 227px;
}

.lineup_item.br_faust .lineup_item_example_text {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 17px;
  text-align: left;
}

/* arthur */
.lineup_item.mc_arthur {
  background-image: url(../img/lineup_item_arthur_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.lineup_item.mc_arthur .container {
  display: flex;
}

.lineup_item.mc_arthur .lineup_item_content {
  align-items: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  padding: 160px 0 36px;
  width: 343px;
}

.lineup_item.mc_arthur .lineup_item_example_img {
  margin-top: 63px;
  width: 227px;
}

.lineup_item.mc_arthur .lineup_item_example_text {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 17px;
  text-align: left;
}

.lineup_item.mc_arthur .lineup_item_content_loveliner {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  margin-left: -15px;
  width: 316px;
}

.lineup_item.mc_arthur .lineup_item_charactor {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: end;
  margin-left: -200px;
  width: 657px;
}

.lineup_item.bl_white .lineup_item_charactor img {
  vertical-align: top;
}

/* Chloe */
.lineup_item.rb_chloe {
  background-image: url(../img/lineup_item_chloe_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.lineup_item.rb_chloe .container {
  display: flex;
}

.lineup_item.rb_chloe .lineup_item_charactor {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: end;
  margin-left: -122px;
  width: 657px;
}
.lineup_item.rb_chloe .lineup_item_charactor img {
  vertical-align: top;
}
.lineup_item.rb_chloe .lineup_item_content_loveliner {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: center;
  margin-left: -190px;
  padding-bottom: 27px;
  padding-top: 53px;
  width: 357px;
}
.lineup_item.rb_chloe .lineup_item_content {
  align-items: center;
  display: flex;
  flex-direction: column;
  padding: 173px 0 33px;
  width: 318px;
}

.lineup_item.rb_chloe .lineup_item_example_img {
  margin-top: 63px;
  width: 227px;
}

.lineup_item.rb_chloe .lineup_item_example_text {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 17px;
  text-align: left;
}

/* Rutile */
.lineup_item.mb_rutile {
  background-image: url(../img/lineup_item_rutile_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.lineup_item.mb_rutile .container {
  display: flex;
}

.lineup_item.mb_rutile .lineup_item_content {
  align-items: center;
  align-items: center;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  padding: 160px 0 38px;
  width: 352px;
}

.lineup_item.mb_rutile .lineup_item_content_main_name_color {
  width: 317px;
}
.lineup_item.mb_rutile .lineup_item_example_img {
  margin-top: 63px;
  width: 227px;
}

.lineup_item.mb_rutile .lineup_item_example_text {
  color: #fff;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 17px;
  padding-left: 50px;
  text-align: left;
}

.lineup_item.mb_rutile .lineup_item_content_loveliner {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  margin-top: 55px;
  width: 314px;
}

.lineup_item.mb_rutile .lineup_item_charactor {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  justify-content: end;
  margin-left: -178px;
  width: 657px;
}

.lineup_item.mb_rutile .lineup_item_charactor img {
  vertical-align: top;
}

@media screen and (max-width: 767px) {
/* snow */
.lineup_item.bl_snow {
  background-image: url(../img/lineup_item_snow_bg_sp.png);
}

.lineup_item.bl_snow .container {
  flex-direction: column;
  position: relative;
  max-width: 415px;
}

.lineup_item.bl_snow .lineup_item_content_main_name_color {
  width: 197px;
}

.lineup_item.bl_snow .lineup_item_charactor {
  margin-left: 0;
  width: 242px;
  height: 274px;
  position: absolute;
  bottom: 0;
  left: -15px;
  z-index: 1;
}

.lineup_item.bl_snow .lineup_item_content_loveliner {
  position: absolute;
  top: 5px;
  right: -15px;
  height: 358px;
  margin-left: 0;
  width: 186px;
}
.lineup_item.bl_snow .lineup_item_content {
  display: block;
  padding: 72px 15px 19px;
  width: auto;
}

.lineup_item.bl_snow .lineup_item_example_img {
  margin-top: 101px;
  width: 147px;
  margin-left: auto;

}

.lineup_item.bl_snow .lineup_item_example_text {
  font-size: 16px;
  line-height: calc(22/16);
  margin-top: 0;
  width: 147px;
  margin-left: auto;

}

/* white */
.lineup_item.bl_white {
  background-image: url(../img/lineup_item_white_bg_sp.png);
}

.lineup_item.bl_white .container {
  flex-direction: column;
  position: relative;
  max-width: 415px;
}

.lineup_item.bl_white .lineup_item_content {
  display: block;
  padding: 70px 15px 18px;
  width: auto;
}

.lineup_item.bl_white .lineup_item_content_main_name_color {
  width: 197px;
  margin-left: auto;
}

.lineup_item.bl_white .lineup_item_example_img {
  margin-top:100px;
  width: 131px;
  padding-left: 12px;
}

.lineup_item.bl_white .lineup_item_example_text {
  font-size: 16px;
  line-height: calc(22/16);
  margin-top: 0;
  width: 131px;
  padding-left: 12px;
}

.lineup_item.bl_white .lineup_item_content_loveliner {
  position: absolute;
  top: -20px;
  left: 0;
  height: 358px;
  margin-left: 0;
  width: 186px;
}

.lineup_item.bl_white .lineup_item_charactor {
  margin-left: 0;
  width: 245px;
  height: 270px;
  position: absolute;
  bottom: 0;
  right: -15px;
  z-index: 1;
}


/* faust */
.lineup_item.br_faust {
  background-image: url(../img/lineup_item_faust_bg_sp.png);
}

.lineup_item.br_faust .container {
  flex-direction: column;
  position: relative;
  max-width: 415px;
}

.lineup_item.br_faust .lineup_item_content_main_name_color {
  width: 197px;
}

.lineup_item.br_faust .lineup_item_charactor {
  margin-left: 0;
  width: 242px;
  height: 274px;
  position: absolute;
  bottom: 0;
  left: -5px;
  z-index: 1;
}

.lineup_item.br_faust .lineup_item_content_loveliner {
  position: absolute;
  top: 5px;
  right: -15px;
  height: 358px;
  margin-left: 0;
  width: 186px;
}

.lineup_item.br_faust .lineup_item_content {
  display: block;
  padding: 72px 15px 19px;
  width: auto;
}

.lineup_item.br_faust .lineup_item_example_img {
  margin-top: 98px;
  width: 147px;
  margin-left: auto;
}

.lineup_item.br_faust .lineup_item_example_text {
  font-size: 16px;
  line-height: calc(22/16);
  margin-top: 0;
  width: 147px;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

/* arthur */
.lineup_item.mc_arthur {
  background-image: url(../img/lineup_item_arthur_bg_sp.png);
}

.lineup_item.mc_arthur .container {
  flex-direction: column;
  position: relative;
  max-width: 415px;
}

.lineup_item.mc_arthur .lineup_item_content {
  display: block;
  padding: 48px 7px 18px 15px;
  width: auto;
}

.lineup_item.mc_arthur .lineup_item_content_main_name_color {
  width: 213px;
  margin-left: auto;
}

.lineup_item.mc_arthur .lineup_item_example_img {
  margin-top: 130px;
  width: 143px;
}

.lineup_item.mc_arthur .lineup_item_example_text {
  font-size: 15px;
  line-height: calc(22/15);
  margin-top: 0;
  width: 180px;
  letter-spacing: 0;
}

.lineup_item.mc_arthur .lineup_item_content_loveliner {
  position: absolute;
  top: 13px;
  left: 0;
  height: 358px;
  margin-left: 0;
  width: 194px;
}

.lineup_item.mc_arthur .lineup_item_charactor {
  margin-left: 0;
  width: 241px;
  height: 293px;
  position: absolute;
  bottom: 0;
  right: -17px;
  z-index: 1;
}

/* Chloe */
.lineup_item.rb_chloe {
  background-image: url(../img/lineup_item_chloe_bg_sp.png);
}

.lineup_item.rb_chloe .container {
  flex-direction: column;
  position: relative;
  max-width: 415px;
}

.lineup_item.rb_chloe .lineup_item_content_main_name_color {
  width: 197px;
}

.lineup_item.rb_chloe .lineup_item_charactor {
  margin-left: 0;
  width: 232px;
  height: 273px;
  position: absolute;
  bottom: 0;
  left: -5px;
  z-index: 1;
}

.lineup_item.rb_chloe .lineup_item_content_loveliner {
  position: absolute;
  top: -10px;
  right: -15px;
  height: 359px;
  margin-left: 0;
  width: 186px;
}

.lineup_item.rb_chloe .lineup_item_content {
  display: block;
  padding: 72px 15px 20px;
  width: auto;
}

.lineup_item.rb_chloe .lineup_item_example_img {
  margin-top: 98px;
  width: 147px;
  margin-left: auto;
}

.lineup_item.rb_chloe .lineup_item_example_text {
  font-size: 16px;
  line-height: calc(22/16);
  margin-top: 0;
  width: 147px;
  margin-left: auto;
  position: relative;
  z-index: 1;
}

/* Rutile */
.lineup_item.mb_rutile {
  background-image: url(../img/lineup_item_rutile_bg_sp.png);
}

.lineup_item.mb_rutile .container {
  flex-direction: column;
  position: relative;
  max-width: 415px;
}

.lineup_item.mb_rutile .lineup_item_content {
  display: block;
  padding: 70px 15px 18px;
  width: auto;
}

.lineup_item.mb_rutile .lineup_item_content_main_name_color {
  width: 192px;
  margin-left: auto;
}

.lineup_item.mb_rutile .lineup_item_example_img {
  margin-top: 105px;
  width: 143px;
}

.lineup_item.mb_rutile .lineup_item_example_text {
  font-size: 15px;
  line-height: calc(22/15);
  margin-top: 0;
  width: 150px;
  padding-left: 0;
  letter-spacing: 0;
}

.lineup_item.mb_rutile .lineup_item_content_loveliner {
  position: absolute;
  top: -50px;
  left: 0;
  height: 368px;
  margin-left: 0;
  width: 194px;
}

.lineup_item.mb_rutile .lineup_item_charactor {
  margin-left: 0;
  width: 233px;
  height: 289px;
  position: absolute;
  bottom: 0;
  right: -10px;
  z-index: 1;
}
}


/* ------------------------------------------
  sec02
------------------------------------------ */
.sec03 {
  background-image: url(../img/sec03_bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-top: 77px;
}

.sec03 .container {
  margin: 0 auto;
  max-width: 1000px;
  padding: 120px 0 93px;
}

.sec03 .sec03_content {
  background-image: url(../img/sec03_content_bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 65px 73px 76px;
}

.sec03 .sec03_ttl {
  margin: 0 auto;
  width: 746px;
}

.sec03 .sec03_text01 {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 30px;
  text-align: center;
}

.sec03 .sec03_text01_small {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: .04em;
  margin-top: 10px;
  text-align: center;
}

.sec03 .heading {
  background-color: #a7905c;
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  line-height: 33px;
  margin-top: 24px;
  text-align: center;
}

.sec03 .cards_wrap {
  border: 3px solid rgb(167, 144, 92, .31);
  border-top: none;
}

.sec03 .cards_wrap_inner {
  padding: 36px 0 56px 40px;
  position: relative;
}


.sec03_deco {
  position: absolute;
  right: 10px;
  top: -80px;
  width: 220px;
  z-index: 2;
}

.sec03 .sec03_text02 {
  color: #e13f76;
  font-family: YuGothic;
  font-size: 16px;
  font-weight: bold;
  letter-spacing: .04em;
  line-height: calc(25/16);
  margin-top: 28px;
  text-align: left;
}
.sec03 .sec03_logo {
  margin: 14px auto 0;
  width: 800px;
}

.sec03 .sec03_text03 {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  text-align: center;
  margin-top: 20px;
}

.sec03 .sec03_text03_small {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: .04em;
  margin-top: 15px;
  text-align: center;
}

.sec03 .sec01_link {
  background: linear-gradient(to right, #869ff1 0%, #d193cf 100%);
  border-radius: 32px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .26);
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 64px;
  margin: 27px auto 0;
  text-align: center;
  width: 358px;
}

@media screen and (max-width: 767px) {
  .sec03 {
    background-image: url(../img/sec03_bg_sp.png);
    background-position: top 40px center;
    margin-top: 80px;
    padding-top: 40px;
    position: relative;
  }

  .sec03::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 16px;
    background-image: url(../img/sec04_bg_sp.png);
    background-position: top left;
    background-size: 100px 17px;
    background-repeat: repeat-x;
  }
  
  .sec03 .container {
    max-width: unset;
    padding: 38px 15px 36px;
  }


  
  .sec03 .sec03_content {
    background-image: url(../img/sec03_content_bg_sp.png);
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding: 40px 0 50px;
  }
  
  .sec03 .sec03_ttl {
    margin: 0 auto;
    width: 296px;
  }
  
  .sec03 .sec03_text01 {
    font-size: 16px;
    letter-spacing: 0;
    line-height: calc(23/16);
    margin-top: 25px;
  }
  
  .sec03 .sec03_text01_small {
    font-size: 12px;
    margin-top: 10px;
  }
  
  .sec03 .heading {
    color: #fff;
    font-size: 11px;
    line-height: 24px;
    margin-top: 12px;
  }
  
  .sec03 .cards_wrap {
    border: 3px solid rgb(167, 144, 92, .31);
  }
  
  .sec03 .cards_wrap_inner {
    padding: 20px;
  }
  
  
  .sec03_deco {
    right: 10px;
    top: 0;
    width: 152px;
  }
  
  .sec03 .sec03_text02 {
    font-size: 11px;
    line-height: calc(19/11);
    margin-top: 17px;
  }
  .sec03 .sec03_logo {
    margin: 40px auto 0;
    width: 230px;
  }
  
  .sec03 .sec03_text03 {
    font-size: 16px;
    letter-spacing: 0;
    line-height: calc(23/16);
    margin-top: 5px;
  }
  
  .sec03 .sec03_text03_small {
    font-size: 11px;
    margin-top: 20px;
  }
  
  .sec03 .sec01_link {
    box-shadow: 10px 10px 20px rgba(0, 0, 0, .19);
    font-size: 16px;
    line-height: 58px;
    margin: 25px auto 0;
    width: 259px;
  }
}

/* ------------------------------------------
  sec04
------------------------------------------ */
.sec04 {
  background-color: rgb(242, 242, 233, .7);
  background-image: url(../img/sec04_bg.png);
  background-position: top 50px center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}

.sec04 .container {
  margin: 0 auto;
  max-width: 1000px;
  padding: 153px 0 90px;
}

.sec04 .sec04_ttl {
  margin: 0 auto;
  width: 637px;
}

.sec04 .sec04_text01 {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(45/29);
  margin-top: 35px;
  text-align: center;
}

.sec04 .complete_box_period {
  margin: 33px auto 0;
  width: 824px;
}

.sec04 .complete_box_images {
  align-items: center;
  display: flex;
  justify-content: center;
  margin-top: 10px;
}

.sec04 .complete_box_images .completebox_img_left {
  width: 510px;
}

.sec04 .complete_box_images .completebox_img_right {
  width: 448px;
}

.sec04 .sec04_text02 {
  color: #e13f76;
  font-family: YuGothic;
  font-size: 17px;
  font-weight: bold;
  letter-spacing: .04em;
  line-height: calc(29/17);
  text-align: center;
}

.sec04 .sec04_link {
  background-color: #ffd900;
  /* background-color: lightgray; */
  border-radius: 32px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .26);
  color: #000;
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 64px;
  margin: 30px auto 0;
  text-align: center;
  width: 358px;
}

.sec04 .sec04_link_text {
  font-size: 17px;
  font-weight: bold;
  letter-spacing: .04em;
  line-height: calc(29/17);
  text-align: center;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .sec04 {
    background-color: #F6F6EF;
    background-image: url(../img/sec04_bg_sp.png);
    background-position: top 22px left;
    background-size: 100px 17px;
    background-repeat: repeat-x;
  }
  
  .sec04 .container {
    max-width: unset;
    padding: 83px 15px 62px;
  }
  
  .sec04 .sec04_ttl {
    width: 306px;
  }
  
  .sec04 .sec04_text01 {
    font-size: 16px;
    letter-spacing: 0;
    line-height: calc(23/16);
    margin-top: 30px;
  }
  
  .sec04 .complete_box_period {
    margin: 30px auto 0;
    width: auto;
    padding: 0 10px;
  }
  
  .sec04 .complete_box_images {
    flex-direction: column;
    margin-top: 35px;
    padding: 0 25px;
  }
  
  .sec04 .complete_box_images .completebox_img_left {
    width: auto;
  }
  
  .sec04 .complete_box_images .completebox_img_right {
    width: auto;
    margin-left: 30px;
  }
  
  .sec04 .sec04_text02 {
    font-size: 11px;
    line-height: calc(19/11);
    text-align: left;
    padding: 0 10px;
  }
  
  .sec04 .sec04_link {
    box-shadow: 10px 10px 20px rgba(0, 0, 0, .19);
    font-size: 16px;
    line-height: 58px;
    margin: 25px auto 0;
    width: 259px;
  }

  .sec04 .sec04_link_text {
    margin-top: 20px;
    font-size: 11px;
    line-height: calc(19/11);
  }
}

/* ------------------------------------------
  sec05
------------------------------------------ */
.sec05 {
  background-color: #fff;
  padding: 267px 0 279px;
  position: relative;
}

.sec05 .sec05_img01 {
  height: 368px;
  left: 52%;
  position: absolute;
  top: -80px;
  transform: translateX(-50%);
  width: 987px;
}

.sec05 .sec05_flex_wrap {
  display: flex;
}

.sec05 .sec05_flex_wrap .sec05_flex_text {
  flex-shrink: 0;
  padding-bottom: 50px;
  padding-top: 50px;
  width: 50%;
}

.sec05 .sec05_flex_wrap .sec05_flex_text .sec05_flex_text_inner {
  margin-left: auto;
  width: 500px;
}
.sec05 .sec05_flex_wrap .sec05_flex_text .sec05_ttl {
  margin: 0 auto;
  width: 267px;
}

.sec05 .sec05_flex_wrap .sec05_flex_text .sec05_text01 {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: 45px;
  margin-top: 20px;
  text-align: center;
}

.sec05 .sec05_flex_wrap .sec05_flex_text .sec05_text01_small {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: .04em;
  margin-top: 25px;
  text-align: center;
}

.sec05 .sec05_flex_wrap .sec05_flex_text .sec05_link {
  background-color: #e13f76;
  border-radius: 32px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .26);
  color: #fff;
  display: block;
  font-size: 20px;
  font-weight: bold;
  line-height: 64px;
  margin: 16px auto 0;
  text-align: center;
  width: 358px;
}

.sec05 .sec05_flex_wrap .sec05_flex_img {
  align-items: end;
  display: flex;
  flex-direction: column;
  flex-shrink: 0 ;
  width: 50%;
}

.sec05 .sec05_flex_wrap .sec05_flex_img .sec05_img02 {
  width: 634px;
}

.sec05 .sec05_img03 {
  bottom: 0;
  left: 50%;
  position: absolute;
  transform: translateX(-50%);
  width: 467px;
}

@media screen and (max-width: 767px) {
  .sec05 {
    padding: 100px 0 0;
  }
  
  .sec05 .sec05_img01 {
    height: auto;
    top: -56px;
    width: 393px;
  }
  
  .sec05 .sec05_flex_wrap {
    flex-direction: column;
  }

  .sec05 .sec05_flex_wrap .sec05_flex_text {
    padding: 0 25px;
    width: auto;
}
  
  .sec05 .sec05_flex_wrap .sec05_flex_text .sec05_flex_text_inner {
    display: flex;
    width: auto;
    margin-left: unset;
    align-items: center;
    justify-content: center;
  }
  .sec05 .sec05_flex_wrap .sec05_flex_text .sec05_ttl {
    width: 128px;
    flex-shrink: 0;
    margin: 0 7px 0 0;
  }
  
  .sec05 .sec05_flex_wrap .sec05_flex_text .sec05_text01 {
    font-size: 16px;
    letter-spacing: 0;
    line-height: calc(23/16);
    margin-top: 50px;
  }
  
  .sec05 .sec05_text01_small {
    font-family: 'Shippori Mincho', serif;
    font-weight: normal;
    font-size: 12px;
    letter-spacing: 0.04em;
    text-align: center;
    color: #2f3549;
    margin-top: 25px;
  }
  
  .sec05 .sec05_link {
    background-color: #e13f76;
    border-radius: 32px;
    box-shadow: 10px 10px 20px rgba(0, 0, 0, .19);
    color: #fff;
    display: block;
    font-size: 16px;
    font-weight: bold;
    line-height: 58px;
    margin: 16px auto 0;
    text-align: center;
    width: 259px;
    
  }
  
  .sec05 .sec05_flex_wrap .sec05_flex_img {
    width: auto;
    margin-top: 20px;
  }
  
  .sec05 .sec05_flex_wrap .sec05_flex_img .sec05_img02 {
    width: 91.5%;
    max-width: 460px;
  }
  
  .sec05 .sec05_img03 {
    position: static;
    transform: translateX(0);
    width: 58.7%;
    margin: 51px auto 0;
  }
  
}

/* ------------------------------------------
  sec06
------------------------------------------ */
.sec06 {
  background-image: url(../img/sec06_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.sec06 .container {
  margin: 0 auto;
  max-width: 1000px;
  padding: 97px 0 92px;
}

.sec06 .sec06_ttl {
  margin: 0 auto;
  width: 343px;
}

.sec06 .sec06_content {
  background-color: #fff;
  margin-top: 48px;
  padding: 45px 72px 64px;
}

.sec06 .sec06_content .sec06_sub_ttl01 {
  background-image: url(../img/sec06_sub_ttl01_bg.png);
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 411px 41px;
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 29px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: 45px;
  padding-top: 65px;
  text-align: center;
}

.sec06 .sec06_content .sec06_link_wrap {
  display: flex;
  justify-content: center;
  margin-top: 25px;
}

.sec06 .sec06_content .sec06_link_wrap a {
  align-items: center;
  border-radius: 32px;
  box-shadow: 10px 10px 20px rgba(0, 0, 0, .16);
  color: #000;
  display: block;
  display: flex;
  flex-direction: column;
  font-size: 20px;
  font-weight: bold;
  height: 64px;
  justify-content: center;
  text-align: center;
  width: 358px;
}

.sec06 .sec06_content .sec06_link_wrap a.sec06_link01 {
  background-color: #ffd900;
  /* margin-right: 20px; */
}
.sec06 .sec06_content .sec06_link_wrap a.sec06_link02 {
  background-color: #fff;
  border: 3px solid #ffd900;
  display: none;
}

.sec06 .sec06_sub_ttl02 {
  margin-top: 85px;
}

.sec06 .qa_list {
  margin-top: 35px;
}

.sec06 .qa_list li {
  border-bottom: 3px dotted #dbdbdb;
  padding: 27px 0;
}

.sec06 .qa_list li .question {
  align-items: center;
  color: #2f3549;
  display: flex;
  font-family: 'Shippori Mincho', serif;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: .04em;
  line-height: calc(24/20);
  text-align: left;
}

.sec06 .qa_list li .question::before {
  background-image: url(../img/q_icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  flex-shrink: 0;
  height: 44px;
  margin-right: 17px;
  width: 44px;
}

.sec06 .qa_list li .answer {
  align-items: center;
  color: #2f3549;
  display: flex;
  font-family: 'Shippori Mincho', serif;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: .04em;
  line-height: calc(20/17);
  margin-top: 10px;
  text-align: left;
}

.sec06 .qa_list li .answer::before {
  background-image: url(../img/a_icon.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: block;
  flex-shrink: 0;
  height: 44px;
  margin-right: 17px;
  width: 44px;
}

@media screen and (max-width: 767px) {
  .sec06 {
    background-image: url(../img/sec06_bg_sp.png);
  }
  
  .sec06 .container {
    max-width: unset;
    padding: 58px 15px 62px;
  }
  
  .sec06 .sec06_ttl {
    width: 165px;
  }
  
  .sec06 .sec06_content {
    margin-top: 23px;
    padding: 32px 25px 44px;
  }
  
  .sec06 .sec06_content .sec06_sub_ttl01 {
    background-size: 271px 26px;
    font-size: 16px;
    letter-spacing: 0;
    line-height: calc(23/16);
    padding-top: 50px;
  }
  
  .sec06 .sec06_content .sec06_link_wrap {
    flex-direction: column;
    align-items: center;
    margin-top: 22px;
    row-gap: 17px;
  }
  
  .sec06 .sec06_content .sec06_link_wrap a {
    box-shadow: 10px 10px 20px rgba(0, 0, 0, .19);
    font-size: 16px;
    height: 58px;
    width: 259px;
  }
  
  .sec06 .sec06_content .sec06_link_wrap a.sec06_link01 {
    margin-right: 0;
  }
  
  .sec06 .sec06_sub_ttl02 {
    margin-top: 45px;
  }
  
  .sec06 .qa_list {
    margin-top: 18px;
  }
  
  .sec06 .qa_list li {
    border-bottom: 3px dotted #dbdbdb;
    padding: 17px 0;
  }
  
  .sec06 .qa_list li .question {
    font-size: 16px;
    line-height: calc(19/16);
    align-items: flex-start;
  }
  
  .sec06 .qa_list li .question::before {
    height: 25px;
    margin-right: 7px;
    width: 25px;
  }
  
  .sec06 .qa_list li .answer {
    font-size: 16px;
    line-height: calc(19/16);
    align-items: flex-start;
  }
  
  .sec06 .qa_list li .answer::before {
    height: 25px;
    margin-right: 7px;
    width: 25px;
  }
}

/* ------------------------------------------
  sec07
------------------------------------------ */
.sec07 {
  background-image: url(../img/sec07_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.sec07 .container {
  margin: 0 auto;
  max-width: 1000px;
}

.sec07 .sec07_content {
  background-image: url(../img/sec07_content_bg.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  padding: 60px 0 85px;
}

.sec07 .sec07_ttl {
  margin: 0 auto;
  width: 457px;
}

.sec07 .sec07_text01 {
  color: #454ec2;
  font-family: 'Shippori Mincho', serif;
  font-size: 22px;
  font-weight: normal;
  letter-spacing: .02em;
  line-height: calc(34/22);
  margin-top: 30px;
  text-align: center;
}

.sec07 .sec07_text02 {
  color: #2f3549;
  font-family: 'Shippori Mincho', serif;
  font-size: 16px;
  font-weight: normal;
  letter-spacing: .04em;
  line-height: calc(28/16);
  margin-top: 30px;
  text-align: center;
}

.sec07 .sec07_text02 + .sec07_text02 {
  margin-top: 25px;
}

.sec07 .sec07_link_wrap.pc {
  display: flex;
  justify-content: center;
  margin-top: 50px;
}

.sec07 .sec07_link_wrap.sp {
  display: none;
}

.sec07 .sec07_link_wrap a {
  align-items: center;
  border-radius: 10px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, .16);
  display: flex;
  font-family: 'Shippori Mincho', serif;
  font-size: 15px;
  font-weight: normal;
  height: 46px;
  justify-content: center;
  letter-spacing: .02em;
  line-height: 1;
  width: 239px;
}

.sec07 .sec07_link_wrap a.sec07_link01 {
  background: linear-gradient(#869ff1 0%, #d193cf 100%);
  color: #fff;
  margin-right: 30px;
}

.sec07 .sec07_link_wrap a.sec07_link01::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(../img/sec07_link01_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 3px;
}

.sec07 .sec07_link_wrap a.sec07_link02 {
  background-color: #fff;
  color: #000;
  border: 1px solid #000;
}

.sec07 .sec07_link_wrap a.sec07_link02::before {
  content: "";
  display: block;
  width: 24px;
  height: 24px;
  background-image: url(../img/sec07_link02_x.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-right: 6px;
}

.sec07 .sec07_link_wrap a.sec07_link02::after {
  content: "";
  display: block;
  width: 18px;
  height: 18px;
  background-image: url(../img/sec07_link02_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin-left: 8px;
}

@media screen and (max-width: 767px) {
  .sec07 {
    background-image: url(../img/sec07_bg_sp.png);

  }
  
  .sec07 .container {
    max-width: unset;
    padding: 42px 0;
  }
  
  .sec07 .sec07_content {
    background-image: url(../img/sec07_content_bg_sp.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    padding: 43px 29px 106px;
  }
  
  .sec07 .sec07_ttl {
    width: 266px;
  }
  
  .sec07 .sec07_text01 {
    font-size: 16px;
    letter-spacing: .02em;
    line-height: calc(23/16);
    margin-top: 35px;
  }
  
  .sec07 .sec07_text02 {
    font-size: 13px;
    line-height: calc(16/13);
    margin-top: 26px;
  }
  
  .sec07 .sec07_text02 + .sec07_text02 {
    margin-top: 20px;
  }
  

  
  .sec07 .sec07_link_wrap a {
    font-size: 14px;
    width: 246px;
    margin: 0 auto;
  }
  
  .sec07 .sec07_link_wrap a.sec07_link01 {
    margin-right: auto;
    margin-bottom: 17px;
  }
  
  .sec07 .sec07_link_wrap a.sec07_link01::after {
    margin-left: 21px;
  }
  
  .sec07 .sec07_link_wrap a.sec07_link02::after {
    margin-left: 23px;
  }

  .sec07 .sec07_link_wrap.pc {
    display: none;
  }

  .sec07 .sec07_link_wrap.sp {
    display: block;
    margin-top: 26px;
  }
  
}

/* ------------------------------------------
  footer
------------------------------------------ */
footer .footer_top {
padding: 53px 0 34px;  
background: linear-gradient(to right, rgba(134, 159, 241, 0.6) 0%, #d193cf 100%);
}

footer .footer_top .sns_wrap {
  display: flex;
  justify-content: center;
  align-self: center;
  column-gap: 24px;
}

footer .footer_top .sns_wrap .sns_img {
  width: 33px;
}

footer .footer_bottom {
  padding: 37px 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

footer .footer_bottom .footer_logo {
  width: 245px;
}

footer .footer_bottom small {
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.06em;
  line-height: calc(25/12);
  text-align: left;
  color: #1a1311;
  margin-top: 15px;  
}

@media screen and (max-width: 767px) {
  footer .footer_top {
    padding: 25px 0 16px;  
    background-image: url(../img/footer_top_bg.png); 
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    }
    
    footer .footer_top .sns_wrap {
      column-gap: 11px;
    }
    
    footer .footer_top .sns_wrap .sns_img {
      width: 16px;
    }
    
    footer .footer_bottom {
      padding: 18px 0 14px;

    }
    
    footer .footer_bottom .footer_logo {
      width: 117px;
    }
    
    footer .footer_bottom small {
      font-size: 5px;
      line-height: calc(10/5);
      margin-top: 6px;  
    }
    
}

/* フェード */
.fadeUp{
  animation-name:fadeUpAnime;
  animation-duration:0.5s;
  animation-fill-mode:forwards;
  opacity:0;
  }
  
  @keyframes fadeUpAnime{
    from {
      opacity: 0;
    transform: translateY(100px);
    }
  
    to {
      opacity: 1;
    transform: translateY(0);
    }
  }
  
  .fadeUpTrigger{
      opacity: 0;
  }
  