.top .mv {
  background-position: center;
  background-size: cover;
  background-image: url(../img/top/mv_bg_sp.webp);
  padding: calc((108/750)*100vw) 0 calc((143/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .mv {
    background-image: url(../img/top/mv_bg_pc.webp);
    padding: min(calc((20/1040)*100vw), 20px) 0 min(calc((50/1040)*100vw), 50px)
  }
}

.top .mv-inner {
  position: relative;
  margin: auto;
  padding: calc((64/750)*100vw) 0 calc((237/750)*100vw);
  width: calc((690/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .mv-inner {
    padding: min(calc((45/1040)*100vw), 45px) 0 min(calc((57/1040)*100vw), 57px);
    width: min(calc((1000/1040)*100vw), 1000px)
  }
}

.top .mv-inner-ttl {
  color: #ffffff;
  font-weight: 500;
  text-align: center;
  position: relative;
  line-height: 1.55;
  font-size: calc((40/750)*100vw);
  letter-spacing: 0.09em;
  text-shadow: 1px 1px 9px #323232
}

@media screen and (min-width: 768px), print {
  .top .mv-inner-ttl {
    font-weight: 400;
    line-height: 1.63636;
    letter-spacing: 0.14em;
    font-size: min(calc((44/1040)*100vw), 44px)
  }
}

.top .mv-inner-ttl span {
  font-weight: 500;
  display: block;
  letter-spacing: 0.2em;
  line-height: 1.78571;
  font-size: calc((28/750)*100vw);
  margin: calc((105/750)*100vw) 0 0
}

@media screen and (min-width: 768px), print {
  .top .mv-inner-ttl span {
    line-height: 1;
    font-weight: 400;
    letter-spacing: 0.18em;
    font-size: min(calc((22/1040)*100vw), 22px);
    margin: min(calc((35/1040)*100vw), 35px) 0 min(calc((55/1040)*100vw), 55px)
  }
}

.top .mv-inner-ttl::before {
  content: "";
  display: block;
  background-color: #ffffff;
  position: absolute;
  opacity: 0.8;
  top: calc((200/750)*100vw);
  left: calc((37/750)*100vw);
  width: calc((610/750)*100vw);
  height: calc((3/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .mv-inner-ttl::before {
    height: 1px;
    top: min(calc((233/1040)*100vw), 233px);
    left: min(calc((59/1040)*100vw), 59px);
    width: min(calc((880/1040)*100vw), 880px)
  }
}

.top .mv-inner-txt {
  font-weight: 400;
  text-align: center;
  margin: auto;
  color: #ffffff;
  width: calc((611/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .mv-inner-txt {
    margin-top: calc((-210/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .mv-inner-txt {
    width: min(calc((615/1040)*100vw), 615px)
  }
}

.top .mv-inner::after, .top .mv-inner::before {
  content: '';
  display: inline-block;
  background-image: url(../img/top/mv_R-corner_pc.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  width: calc((230/750)*100vw);
  height: calc((120/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .mv-inner::after, .top .mv-inner::before {
    width: min(calc((267/1040)*100vw), 267px);
    height: min(calc((140/1040)*100vw), 140px)
  }
}

.top .mv-inner::after {
  right: 0;
  bottom: 0
}

.top .mv-inner::before {
  left: 0;
  top: 0;
  background-image: url(../img/top/mv_L-corner_pc.svg);
  width: calc((230/750)*100vw);
  height: calc((120/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .mv-inner::before {
    width: min(calc((267/1040)*100vw), 267px);
    height: min(calc((140/1040)*100vw), 140px)
  }
}

.top .report {
  background-color: #f2f2f2
}

.top .report-inner {
  margin: auto;
  width: calc((690/750)*100vw);
  padding-bottom: calc((109/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .report-inner {
    width: min(calc((1000/1040)*100vw), 1000px);
    padding-bottom: min(calc((40/1040)*100vw), 40px)
  }
}

.top .report-inner-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
  justify-content: space-between;
  position: relative;
  top: calc((-33/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
  }
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list {
    top: calc((-36/1040)*100vw)
  }
}

@media screen and (min-width: 1040px), print {
  .top .report-inner-list {
    top: -36px
  }
}

.top .report-inner-list li {
  background-color: #ffffff;
  position: relative;
  text-align: center;
  width: calc((217/750)*100vw);
  height: calc((217/750)*100vw);
  box-shadow: 0px 0px 16px 1px rgba(0, 0, 0, 0.07)
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li {
    margin-bottom: calc((51/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li {
    box-shadow: 0px 0px 16px 1px rgba(0, 0, 0, 0.07);
    width: min(calc((188/1040)*100vw), 188px);
    height: min(calc((197/1040)*100vw), 197px)
  }
}

.top .report-inner-list li a {
  display: block;
  width: 100%;
  height: 100%
}

.top .report-inner-list li:nth-child(1) .ic {
  width: calc((43/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li:nth-child(1) .ic {
    padding: calc((45/750)*100vw) 0 calc((15/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li:nth-child(1) .ic {
    width: min(calc((37/1040)*100vw), 37px)
  }
}

.top .report-inner-list li:nth-child(2) .ic {
  width: calc((46/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li:nth-child(2) .ic {
    padding: calc((40/750)*100vw) 0 calc((15/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li:nth-child(2) .ic {
    width: min(calc((40/1040)*100vw), 40px)
  }
}

.top .report-inner-list li:nth-child(3) .ic {
  width: calc((43/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li:nth-child(3) .ic {
    width: min(calc((40/1040)*100vw), 40px)
  }
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li:nth-child(4) {
    margin-bottom: 0;
    margin-left: calc((115/750)*100vw)
  }
}

.top .report-inner-list li:nth-child(4) .ic {
  width: calc((40/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li:nth-child(4) .ic {
    padding: calc((40/750)*100vw) 0 calc((24/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li:nth-child(4) .ic {
    width: min(calc((35/1040)*100vw), 35px)
  }
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li:nth-child(5) {
    margin-bottom: 0;
    margin-right: calc((115/750)*100vw)
  }
}

.top .report-inner-list li:nth-child(5) .ic {
  width: calc((27/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .report-inner-list li:nth-child(5) .ic {
    padding: calc((40/750)*100vw) 0 calc((24/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li:nth-child(5) .ic {
    width: min(calc((24/1040)*100vw), 24px)
  }
}

.top .report-inner-list li .ic {
  margin: auto;
  padding: calc((25/750)*100vw) 0 calc((15/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li .ic {
    padding: min(calc((53/1040)*100vw), 53px) 0 min(calc((28/1040)*100vw), 28px)
  }
}

.top .report-inner-list li .txt {
  width: 100%;
  font-weight: bold;
  letter-spacing: 0.05em;
  line-height: 1.4;
  font-size: calc((25/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li .txt {
    letter-spacing: 0.075em;
    line-height: 1.7;
    font-size: min(calc((15/1040)*100vw), 15px)
  }
}

.top .report-inner-list li::before {
  content: '';
  display: inline-block;
  background-image: url(../img/top/tp-corner.svg);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc((45/750)*100vw);
  height: calc((43/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .report-inner-list li::before {
    width: min(calc((39/1040)*100vw), 39px);
    height: min(calc((37/1040)*100vw), 37px)
  }
}

.top .consumer {
  background-position: center;
  background-size: cover;
  background-image: url(../img/top/consumer_bg_sp.webp);
  padding: calc((72/750)*100vw) 0 calc((175/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer {
    background-image: url(../img/top/consumer_bg_pc.webp);
    padding: min(calc((29/1040)*100vw), 29px) 0 min(calc((10/1040)*100vw), 10px)
  }
}

.top .consumer-inner {
  position: relative;
  margin: auto;
  padding: calc((64/750)*100vw) 0 0;
  width: calc((690/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner {
    padding: min(calc((45/1040)*100vw), 45px) 0 min(calc((57/1040)*100vw), 57px);
    width: min(calc((1000/1040)*100vw), 1000px)
  }
}

.top .consumer-inner-ttl {
  line-height: 1;
  text-align: center;
  margin: auto;
  width: calc((261/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-ttl {
    width: min(calc((209/1040)*100vw), 209px)
  }
}

.top .consumer-inner-ttl span {
  display: inline-block;
  font-weight: 400;
  color: #ffffff;
  letter-spacing: 0.2em;
  font-size: calc((28/750)*100vw);
  margin-top: calc((22/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-ttl span {
    letter-spacing: 0.2em;
    font-size: min(calc((18/1040)*100vw), 18px);
    margin-top: min(calc((20/1040)*100vw), 20px)
  }
}

.top .consumer-inner-ttl::after {
  content: '';
  display: block;
  background-image: url(../img/top/ttl_btm_pc.svg);
  background-size: cover;
  vertical-align: middle;
  margin: auto;
  width: calc((50/750)*100vw);
  height: calc((5/750)*100vw);
  margin-top: calc((35/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-ttl::after {
    width: min(calc((42/1040)*100vw), 42px);
    height: min(calc((4/1040)*100vw), 4px);
    margin-top: min(calc((25/1040)*100vw), 25px)
  }
}

.top .consumer-inner-txt {
  font-weight: 500;
  color: #ffffff;
  margin: auto;
  letter-spacing: 0.02em;
  line-height: 1.71429;
  width: calc((680/750)*100vw);
  font-size: calc((28/750)*100vw);
  margin: calc((57/750)*100vw) auto calc((100/750)*100vw);
  text-shadow: 1px 1px 9px #000
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-txt {
    text-align: center;
    letter-spacing: 0.02em;
    line-height: 1.88889;
    width: min(calc((680/1040)*100vw), 680px);
    font-size: min(calc((18/1040)*100vw), 18px);
    margin: min(calc((45/1040)*100vw), 45px) auto min(calc((45/1040)*100vw), 45px)
  }
}

.top .consumer-inner-link {
  margin: auto;
  width: calc((480/750)*100vw);
  height: calc((100/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-link {
    width: min(calc((310/1040)*100vw), 310px);
    height: min(calc((60/1040)*100vw), 60px)
  }
}

.top .consumer-inner-link a {
  position: relative;
  display: block;
  background-color: #ffffff;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: 500;
  width: 100%;
  height: 100%;
  font-size: calc((28/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-link a {
    font-size: min(calc((15/1040)*100vw), 15px)
  }
}

.top .consumer-inner-link a::after {
  content: '';
  display: block;
  background-image: url(../img/top/c-login-ic.svg);
  background-size: cover;
  vertical-align: middle;
  margin: auto;
  position: absolute;
  width: calc((29/750)*100vw);
  height: calc((33/750)*100vw);
  right: calc((47/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .consumer-inner-link a::after {
    width: min(calc((21/1040)*100vw), 21px);
    height: min(calc((24/1040)*100vw), 24px);
    right: min(calc((15/1040)*100vw), 15px)
  }
}

.top .news {
  background-color: #f2f2f2
}

.top .news-inner {
  position: relative;
  margin: auto;
  padding: 0 0 calc((125/750)*100vw);
  width: calc((690/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .news-inner {
    padding: min(calc((20/1040)*100vw), 20px) 0 min(calc((60/1040)*100vw), 60px);
    width: min(calc((1000/1040)*100vw), 1000px)
  }
}

.top .news-inner-ttl {
  line-height: 1;
  text-align: center;
  margin: auto;
  width: calc((417/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .news-inner-ttl {
    width: min(calc((300/1040)*100vw), 300px)
  }
}

.top .news-inner-ttl span {
  display: inline-block;
  font-weight: 400;
  color: #000000;
  letter-spacing: 0.2em;
  font-size: calc((28/750)*100vw);
  margin-top: calc((14/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .news-inner-ttl span {
    letter-spacing: 0.2em;
    font-size: min(calc((18/1040)*100vw), 18px);
    margin-top: min(calc((15/1040)*100vw), 15px)
  }
}

.top .news-inner-ttl::after {
  content: '';
  display: block;
  background-image: url(../img/top/ttl_btm_pc.svg);
  background-size: cover;
  vertical-align: middle;
  margin: auto;
  width: calc((50/750)*100vw);
  height: calc((5/750)*100vw);
  margin-top: calc((35/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .news-inner-ttl::after {
    width: min(calc((42/1040)*100vw), 42px);
    height: min(calc((4/1040)*100vw), 4px);
    margin-top: min(calc((25/1040)*100vw), 25px)
  }
}

.top .news-inner-links {
  margin: calc((70/750)*100vw) auto 0
}

@media screen and (min-width: 768px), print {
  .top .news-inner-links {
    margin: min(calc((45/1040)*100vw), 45px) auto 0;
    width: min(calc((850/1040)*100vw), 850px)
  }
}

@media screen and (max-width: 767px), print {
  .top .news-inner-links li {
    margin-bottom: min(calc((46/1040)*100vw), 36px)
  }
}

@media screen and (max-width: 767px), print {
  .top .news-inner-links li:last-child {
    margin-bottom: 0
  }
}

@media screen and (min-width: 768px), print {
  .top .news-inner-links li:last-child a {
    border-bottom: none
  }
}

.top .news-inner-links li a {
  display: block;
  width: 100%;
  border-bottom: solid 1px #dadada
}

@media screen and (min-width: 768px), print {
  .top .news-inner-links li a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: min(calc((16/1040)*100vw), 16px) 0 min(calc((20/1040)*100vw), 20px)
  }
}

.top .news-inner-links li a.invalid {
  pointer-events: none
}

.top .news-inner-links li a .time {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  color: #ffffff;
  background-color: #000000;
  letter-spacing: 0.05em;
  font-size: calc((24/750)*100vw);
  width: calc((177/750)*100vw);
  height: calc((50/750)*100vw)
}

@media screen and (min-width: 768px), print {
  .top .news-inner-links li a .time {
    font-size: min(calc((12/1040)*100vw), 12px);
    margin-top: min(calc((5/1040)*100vw), 5px);
    margin-right: min(calc((33/1040)*100vw), 33px);
    width: min(calc((105/1040)*100vw), 105px);
    height: min(calc((27/1040)*100vw), 27px)
  }
}

.top .news-inner-links li a .ttl {
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 2.14286;
  font-size: calc((28/750)*100vw)
}

@media screen and (max-width: 767px), print {
  .top .news-inner-links li a .ttl {
    padding: calc((25/750)*100vw) 0 calc((25/750)*100vw)
  }
}

@media screen and (min-width: 768px), print {
  .top .news-inner-links li a .ttl {
    font-weight: 400;
    width: min(calc((712/1040)*100vw), 712px);
    letter-spacing: 0.05em;
    line-height: 2.26667;
    font-size: min(calc((15/1040)*100vw), 15px)
  }
}

/*↓↓↓↓↓20231219 TOPページニュースリリース直下へ一覧ページリンクを追加*/

@media screen and (min-width: 768px){
.all_news{
  text-align: center;
  margin-top: 3%;
}
.all_news_btn{
  font-size: 12px;
  border: 1px solid #000;
  border-radius: 0;
  background: #f2f2f2;
  padding:1% 2%;
}
.all_news_btn:hover{
  color: #fff;
  background: #000;
}
}

@media screen and (max-width: 767px){
.all_news{
  text-align: center;
  margin-top: 15%;
}
.all_news_btn{
  font-size: 15px;
  border: 1px solid #000;
  border-radius: 0;
  background: #f2f2f2;
  padding:2% 3%;
}
.all_news_btn:hover{
  color: #fff;
  background: #000;
}
}
/*↑↑↑↑↑↑↑↑20231219 TOPページニュースリリース直下へ一覧ページリンクを追加*/
