@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@500;700&display=swap");
/* -----------------------------------------------------
	basic
----------------------------------------------------- */
html {
  font-size: 62.5%;
}

body {
  font-family: "M PLUS Rounded 1c", sans-serif;
  -webkit-text-size-adjust: 100%;
  font-size: min(1.93548vw,18px);
  font-weight: 500;
  line-height: 1.75;
  color: #000;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 3.25521vw;
  }
}

main {
  width: 100%;
  position: relative;
}

#contents {
  padding-top: min(5.51724vw,80px);
}

@media screen and (max-width: 768px) {
  #contents {
    padding-top: 11.45833vw;
  }
}

.inner {
  max-width: min(91.39785vw,850px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .inner {
    max-width: 100%;
    padding: 0 3.125vw;
  }
}

a {
  opacity: 1;
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
  text-decoration: none;
}

a img {
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

a img:hover {
  opacity: .7;
}

@media screen and (max-width: 768px) {
  a img:hover {
    opacity: 1;
  }
}

/* -----------------------------------------------------
	br
----------------------------------------------------- */
br.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  br.pc {
    display: none;
  }
}

br.sp {
  display: none;
}

@media screen and (max-width: 768px) {
  br.sp {
    display: block;
  }
}

section {
  text-align: center;
  padding: min(8.60215vw,80px) 0;
}

@media screen and (max-width: 768px) {
  section {
    padding: 10.41667vw 0;
  }
}

.js-kv_ttl, .js-kv_anc, .btn_campaign {
  visibility: hidden;
}

/* -----------------------------------------------------
  kv
----------------------------------------------------- */
.kv .kv_img {
  width: 100%;
  height: 43.03vw;
  background: url(../img/top/kv.png) center top/cover no-repeat;
  position: relative;
}

@media screen and (max-width: 768px) {
  .kv .kv_img {
    background: url(../img/top/sp/kv.png) center top/cover no-repeat;
    height: 131.51042vw;
  }
}

.kv .kv_img .title .copy {
  position: absolute;
  top: 3.45vw;
  left: 8.28vw;
}

@media screen and (max-width: 768px) {
  .kv .kv_img .title .copy {
    top: 5.20833vw;
    left: 5.20833vw;
  }
}

.kv .kv_img .title .copy img {
  width: 33.1vw;
}

@media screen and (max-width: 768px) {
  .kv .kv_img .title .copy img {
    width: 60.54688vw;
  }
}

.kv .kv_img .title .ttl {
  position: absolute;
  top: 9.66vw;
  left: 8.28vw;
}

@media screen and (max-width: 768px) {
  .kv .kv_img .title .ttl {
    top: 16.66667vw;
    left: 5.20833vw;
  }
}

.kv .kv_img .title .ttl img {
  width: 47.59vw;
}

@media screen and (max-width: 768px) {
  .kv .kv_img .title .ttl img {
    width: 89.32292vw;
  }
}

.kv .kv_img .anc_img {
  max-width: 49.66vw;
  position: absolute;
  left: 8.28vw;
  bottom: 2.76vw;
}

@media screen and (max-width: 768px) {
  .kv .kv_img .anc_img {
    display: none;
  }
}

.kv .kv_img .anc_img ul {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap;
  gap: 1.1vw;
}

.kv .kv_img .anc_img ul li img {
  width: auto;
  height: 6.21vw;
}

.kv .kv_img .anc_img ul li a:hover img {
  opacity: 1;
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.kv .anc_link {
  display: none;
}

@media screen and (max-width: 768px) {
  .kv .anc_link {
    display: -webkit-box;
    /*Android4.3*/
    display: -ms-flexbox;
    /*IE10*/
    display: -webkit-flex;
    /*PC-Safari,iOS8.4*/
    display: flex;
    -ms-flex-wrap: wrap;
    /*IE10*/
    -webkit-flex-wrap: wrap;
    /*PC-Safari,iOS8.4*/
    flex-wrap: wrap;
  }
  .kv .anc_link li {
    width: 50%;
  }
  .kv .anc_link li a {
    display: block;
    font-size: 3.90625vw;
    font-weight: 700;
    color: #fff;
    line-height: 14.58333vw;
    text-align: center;
    position: relative;
  }
  .kv .anc_link li a .arrow {
    position: absolute;
    top: 50%;
    right: 2.08333vw;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    background: #fff;
    width: 3.90625vw;
    height: 3.90625vw;
    border-radius: 50vh;
  }
  .kv .anc_link li a .arrow::after {
    content: '';
    display: inline-block;
    position: absolute;
    top: 45%;
    left: 50%;
    width: 1.30208vw;
    height: 1.30208vw;
    border: 0.39063vw solid;
    border-left: 0;
    border-bottom: 0;
    -webkit-transform: translate(-50%, -50%) rotate(135deg);
    -ms-transform: translate(-50%, -50%) rotate(135deg);
    transform: translate(-50%, -50%) rotate(135deg);
  }
  .kv .anc_link li a.livestock {
    background: #FF5E32;
  }
  .kv .anc_link li a.livestock .arrow::after {
    border-color: #FF5E32;
  }
  .kv .anc_link li a.disasterprevention {
    background: #020282;
  }
  .kv .anc_link li a.disasterprevention .arrow::after {
    border-color: #020282;
  }
  .kv .anc_link li a.localcommunity {
    background: #00A032;
  }
  .kv .anc_link li a.localcommunity .arrow::after {
    border-color: #00A032;
  }
  .kv .anc_link li a.horsematters {
    background: #00A0C8;
  }
  .kv .anc_link li a.horsematters .arrow::after {
    border-color: #00A0C8;
  }
  .kv .anc_link li:nth-child(odd) {
    border-right: 0.39063vw solid #fff;
  }
  .kv .anc_link li:nth-child(n+3) {
    border-top: 0.39063vw solid #fff;
  }
}

.kv .btn_campaign {
  position: absolute;
  top: 1.72vw;
  left: 44.48vw;
  -webkit-animation: zoomInAnime 1s linear infinite;
  animation: zoomInAnime 1s linear infinite;
}

@media screen and (max-width: 768px) {
  .kv .btn_campaign {
    top: 2.08333vw;
    right: 2.08333vw;
    left: inherit;
  }
}

.kv .btn_campaign img {
  width: 10.9vw;
}

@media screen and (max-width: 768px) {
  .kv .btn_campaign img {
    width: 19.79167vw;
  }
}

.kv .btn_campaign img:hover {
  opacity: 1;
}

@-webkit-keyframes zoomInAnime {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

@keyframes zoomInAnime {
  0%, 100% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  50% {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
  }
}

/* -----------------------------------------------------
  news
----------------------------------------------------- */
.news {
  background: #E6E1CD;
}

.news .sec_ttl {
  font-size: min(4.30108vw,40px);
  font-weight: 700;
  position: relative;
}

@media screen and (max-width: 768px) {
  .news .sec_ttl {
    font-size: 6.51042vw;
  }
}

.news .sec_ttl::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 0;
  right: min(1.72043vw,16px);
  width: min(5.69892vw,53px);
  height: min(14.30108vw,133px);
  background: url(../img/top/sec_news_chara.png) right top/contain no-repeat;
}

@media screen and (max-width: 768px) {
  .news .sec_ttl::after {
    top: -3.125vw;
    right: 6.25vw;
    width: 8.33333vw;
    height: 20.96354vw;
  }
}

.news .sec_ttl span {
  width: min(14.62366vw,136px);
  margin: auto;
  background: #000;
  font-size: min(2.68817vw,25px);
  color: #fff;
  border-radius: 50vh;
  display: block;
}

@media screen and (max-width: 768px) {
  .news .sec_ttl span {
    width: 15.625vw;
    font-size: 3.25521vw;
  }
}

.news .tabs {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  margin-top: min(4.30108vw,40px);
}

@media screen and (max-width: 768px) {
  .news .tabs {
    -ms-flex-wrap: wrap;
    /*IE10*/
    -webkit-flex-wrap: wrap;
    /*PC-Safari,iOS8.4*/
    flex-wrap: wrap;
    margin-top: 3.125vw;
  }
}

.news .tabs li {
  width: 19%;
  background: #808080;
  color: #fff;
  line-height: min(6.02151vw,56px);
}

@media screen and (max-width: 768px) {
  .news .tabs li {
    width: 49%;
    font-size: 3.90625vw;
    line-height: 10.41667vw;
  }
}

.news .tabs li:nth-child(1).active {
  background: #FCCF00;
  color: #000;
}

.news .tabs li:nth-child(2).active {
  background: #FF5E32;
}

.news .tabs li:nth-child(3).active {
  background: #020282;
}

.news .tabs li:nth-child(4).active {
  background: #00A032;
}

.news .tabs li:nth-child(5).active {
  background: #00A0C8;
}

@media screen and (max-width: 768px) {
  .news .tabs li:nth-child(n+3) {
    margin-top: 2%;
  }
}

.news .tabs li:hover {
  cursor: pointer;
}

.news .panel {
  display: none;
  background: #fff;
  margin-top: min(1.07527vw,10px);
}

@media screen and (max-width: 768px) {
  .news .panel {
    margin-top: 2%;
  }
}

.news .panel .item li a {
  display: block;
  text-align: left;
  padding: min(2.58065vw,24px) min(6.02151vw,56px) min(2.58065vw,24px) min(3.44086vw,32px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .news .panel .item li a {
    padding: 4.16667vw 7.29167vw 4.16667vw 4.16667vw;
  }
}

.news .panel .item li a::after {
  content: '';
  display: inline-block;
  position: absolute;
  top: 50%;
  right: min(2.58065vw,24px);
  width: min(1.29032vw,12px);
  height: min(1.29032vw,12px);
  border: 2px solid #000;
  border-left: 0;
  border-bottom: 0;
  -webkit-transform: translate(-25%, -50%) rotate(45deg);
  -ms-transform: translate(-25%, -50%) rotate(45deg);
  transform: translate(-25%, -50%) rotate(45deg);
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

@media screen and (max-width: 768px) {
  .news .panel .item li a::after {
    right: 3.125vw;
    width: 2.08333vw;
    height: 2.08333vw;
    border: 0.52083vw solid #000;
    border-left: 0;
    border-bottom: 0;
  }
}

.news .panel .item li .day.new {
  position: relative;
}

.news .panel .item li .day.new::after {
  content: 'NEW';
  display: inline-block;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  background: #FF0000;
  font-size: min(1.50538vw,14px);
  color: #fff;
  margin-left: min(1.72043vw,16px);
  padding: 0 min(0.86022vw,8px);
}

@media screen and (max-width: 768px) {
  .news .panel .item li .day.new::after {
    font-size: 2.86458vw;
    margin-left: 2.08333vw;
    padding: 0 2.08333vw;
  }
}

.news .panel .item li + li {
  border-top: 1px solid #808080;
}

@media screen and (max-width: 768px) {
  .news .panel .item li + li {
    border-top: 0.26042vw solid #808080;
  }
}

.news .panel.active {
  display: block;
}

.news .btn a {
  max-width: min(24.08602vw,224px);
}

@media screen and (max-width: 768px) {
  .news .btn a {
    max-width: 45.57292vw;
  }
}

/* -----------------------------------------------------
  story
----------------------------------------------------- */
.story .sec_ttl img {
  width: min(49.46237vw,460px);
}

@media screen and (max-width: 768px) {
  .story .sec_ttl img {
    width: 63.15104vw;
  }
}

.story .chara_img {
  margin-top: min(3.44086vw,32px);
}

@media screen and (max-width: 768px) {
  .story .chara_img {
    margin-top: 5.20833vw;
  }
}

.story .chara_img img {
  width: min(76.34409vw,710px);
}

@media screen and (max-width: 768px) {
  .story .chara_img img {
    width: 87.89063vw;
  }
}

.story .text {
  margin-top: min(4.30108vw,40px);
}

@media screen and (max-width: 768px) {
  .story .text {
    margin-top: 7.29167vw;
  }
}

.story .text p {
  font-size: min(2.68817vw,25px);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .story .text p {
    font-size: 3.90625vw;
  }
}

.story .text p + p {
  margin-top: min(4.30108vw,40px);
}

@media screen and (max-width: 768px) {
  .story .text p + p {
    margin-top: 5.20833vw;
  }
}

.story .text p img.logo {
  width: min(39.78495vw,370px);
  margin-left: min(1.72043vw,16px);
}

@media screen and (max-width: 768px) {
  .story .text p img.logo {
    width: 54.6875vw;
    margin-left: 2.08333vw;
  }
}

.story .text p img.heart {
  width: min(3.76344vw,35px);
  margin: 0 min(0.43011vw,4px);
}

@media screen and (max-width: 768px) {
  .story .text p img.heart {
    width: 5.20833vw;
    margin: 0 0.52083vw;
  }
}

.story .group {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap;
  max-width: min(56.45161vw,525px);
  margin: min(4.30108vw,40px) auto 0;
}

@media screen and (max-width: 768px) {
  .story .group {
    max-width: 85.9375vw;
    margin-top: 7.29167vw;
  }
}

.story .group li {
  width: 49%;
  font-size: min(2.68817vw,25px);
  font-weight: 700;
  color: #fff;
  line-height: min(5.16129vw,48px);
  border-radius: 50vh;
}

@media screen and (max-width: 768px) {
  .story .group li {
    font-size: 4.16667vw;
    line-height: 8.33333vw;
  }
}

.story .group li:nth-child(1) {
  background: #FF5E32;
}

.story .group li:nth-child(2) {
  background: #020282;
}

.story .group li:nth-child(3) {
  background: #00A032;
}

.story .group li:nth-child(4) {
  background: #00A0C8;
}

.story .group li:nth-child(n+3) {
  margin-top: 2%;
}

.story .movie {
  margin-top: min(6.02151vw,56px);
}

@media screen and (max-width: 768px) {
  .story .movie {
    margin-top: 7.29167vw;
  }
}

.story .movie .youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.story .movie .youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

.story .movie .movie_ttl {
  font-size: min(2.68817vw,25px);
  font-weight: 700;
  margin-top: min(0.86022vw,8px);
}

@media screen and (max-width: 768px) {
  .story .movie .movie_ttl {
    font-size: 3.90625vw;
    margin-top: 1.04167vw;
  }
}

.story .member {
  margin-top: min(8.60215vw,80px);
}

@media screen and (max-width: 768px) {
  .story .member {
    margin-top: 10.41667vw;
  }
}

.story .member .member_ttl {
  background: #FF6496;
  font-size: min(3.22581vw,30px);
  color: #fff;
  font-weight: 700;
  line-height: min(6.88172vw,64px);
  position: relative;
}

@media screen and (max-width: 768px) {
  .story .member .member_ttl {
    font-size: 4.55729vw;
    line-height: 10.41667vw;
  }
}

.story .member .member_ttl::before, .story .member .member_ttl::after {
  content: '';
  position: absolute;
  top: 50%;
  right: min(2.58065vw,24px);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: min(2.58065vw,24px);
  height: 3px;
  background-color: #fff;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .story .member .member_ttl::before, .story .member .member_ttl::after {
    right: 3.125vw;
    width: 4.16667vw;
    height: 0.39063vw;
  }
}

.story .member .member_ttl::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  margin-top: -1px;
}

@media screen and (max-width: 768px) {
  .story .member .member_ttl::after {
    margin-top: -0.13021vw;
  }
}

.story .member .member_ttl.open::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.story .member .member_ttl:hover {
  cursor: pointer;
}

.story .member .wrap {
  background: #FFD0DF;
  padding: min(2.15054vw,20px);
  display: none;
}

@media screen and (max-width: 768px) {
  .story .member .wrap {
    padding: 2%;
  }
}

.story .member .wrap .item {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  -ms-flex-wrap: wrap;
  /*IE10*/
  -webkit-flex-wrap: wrap;
  /*PC-Safari,iOS8.4*/
  flex-wrap: wrap;
}

.story .member .wrap .item li {
  width: 49%;
  background: #fff;
  padding: min(2.15054vw,20px);
}

@media screen and (max-width: 768px) {
  .story .member .wrap .item li {
    padding: 3.125vw;
  }
}

.story .member .wrap .item li .img {
  width: min(18.8172vw,175px);
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .story .member .wrap .item li .img {
    width: 22.78646vw;
  }
}

.story .member .wrap .item li .name {
  border-bottom: 1px solid #FF6496;
  margin-top: min(2.15054vw,20px);
  padding-bottom: min(0.86022vw,8px);
  font-size: min(2.7957vw,26px);
  font-weight: 700;
}

@media screen and (max-width: 768px) {
  .story .member .wrap .item li .name {
    border-bottom: 0.26042vw solid #FF6496;
    margin-top: 2.08333vw;
    padding-bottom: 1.04167vw;
    font-size: 3.25521vw;
  }
}

.story .member .wrap .item li .desc {
  text-align: left;
  margin-top: min(1.72043vw,16px);
}

@media screen and (max-width: 768px) {
  .story .member .wrap .item li .desc {
    font-size: 2.34375vw;
    margin-top: 2.08333vw;
  }
}

.story .member .wrap .item li:nth-child(n+3) {
  margin-top: 2%;
}

/* -----------------------------------------------------
  activity
----------------------------------------------------- */
.activity {
  background: #E6E1CD;
  padding-top: 0;
}

@media screen and (max-width: 768px) {
  .activity {
    padding-bottom: 20.83333vw;
  }
}

.activity .sec_ttl {
  background: #000;
  font-size: min(3.22581vw,30px);
  font-weight: 700;
  color: #fff;
  padding: min(0.86022vw,8px) 0;
}

@media screen and (max-width: 768px) {
  .activity .sec_ttl {
    font-size: 5.85938vw;
    padding: 2.08333vw 0;
  }
}

.activity .wrap {
  margin-top: min(6.02151vw,56px);
}

@media screen and (max-width: 768px) {
  .activity .wrap {
    margin-top: 7.29167vw;
  }
}

.activity .wrap .wrap_ttl img {
  width: min(43.01075vw,400px);
}

@media screen and (max-width: 768px) {
  .activity .wrap .wrap_ttl img {
    width: 80.72917vw;
  }
}

.activity .wrap p {
  margin-top: min(2.58065vw,24px);
  font-size: min(2.15054vw,20px);
  text-align: left;
}

@media screen and (max-width: 768px) {
  .activity .wrap p {
    margin-top: 3.125vw;
    font-size: 3.25521vw;
  }
}

.activity .wrap .img {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
  margin-top: min(2.58065vw,24px);
}

@media screen and (max-width: 768px) {
  .activity .wrap .img {
    display: block;
    margin-top: 5.20833vw;
  }
}

.activity .wrap .img li {
  width: 49%;
}

@media screen and (max-width: 768px) {
  .activity .wrap .img li {
    width: 100%;
  }
  .activity .wrap .img li + li {
    margin-top: 3.125vw;
  }
}

.activity .wrap + .wrap {
  border-top: 1px solid #808080;
  padding-top: min(6.02151vw,56px);
}

@media screen and (max-width: 768px) {
  .activity .wrap + .wrap {
    border-top: 0.26042vw solid #808080;
    padding-top: 7.29167vw;
  }
}

/* -----------------------------------------------------
  campaign
----------------------------------------------------- */
.campaign {
  background: #FFE1E1;
  position: relative;
}

.campaign::before, .campaign::after {
  content: '';
  display: inline-block;
  left: 0;
  position: absolute;
  width: 100%;
  height: min(1.6129vw,15px);
  background: url(../img/top/sec_campaign_bg.png) left top/contain repeat-x;
}

@media screen and (max-width: 768px) {
  .campaign::before, .campaign::after {
    height: 1.95313vw;
  }
}

.campaign::before {
  top: -.5em;
}

.campaign::after {
  bottom: -.5em;
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.campaign .logo img {
  width: min(53.44086vw,497px);
}

@media screen and (max-width: 768px) {
  .campaign .logo img {
    width: 51.43229vw;
  }
}

.campaign .sec_ttl {
  margin-top: min(3.44086vw,32px);
}

@media screen and (max-width: 768px) {
  .campaign .sec_ttl {
    margin-top: 3.125vw;
  }
}

.campaign .sec_ttl img {
  width: min(92.25806vw,858px);
}

@media screen and (max-width: 768px) {
  .campaign .sec_ttl img {
    width: 100%;
  }
}

.campaign .lead {
  margin-top: min(8.60215vw,80px);
}

@media screen and (max-width: 768px) {
  .campaign .lead {
    margin-top: 6.25vw;
  }
}

.campaign .lead img {
  width: auto;
  height: min(12.90323vw,120px);
}

@media screen and (max-width: 768px) {
  .campaign .lead img {
    height: 12.76042vw;
  }
}

.campaign .lead div + div {
  margin-top: min(4.30108vw,40px);
}

@media screen and (max-width: 768px) {
  .campaign .lead div + div {
    margin-top: 5.20833vw;
  }
}

.campaign .chara_img {
  margin-top: min(8.60215vw,80px);
}

@media screen and (max-width: 768px) {
  .campaign .chara_img {
    margin-top: 8.33333vw;
  }
}

.campaign .chara_img img {
  width: min(84.51613vw,786px);
}

@media screen and (max-width: 768px) {
  .campaign .chara_img img {
    width: 83.59375vw;
  }
}

.campaign .btn_member a {
  display: block;
  max-width: min(48.3871vw,450px);
  margin: min(9.46237vw,88px) auto 0;
  padding: min(13.54839vw,12px) 0 min(2.58065vw,24px);
  background: #fff;
  border: 2px solid #FF6496;
  border-radius: min(1.29032vw,12px);
  font-size: min(2.47312vw,23px);
  color: #FF6496;
  font-weight: 700;
  position: relative;
}

@media screen and (max-width: 768px) {
  .campaign .btn_member a {
    max-width: 58.59375vw;
    margin-top: 10.41667vw;
    padding: 2.08333vw 0 5.20833vw;
    border: 0.52083vw solid #FF6496;
    border-radius: 2.08333vw;
    font-size: 3.125vw;
  }
}

.campaign .btn_member a::before, .campaign .btn_member a::after {
  content: '';
  display: inline-block;
  position: absolute;
}

.campaign .btn_member a::before {
  top: 50%;
  left: 1em;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  width: min(9.13978vw,85px);
  height: min(15.80645vw,147px);
  background: url(../img/top/sec_campaign_btn_ill.png) left center/contain no-repeat;
}

@media screen and (max-width: 768px) {
  .campaign .btn_member a::before {
    width: 11.06771vw;
    height: 19.14063vw;
  }
}

.campaign .btn_member a::after {
  bottom: .5em;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  width: min(1.29032vw,12px);
  height: min(1.29032vw,12px);
  border: 2px solid #FF6496;
  border-left: 0;
  border-bottom: 0;
  -webkit-transform: translateY(-25%) rotate(135deg);
  -ms-transform: translateY(-25%) rotate(135deg);
  transform: translateY(-25%) rotate(135deg);
  -webkit-transition: all .5s;
  -o-transition: all .5s;
  transition: all .5s;
}

@media screen and (max-width: 768px) {
  .campaign .btn_member a::after {
    bottom: 2.08333vw;
    width: 2.08333vw;
    height: 2.08333vw;
    border: 0.52083vw solid #FF6496;
    border-left: 0;
    border-bottom: 0;
  }
}

.campaign .btn_member a:hover {
  background: #FF6496;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .campaign .btn_member a:hover {
    background: #fff;
    color: #FF6496;
  }
}

.campaign .btn_member a:hover::after {
  border: 2px solid #fff;
  border-left: 0;
  border-bottom: 0;
}

@media screen and (max-width: 768px) {
  .campaign .btn_member a:hover::after {
    border: 0.52083vw solid #FF6496;
    border-left: 0;
    border-bottom: 0;
  }
}

.campaign .present_ttl {
  background: #461400;
  margin-top: min(8.60215vw,80px);
  padding: min(1.72043vw,16px) 0;
  border-radius: min(1.72043vw,16px) min(1.72043vw,16px) 0 0;
}

@media screen and (max-width: 768px) {
  .campaign .present_ttl {
    margin-top: 10.41667vw;
    padding: 3.125vw 0;
    border-radius: 2.08333vw 2.08333vw 0 0;
  }
}

.campaign .present_ttl img {
  width: min(69.56989vw,647px);
}

@media screen and (max-width: 768px) {
  .campaign .present_ttl img {
    width: 84.24479vw;
  }
}

.campaign .present_wrap {
  background: #fff;
  padding: min(6.88172vw,64px) min(8.60215vw,80px);
  border-radius: 0 0 min(1.72043vw,16px) min(1.72043vw,16px);
}

@media screen and (max-width: 768px) {
  .campaign .present_wrap {
    padding: 5.20833vw 3.125vw;
  }
}

.campaign .present_wrap div + div {
  margin-top: min(4.30108vw,40px);
}

@media screen and (max-width: 768px) {
  .campaign .present_wrap div + div {
    margin-top: 3.125vw;
  }
}

.campaign .present_wrap .note {
  margin-top: min(1.72043vw,16px);
}

@media screen and (max-width: 768px) {
  .campaign .present_wrap .note {
    margin-top: 5.20833vw;
    font-size: 2.86458vw;
  }
}

.campaign .flow {
  margin-top: min(12.90323vw,120px);
}

@media screen and (max-width: 768px) {
  .campaign .flow {
    margin-top: 10.41667vw;
  }
}

.campaign .flow .flow_ttl {
  background: #000;
  font-size: min(2.68817vw,25px);
  font-weight: 700;
  color: #fff;
  padding: min(0.43011vw,4px) min(4.30108vw,40px);
  border-radius: 50vh;
  display: inline-block;
}

@media screen and (max-width: 768px) {
  .campaign .flow .flow_ttl {
    font-size: 4.6875vw;
    padding: 1.04167vw 5.20833vw;
  }
}

.campaign .flow .step {
  margin: min(6.02151vw,56px) 0;
}

@media screen and (max-width: 768px) {
  .campaign .flow .step {
    margin: 7.29167vw 0;
  }
}

.campaign .flow .step li {
  font-size: min(2.68817vw,25px);
  text-align: left;
  counter-increment: number;
  position: relative;
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li {
    font-size: 3.90625vw;
  }
}

.campaign .flow .step li .wrap {
  margin-left: min(12.04301vw,112px);
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap {
    margin-left: 10.41667vw;
  }
}

.campaign .flow .step li .wrap::before, .campaign .flow .step li .wrap::after {
  display: block;
  position: absolute;
}

.campaign .flow .step li .wrap::before {
  content: counter(number, decimal-leading-zero);
  left: 0;
  background: #000;
  font-size: min(2.90323vw,27px);
  color: #fff;
  width: min(6.02151vw,56px);
  height: min(6.02151vw,56px);
  border: 4px solid #FFE1E1;
  border-radius: 50vh;
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: center;
  /*IE10*/
  -webkit-box-pack: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: center;
  /* Safari6.1以降 */
  justify-content: center;
  -ms-flex-align: center;
  /*IE10*/
  -webkit-box-align: center;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-align-items: center;
  /* Safari6.1以降 */
  align-items: center;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap::before {
    width: 7.29167vw;
    height: 7.29167vw;
    border: 0.52083vw solid #FFE1E1;
  }
}

.campaign .flow .step li .wrap::after {
  content: '';
  top: 0;
  left: 1.1em;
  width: 1px;
  height: 100%;
  border-left: 1px solid #000;
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap::after {
    left: 3.64583vw;
    width: 0.26042vw;
    border-left: 0.26042vw solid #000;
  }
}

.campaign .flow .step li .wrap .col1 .img {
  margin-top: min(2.58065vw,24px);
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap .col1 .img {
    margin-top: 5.20833vw;
  }
}

.campaign .flow .step li .wrap .col2 {
  display: -webkit-box;
  /*Android4.3*/
  display: -ms-flexbox;
  /*IE10*/
  display: -webkit-flex;
  /*PC-Safari,iOS8.4*/
  display: flex;
  -ms-flex-pack: justify;
  /*IE10*/
  -webkit-box-pack: justify;
  /* Android4.3以下、Safari3.1〜6.0 */
  -webkit-justify-content: space-between;
  /* Safari6.1以降 */
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap .col2 {
    display: block;
  }
}

.campaign .flow .step li .wrap .col2 .text {
  width: min(32.25806vw,300px);
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap .col2 .text {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap .col2 .img {
    margin-top: 5.20833vw;
  }
}

.campaign .flow .step li .wrap .col2 .img img {
  width: min(37.63441vw,350px);
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li .wrap .col2 .img img {
    width: 64.45313vw;
  }
}

.campaign .flow .step li + li {
  padding-top: min(7.74194vw,72px);
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li + li {
    padding-top: 6.25vw;
  }
}

.campaign .flow .step li:last-child .wrap::after {
  height: calc(100% - min(7.74194vw,72px));
}

@media screen and (max-width: 768px) {
  .campaign .flow .step li:last-child .wrap::after {
    height: calc(100% - 10.41667vw);
  }
}

@media screen and (max-width: 768px) {
  .campaign .flow .note {
    font-size: 2.86458vw;
  }
}

.campaign .terms {
  margin-top: min(8.60215vw,80px);
}

@media screen and (max-width: 768px) {
  .campaign .terms {
    margin-top: 10.41667vw;
  }
}

.campaign .terms .terms_ttl {
  background: #000;
  font-size: min(2.58065vw,24px);
  font-weight: 700;
  color: #fff;
  padding: min(1.72043vw,16px) 0;
  position: relative;
}

@media screen and (max-width: 768px) {
  .campaign .terms .terms_ttl {
    font-size: 3.90625vw;
    padding: 3.125vw 0;
  }
}

.campaign .terms .terms_ttl::before, .campaign .terms .terms_ttl::after {
  content: '';
  position: absolute;
  top: 50%;
  right: min(2.58065vw,24px);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: block;
  width: min(2.58065vw,24px);
  height: 3px;
  background-color: #fff;
  pointer-events: none;
}

@media screen and (max-width: 768px) {
  .campaign .terms .terms_ttl::before, .campaign .terms .terms_ttl::after {
    right: 3.125vw;
    width: 4.16667vw;
    height: 0.39063vw;
  }
}

.campaign .terms .terms_ttl::after {
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
  margin-top: -1px;
}

@media screen and (max-width: 768px) {
  .campaign .terms .terms_ttl::after {
    margin-top: -0.13021vw;
  }
}

.campaign .terms .terms_ttl.open::after {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  transform: rotate(180deg);
}

.campaign .terms .terms_ttl:hover {
  cursor: pointer;
}

.campaign .terms .terms_wrap {
  background: #fff;
  padding: min(2.58065vw,24px);
  font-size: min(1.6129vw,15px);
  text-align: left;
  display: none;
}

@media screen and (max-width: 768px) {
  .campaign .terms .terms_wrap {
    padding: 4.16667vw 3.125vw;
    font-size: 2.60417vw;
  }
}

.campaign .terms .terms_wrap a {
  text-decoration: underline;
}

.campaign .terms .terms_wrap .note li {
  text-indent: -1em;
  margin-left: 1em;
}

.campaign .terms .terms_wrap .note_num li {
  text-indent: -1.7em;
  margin-left: 1.7em;
}

.campaign .terms .terms_wrap .disc li {
  list-style: disc;
  margin-left: 1.5em;
}

.campaign .terms .terms_wrap p + p, .campaign .terms .terms_wrap ul + p {
  margin-top: min(0.86022vw,8px);
}

@media screen and (max-width: 768px) {
  .campaign .terms .terms_wrap p + p, .campaign .terms .terms_wrap ul + p {
    margin-top: 2.08333vw;
  }
}
