@charset "shift_jis";
/* Updated 2025/05/30.T */
body {
  min-width: 100%;
  background: #0fb7b8 url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_01.png) no-repeat center 0 / cover;
  background-attachment: fixed;
}
#main-area{
  background: url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_04.png) no-repeat center 100px;
  background-attachment: fixed;
}
#containment-area{
  overflow: hidden;
}
#footer-area{
  position: relative;
  z-index: 1;
}
#footer-content {
  margin-top: 0;
}
/*-----------------------
common parts
------------------------*/
.btn-type01.-orange01 {
  background: #fd5e04;
}
.sec-inr01 {
  width: 100%;
  margin: 0 auto;
  padding: 0 18px;
}
/*-----------------------
section-main
------------------------*/
.section-main{
  max-width: 500px;
  margin: 0 auto;
  box-shadow: 0 14px 40px 0 rgba(20, 29, 29, 0.16);
}
.section-main .section-mainInr {
  overflow: hidden;
}
/*-----------------------
content-area01
------------------------*/
.content-area01 {
  padding: 0 18px;
  overflow: visible;
  background: #b3e8e8 url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_05.png) repeat 0 0 / 100%;
}
.content-area01>*{
  position: relative;
  z-index: 1;
}
/*-----------------------
kv-area01
------------------------*/
.kv-area01>.inner{
  max-width: 500px;
  margin: 0 auto;
  background: #b3e8e8 url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_kv01.png) no-repeat center bottom / 100%;
}
.kv-area01>.inner>.ttl01{
  max-width: 95%;
  padding-top: 40.9%;
  margin:  0 auto 0;
}
.kv-area01>.inner>.ttl01>img{
  transform-origin: bottom center;
  transform: scale(0.2);
  opacity: 0;
}
.kv-area01>.inner>.ttl01>img.is-show{
  animation: anime-kv .4s .3s ease-in-out forwards;
}
.kv-area01>.inner>.img01{
  position: relative;
}
.kv-area01>.inner>.img01>img{
  position: absolute;
  left: 7%;
  top: 0;
  width:66%;
  transform-origin: top center;
  opacity: 0;
}
.kv-area01>.inner>.img01>img.is-show{
  animation: anime-kv02 .4s .0s ease-in-out forwards;
}
.kv-area01>.inner>.light-wrap01{
  position: relative;
}
.kv-area01>.inner>.light-wrap01>[class^="img-light"]{
  position: absolute;
  z-index: 1;
  width: 9.4%;
  opacity: 0;
}
.kv-area01>.inner>.light-wrap01.is-show>.img-light01{
  left: 45.4%;
  padding-top: 7%;
  animation: anime-kv03 6s 0s linear infinite;
}
.kv-area01>.inner>.light-wrap01.is-show>.img-light02{
  left: 5%;
  padding-top: 37%;
  animation: anime-kv03 6s .3s linear infinite;
}
.kv-area01>.inner>.light-wrap01.is-show>.img-light03{
  left: 77%;
  padding-top: 53%;
  animation: anime-kv03 6s .6s linear infinite;
}
.kv-area01>.inner>.light-wrap01.is-show>.img-light04{
  left: 62%;
  padding-top: 118%;
  animation: anime-kv03 6s .9s linear infinite;
}
.kv-area01>.inner>.light-wrap01.is-show>.img-light05{
  left: 9%;
  padding-top: 118%;
  animation: anime-kv03 6s 1.2s linear infinite;
}
@keyframes anime-kv {
  0%{
    opacity: 0;
    transform: scale(0.2);
  }
  30%{
    opacity: 1;
  }
  65%{
    transform: scale(1.1);
  }
  100%{
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes anime-kv02 {
  0%{
    opacity: 0;
    transform: translateY(-100px);
  }
  40%{
    opacity: 1;
    transform: translateY(0);
  }
  60%{
    transform: translateY(-20px);
  }
  100%{
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes anime-kv03 {
  0%{
    opacity: 0;
  }
  6%{
    opacity: 1;
  }
  12%{
    opacity: 0;
  }
  18%{
    opacity: 0;
  }
  24%{
    opacity: 1;
  }
  30%{
    opacity: 0;
  }
  100%{
    opacity: 0;
  }
}
/*-----------------------
marquee
------------------------*/
.marquee {
  position: relative;
  z-index: 1;
  max-width: 500px;
  margin: 0 auto;
  padding: 10px 0;
  background: linear-gradient(90deg, #B39FCB 0%, #6CB09A 50.48%, #63CACA 100%);
}
.marquee>.inner {
  display: flex;
  white-space: nowrap;
  overflow: hidden;
  font-size: 1.8rem;
  line-height: 1;
  font-weight: bold;
  font-family: roboto;
  color: #fff;
}
.marquee>.inner>.item01 {
  flex: 1;
  padding-left: .5em;
}
.marquee.is-show>.inner>.item01 {
  animation: marquee 14s 0s linear infinite;
}
@keyframes marquee {
  0% {
    transform: translateX(0%);
  }
  100% {
    transform: translateX(-100%);
  }
}
/*-----------------------
bg-light01
------------------------*/
.bg-light01{
  position: relative;
  margin: 0 auto;
}
.bg-light01 img{
  max-width: none;
}
.bg-light01>[class^="item"]{
  position: fixed;
  top: 0;
  opacity: 0;
}
.bg-light01>.item01{
  left: 0;
  transform-origin: top left;
  transform: rotate(90deg);
  transition: transform .5s .6s ease-in-out, opacity .3s .6s ease-in-out;
}
.bg-light01>.item02{
  right: 0;
  transform-origin: top right;
  transform: rotate(-90deg);
  transition: transform .5s .7s ease-in-out, opacity .3s .7s ease-in-out;
}
.bg-light01.is-show>[class^="item"]{
  transform: rotate(0deg);
  opacity: 1;
}
/*-----------------------
particles-js
------------------------*/
#particles-js {
  position: fixed; /*描画固定*/
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
}
/*-----------------------
bg-area01
------------------------*/
.bg-area01{
  margin: 0;
  border-radius: 40px;
  padding: 24px;
  background: #fff;
  box-shadow: 6px 6px 0px 0px #0048312E;
}
.bg-area01 .area-ttl01{
  margin: 0 -18px;
}
.bg-area01 .area-ttl02{
  margin: 0 -16px;
  text-align: center;
}
/*-----------------------
bg-area02
------------------------*/
.bg-area02{
  margin: 80px 0 0;
  border-radius: 40px;
  padding: 20px 20px 38px;
  background: #fff;
  box-shadow: 6px 6px 0px 0px #0048312E;
}
.bg-area02 .area-ttl01{
  border-radius: 36px 36px 0 0;
  margin: -16px -16px 0;
}
.bg-area02 .area-ttl01>img{
  margin: -40px 0 0;
}
.bg-area02.-color01 .area-ttl01{
  background: #D7CEE4;
}
.bg-area02.-color02 .area-ttl01{
  background: #F6C7D8;
}
.bg-area02.-color03 .area-ttl01{
  background: #E2EFBC;
}
.bg-area02 .area-text01{
  position: relative;
  margin: 52px 0 32px;
  padding: 16px 8px;
  border-radius: 12px;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  color: #004831;
}
.bg-area02 .area-ttl01 + .area-text01,
.bg-area02 .area-ttl01 + .fn-viewWrap>.area-text01{
  margin-top: 24px;
}
.bg-area02 .area-text01 em{
  font-size: 2.4rem;
  font-weight: bold;
}
.bg-area02 .area-text01::after{
  display: block;
  content: '';
  position: absolute;
  bottom: -15px;
  left: calc(50% - 12px);
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
}
.bg-area02.-color01 .area-text01{
  background: #F2EFF6;
}
.bg-area02.-color02 .area-text01{
  background: #FCECF2;
}
.bg-area02.-color03 .area-text01{
  background: #F5F9E6;
}
.bg-area02.-color01 .area-text01::after{
  border-top: 15px solid #F2EFF6;
}
.bg-area02.-color02 .area-text01::after{
  border-top: 15px solid #FCECF2;
}
.bg-area02.-color03 .area-text01::after{
  border-top: 15px solid #F5F9E6;
}
/*-----------------------
bg-area03
------------------------*/
.bg-area03{
  margin: 48px -18px 0;
  padding: 44px 36px 52px;
  background: url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_07.png) repeat-x 0 0 / 68px, #FFFCF2 url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_07.png) repeat-x 0 bottom / 68px;
}
.bg-area03>.inner>.area-ttl01{
  margin: 0 -18px;
}
.bg-area03>.inner>.area-img01{
  margin: 8px 0 0;
}
/*-----------------------
bg-area04
------------------------*/
.bg-area04{
  margin: -2px -18px 0;
  padding: 32px 18px 56px;
  background: #E9F7F6;
}
/*-----------------------
banner-wrap
------------------------*/
.banner-wrap{
  display: block;
  text-decoration: none;
}
/*-----------------------
text-layout01
------------------------*/
.text-layout01{
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  color: #004831;
}
/*-----------------------
btn-wrap01
------------------------*/
.btn-wrap01{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.btn-wrap01>.item01{
  width: 47.26%;
}
.btn-wrap01>.item01:nth-child(even){
  margin-left: 5.4%;
}
/*-----------------------
banner
------------------------*/
.banner-area01>.item01{
  margin: 32px 0 0;
  text-align: center;
}
.banner-area01>.item01 .text01{
  margin: 8px 0 0;
  font-size: 1.6rem;
  font-weight: bold;
  color: #004831;
}
.banner-area01>.item01 .list-notice01>.item{
  display: inline-block;
  text-align: left;
}
/*-----------------------
btn-type01 -type01
------------------------*/
.btn-type01.-type01{
  width: 100%;
  background: #017A4F;
  box-shadow: 0px 6px 0px 0px #004831;
}
.btn-type01.-type01>.inner{
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
}
.btn-type01.-type01::after{
  display: block;
  content: '';
  position: absolute;
  right: 10px;
  top: calc(50% - 14px);
  width: 28px;
  height: 28px;
  background: url(/kojin/cmn/imgs/ico_arrow_right_02.svg) no-repeat 0 0 / 100%;
}
.fn-blank01 .btn-type01.-type01::after{
  right: 18px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background: url(/kojin/cmn/imgs/ico_blank_02.svg) no-repeat 0 0 / 100%;
}
/*-----------------------
btn-type01 -type02
------------------------*/
.btn-type01.-type02{
  width: 100%;
  background: #fff;
  border: 1px solid #D5DEDB;
  box-shadow: none;
}
.btn-type01.-type02>.inner{
  min-height: 50px;
  color: #004831;
  font-weight: bold;
  font-size: 1.8rem;
}
.btn-type01.-type02::after{
  display: block;
  content: '';
  position: absolute;
  right: 10px;
  top: calc(50% - 14px);
  width: 28px;
  height: 28px;
  background: url(/kojin/cmn/imgs/ico_arrow_right_01.svg) no-repeat 0 0 / 100%;
}
.btn-type01.-type02.fn-blank01::after{
  right: 14px;
  top: calc(50% - 10px);
  width: 20px;
  height: 20px;
  background: url(/kojin/cmn/imgs/ico_blank_01.svg) no-repeat 0 0 / 100%;
}
/*-----------------------
btn-type01 -type03
------------------------*/
.btn-type01.-type03{
  width: 100%;
  background: #E95501;
  box-shadow: 0px 6px 0px 0px #B24D14;
}
.btn-type01.-type03>.inner{
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
}
.btn-type01.-type03::after{
  display: block;
  content: '';
  position: absolute;
  right: 10px;
  top: calc(50% - 14px);
  width: 28px;
  height: 28px;
  background: url(/kojin/cmn/imgs/ico_arrow_right_02.svg) no-repeat 0 0 / 100%;
}
/*-----------------------
hr-arrow01
------------------------*/
.hr-arrow01{
  display: block;
  background: url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_bg_06.svg) no-repeat 0 0 / 100%;
  width: 118px;
  height: 34px;
  margin: 32px auto 64px;
}
/*-----------------------
slick-wrap01
------------------------*/
.slick-wrap01{
  position: relative;
  margin: 16px 0 0;
}
.slick-wrap01 .item01{
  margin: 0 10px 10px;
  border-radius: 10px;
  box-shadow: 0px 2px 6px 0px #00000026;
  background: #fff;
  height: auto;
}
.slick-wrap01 .item01>a{
  display: flex;
  flex-direction: column;
  padding: 24px 18px;
  height: 100%;
  text-decoration: none;
}
.slick-wrap01 .item01 .img01{
  overflow: hidden;
  border-radius: 10px;
}
.slick-wrap01 .slick-track{
  display: flex;
}
.slick-wrap01 .btn-list01{
  margin-top: auto;
}
.slick-wrap01 .text-block01{
  margin: 16px 0;
}
.slick-wrap01 .text-block01>p{
  margin-top: 4px;
}
.slick-alow-wrap01>.slick-prev{
  left: -12px;
  transform: scale(-1,1);
}
.slick-alow-wrap01>.slick-next{
  right: -12px;
}
.slick-alow-wrap01>.slick-arrow{
  position: absolute;
  top: calc(50% - 18px);
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: #fff url(/kojin/cmn/imgs/ico_arrow_right_01.svg) no-repeat center center / 80%;
  box-shadow: 0px 2px 6px 0px rgba(0, 0, 0, 0.15);
}
.slick-alow-wrap01>.slick-disabled{
  opacity: 0;
  pointer-events: none;
}
/*-----------------------
fn-banner
------------------------*/
.fn-banner.coming,
.fn-banner.end{
  pointer-events: none;
}
.fn-banner.coming .img01,
.fn-banner.end .img01{
  position: relative;
}
.fn-banner.coming .img01::before,
.fn-banner.end .img01::before{
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  content: '';
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.52);
  font-size: 1.8rem;
  color: #fff;
  font-weight: bold;
}
.fn-banner.coming .btn-type01,
.fn-banner.end .btn-type01{
  background: #D9D9D9;
  color: #fff;
  box-shadow: none;
  transition: none;
}
.fn-banner.coming .img01::before{
  content: 'coming soon';
}
.fn-banner.end .img01::before{
  content: '終了しました';
}
/*-----------------------
fix-wrap01
------------------------*/
.fix-wrap01{
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 2;
  padding: 9px 18px 18px;
  background: #fff;
}
.fix-wrap01>.inner{
  max-width: 400px;
  margin: 0 auto;
}
.fix-wrap01>.inner>.text01{
  text-align: center;
  font-weight: bold;
  color: #004831;
  font-size: 1.6rem;
}
.fix-wrap01>.inner>.text01>p{
  display: inline-block;
  position: relative;
  padding: 0 18px;
}
.fix-wrap01>.inner>.text01>p::before,
.fix-wrap01>.inner>.text01>p::after{
  display: block;
  content: '';
  position: absolute;
  bottom: 0.3em;
  width: 11px;
  height: 13px;
  background: url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_ico_01.svg) no-repeat 0 0 / 100%;
}
.fix-wrap01>.inner>.text01>p::before{
  left: 0;
}
.fix-wrap01>.inner>.text01>p::after{
  right: 0;
  transform: scale(-1,1);
}
.fix-wrap01 .btn-list01{
  margin-top: 8px;
}
/*-----------------------
fix-wrap02
------------------------*/
.fix-wrap02{
  position: fixed;
  top: calc(50% - 220px);
  left: calc(50% + 420px);
  z-index: 3;
  width: 360px;
  border-radius: 40px;
  background: #fff;
  box-shadow: 6px 6px 0px 0px #0048312E;
}
.fix-wrap02>.ttl01{
  margin: -13px auto 0;
  text-align: center;
}
.fix-wrap02>.menu01{
  padding: 36px 18px 40px 66px;
  font-size: 2rem;
}
.fix-wrap02>.menu01>li:not(:first-child){
  margin: 20px 0 0;
}
.fix-wrap02>.menu01>li>a{
  display: inline-block;
  text-decoration: none;
  color: #80a398;
}
.fix-wrap02>.menu01>.-active>a{
  position: relative;
  font-weight: bold;
  color: #004831;
}
.fix-wrap02>.menu01>.-active>a::before{
  display: block;
  content: '';
  position: absolute;
  left: -42px;
  top: -0.2em;
  width: 38px;
  height: 38px;
  background: url(/kojin/olive/special/campaign/olive-5million/master-landing/imgs/index_ico_02.png) no-repeat 0 0 / 100%;
}
/*-----------------------
fix-wrap03
------------------------*/
.fix-wrap03{
  position: fixed;
  top: calc(50% - 160px);
  right: calc(50% + 420px);
  z-index: 3;
  width: 330px;
}
/*-----------------------
fix-wrap03
------------------------*/
.fn-viewWrap{
  opacity: 0;
  transform: translateY(40px);
  transition: transform .4s .2s ease-in-out,opacity .4s .2s ease-in-out;
}
.fn-viewWrap.is-view{
  opacity: 1;
  transform: translateY(0);
}
@media screen and (max-width: 1640px) {
  /*-----------------------
  fix-wrap02
  ------------------------*/
  .fix-wrap02{
    left: auto;
    right: 20px;
  }
}
@media screen and (max-width: 1550px) {
  /*-----------------------
  fix-wrap02
  ------------------------*/
  .fix-wrap03{
    right: auto;
    left: 20px;
  }
}
@media screen and (max-width: 1300px) {
  /*-----------------------
  fix-wrap02
  ------------------------*/
  .fix-wrap02{
    display: none!important;
  }
  /*-----------------------
  fix-wrap03
  ------------------------*/
  .fix-wrap03{
    display: none!important;
  }
}
@media screen and (min-width: 768px) {
  .btn-type01.-type01:not(:disabled):not([aria-disabled=true]):hover{
    background: #538775;
  }
  .btn-type01.-type03:not(:disabled):not([aria-disabled=true]):hover{
    background: #e9874f;
  }
}
@media screen and (max-width: 767px) {
  .section-main {
    box-shadow: none;
  }
  #footer-area.footer-fixed:not(.-close) #footer-content .footer-logo {
    padding-bottom: 114px;
  }
  .btn-type01.-type03>.inner{
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 374px) {
  .fix-wrap01>.inner>.text01{
    font-size: 1.4rem;
  }
  .btn-type01.-type03>.inner{
    font-size: 1.4rem;
  }
}