@charset "shift_jis";
/* Updated 2025/06/24.T */
/* Updated 2025/03/03.T */
/* Updated 2025/02/03.T */
/* Updated 2025/01/27.T */
/* Updated 2024/12/12.T */
/* Updated 2024/12/02.T */
/* Updated 2024/11/22.T */
/* ----------------------------------
common
---------------------------------- */
body {
  overflow: hidden;
}
#containment-area {
  margin-bottom: 0;
}
#footer-content {
  margin-top: 0;
}
.cpnloadEnd #footer-area .footer-logo {
  padding-bottom: 0 !important;
}
/* ----------------------------------
parts
---------------------------------- */
.sec-inr01 {
  max-width: 1220px;
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .sec-inr01 {
    padding: 0 18px;
  }
}
.sec-inr02 {
  max-width: 1020px;
  width: 100%;
  margin: 0 auto;
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .sec-inr02 {
    padding: 50px 18px 0;
  }
}
.btn-type01.-large01 {
  align-items: center;
}
.btn-type01.-large01.-orange01.icon-link01 > .inner::after {
  background: url(/kojin/cmn/imgs/ico_arrow_right_02.svg) 0 0/cover no-repeat;
}
.btn-type01.-green01{
  background: #006444;
}
.mt10 {
  margin-top: 10px !important;
}
.mt20 {
  margin-top: 20px !important;
}
@media screen and (max-width: 767px) {
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
}
._bd-radius60 {
  border-radius: 60px !important;
}
@media screen and (max-width: 767px) {
  ._sp-bd-radius34 {
    border-radius: 34px !important;
  }
}
.mt60 {
  margin-top: 60px;
}
.pt14 {
  padding-top: 14px;
}
.pt18 {
  padding-top: 18px;
}
.pl14 {
  padding-left: 14px!important;
}
.tx-blue {
  color: #004098 !important;
}
.tx-gray {
  color: #56635f !important;
}
.tx-green {
  color: #006444;
}
.tx-green02 {
  color: #017A4F;
}
.tx-orange {
  color: #EE7800;
}
.tx-black {
  color: #000;
}
.tx-yellow {
  color: #FDDA67;
}
.tx-orange02 {
  color: #E95501;
}
.tx-red {
  color: #C83030;
}
.bg-gray {
  background: #eff4f2;
}
.bg-gray02 {
  background: #f3f8f6;
}
.bg-white {
  background: #fff;
}
.bg-orange {
  background: #fce7d1;
}
.bg-orange02 {
  background: #ffefdf !important;
}
.bg-green01 {
  background: #f5f9e6;
}

@media screen and (min-width: 768px) {
  .let-s00 {
    letter-spacing: 0 !important;
  }
}
.let-s01 {
  letter-spacing: 1px;
}
.let-s02 {
  letter-spacing: -1px;
}
@media screen and (max-width: 767px) {
  .sp-line13 {
    line-height: 1.3;
  }
}
.att-txt {
  padding-left: 12px;
  text-indent: -12px;
}
.link-txt {
  margin-top: 20px;
  font-weight: bold;
  padding-left: 16px;
  text-indent: -16px;
}
.link-txt .link-inr {
  position: relative;
  padding-left: 16px;
  letter-spacing: 0;
}
.link-txt .link-inr::before {
  content: "";
  display: block;
  position: absolute;
  top: -2px;
  left: -9px;
  width: 28px;
  height: 28px;
  background: url(/kojin/cmn/imgs/ico_arrow_right_01.svg) no-repeat;
  background-size: 100% 100%;
}
.txt-mark {
  background: linear-gradient(to bottom, #fff 0%, #fff 75%, #b6e7d5 75%, #b6e7d5 100%);
}
.list-circle01 > .item::before {
  background: #56635f;
}
.ttl02 {
  position: relative;
  padding-bottom: 10px;
  text-align: center;
  font-size: 28px;
  color: #004831;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .ttl02 {
    padding-bottom: 22px;
    line-height: 1.3;
  }
}
.ttl02::before {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100px;
  height: 2px;
  background: #c4d700;
  transform: translateX(-50%);
}
.icon-blank01 > .inner > .item {
  margin-left: 4px;
}
.text-hooray01> .inner::after,
.text-hooray01> .inner::before {
  background: #004831;
}
@media screen and (min-width: 768px) {
  .text-hooray01> .inner::after,
  .text-hooray01> .inner::before {
    bottom: 18px;
    width: 26px;
  }
}
@media screen and (min-width: 768px) {
  .text-hooray01.-white> .inner {
    padding: 0 60px;
  }
}
.text-hooray01.-white> .inner::after,
.text-hooray01.-white> .inner::before {
  background: #fff;
}
.btnlink-off {
  pointer-events: none;
  background: #d5dedb !important;
  color: #788883 !important;
  box-shadow: none!important;
}
.btnlink-off .inner {
  color: #788883 !important;
}
/*-----------------------
section-main
------------------------*/
.layout-bg01 {
  background: #b4e7e8;
}
.modal-bg01 {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
/*-----------------
cp end
-----------------*/
body:not(.cpnloadEnd) .cpEndVisible {
  display: none;
  pointer-events: none;
  user-select: none;
}
.cpEndVisible ~ .endArea:not(.cpEndVisible) {
  display: none !important;
}
/* ----------------------------------
kv-area
---------------------------------- */
.kv-area {
  position: relative;
  background-size: 100% 100%;
}
.kv-area .kv-inr {
  position: relative;
  width: 100%;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .kv-area .kv-inr {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
}
.kv-area .kv-inr .ttl01 {
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .kv-area .kv-inr .ttl01 {
    min-width: auto;
  }
}
/* ----------------------------------
btn-blk
---------------------------------- */
.btn-list01{
  align-items: flex-start !important;
}
.btn-list01>.item{
  max-width: 440px;
}
.btn-blk {
  position: relative;
  padding: 24px 24px 40px;
  background: #004831;
}
.btn-blk .btn-type01.-large01 {
  align-items: center;
  min-height: 84px;
  width: 100%;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  ._t-center .desc-txt-sbi {
    width: 400px;
    display: flex;
    justify-content: center;
  }
}
.desc-txt-sbi{
  text-align: left;
  width: 240px;
  margin: 8px auto 0;
}
.desc-txt-sbi.tx-white{
  color: #fff;
}

@media screen and (max-width: 767px) {
  .btn-list01:not(.-spColumn)>.item {
    max-width: 100%;
  }
  .btn-blk .btn-type01.-large01 {
    min-height: 54px;
  }
  .desc-txt-sbi{
    width: 200px;
  }
}

@media screen and (max-width: 767px) {
  .btn-footer:not(.-spColumn) {
      flex-direction: row;
      font-size: 14px;
  }
  .btn-footer>.item:not(:first-child) {
      margin: 0 0 0 14px !important;
  }
  .btn-footer>.item:not(:first-child)._sp-ml00 {
      margin-left: 0px !important;
  }
}
/*-----------------------
sec00
------------------------*/
.sec00 {
  padding: 48px 0 80px;
  background: url(/kojin/olive/special/campaign/nyukin/imgs/index_bg_01.png) repeat 0 0;
}
@media screen and (max-width: 767px) {
  .sec00 {
    padding: 0 0 28px;
    background-size: 18px;
  }
}
.sec00 .card-normal02{
  border: 4px solid #006444;
  border-radius: 8px;
}
.sec00 .card-normal02>.inner>.header {
  margin-top: -2px;
  background: #006444;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.sec00 .card-normal02>.inner>.body {
  padding: 28px 50px;
}
@media screen and (max-width: 767px) {
  .sec00 .card-normal02{
    border-width: 2px;
  }
  .sec00 .card-normal02>.inner>.header {
    padding: 32px 16px;
  }
  .sec00 .card-normal02>.inner>.body {
    padding: 28px 16px;
  }
}
.sec00 .card-normal02 .txt-box {
  padding: 18px 24px 29px;
  background: #f3f8f6;
}
@media screen and (max-width: 767px) {
  .sec00 .card-normal02 .txt-box {
    padding: 20px 8px 29px;
  }
}
.sec00 .card-normal02 .txt-box .txt-fl {
  line-height: 1.3;
}
.sec00 .card-normal02 .txt-box.box02 {
  padding: 21px 24px 29px;
}
@media screen and (max-width: 767px) {
  .sec00 .card-normal02 .txt-box.box02 {
    padding: 20px 6px 29px;
  }
}
.sec00 .card-normal02 .att-box {
  margin-top: 16px;
  text-align: center;
}
.sec00 .card-normal02 .att-box>.list-notice01{
  display: inline-block;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .sec00 .card-normal02 .att-box {
    margin-top: 18px;
  }
}
.list-flow {
  display: flex;
  flex-flow: column;
  align-items: baseline;
}
/*-----------------------
sec01
------------------------*/
.sec01 {
  padding: 80px 0;
  background: url(/kojin/olive/special/campaign/nyukin/imgs/index_bg_02.png) repeat 0 0;
}
@media screen and (max-width: 767px) {
  .sec01 {
    padding: 40px 0;
    background-size: 18px;
  }
}
.sec01 .step-cont {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 42px;
}
@media screen and (max-width: 767px) {
  .sec01 .step-cont {
    display: block;
    margin-top: 37px;
  }
}
.sec01 .step-cont > [class*="box0"] {
  max-width: 279px;
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec01 .step-cont > [class*="box0"] {
    max-width: 230px;
  }
}
@media screen and (min-width: 768px) {
  .sec01 .step-cont > [class*="box0"] {
    min-height: 380px;
    height: 100%;
  }
}
@media screen and (max-width: 767px) {
  .sec01 .step-cont > [class*="box0"] {
    max-width: 100%;
  }
  .sec01 .step-cont > [class*="box0"]:not(:first-child) {
    margin-top: 52px;
  }
}
.sec01 .step-cont > [class*="box0"]:not(:last-child) {
  position: relative;
}
.sec01 .step-cont > [class*="box0"]:not(:last-child)::before {
  content: "";
  display: block;
  position: absolute;
  bottom: calc(50% - 52px);
  right: -21px;
  width: 21px;
  height: 78px;
  background: url(/kojin/olive/special/campaign/nyukin/imgs/index_bg_03.png) no-repeat;
  background-size: 100% 100%;
  z-index: 1;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec01 .step-cont > [class*="box0"]:not(:last-child)::before {
    right: -25px;
  }
}
@media screen and (max-width: 767px) {
  .sec01 .step-cont > [class*="box0"]:not(:last-child)::before {
    bottom: -50px;
    right: calc(50% - 12px);
    width: 21px;
    height: 78px;
    background: url(/kojin/olive/special/campaign/nyukin/imgs/index_bg_03.png) no-repeat;
    background-size: 100% 100%;
    transform: rotate(90deg);
  }
}
@media screen and (min-width: 768px) {
  .sec01 .step-cont > .box01 .txt01 {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .sec01 .step-cont > .box01 .txt01 {
    margin-top: 22px;
  }
}
.sec01 .card-normal02 {
  position: relative;
  border: none;
  border-radius: 12px;
  box-shadow: 10px 10px 0px 0 #5cd1ac;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec01 .card-normal02 {
    box-shadow: 7px 7px 0px 0 #5cd1ac;
    min-height: 494px;
  }
}
.sec01 .card-normal02.cont-box >.inner >.header {
  position: absolute;
  top: -14px;
  left: 50%;
  transform: translateX(-50%);
  padding: 1px 24px;
  width: 64px;
  height: 64px;
  border-radius: 50px;
  text-align: center;
  background: #5cd1ac;
}
@media screen and (max-width: 767px) {
  .sec01 .card-normal02.cont-box >.inner >.header {
    padding: 0px 8px;
  }
}
.sec01 .card-normal02>.inner>.header>.title>.inner{
  color: #fff;
}
.sec01 .card-normal02>.inner>.header>.title {
  align-items: center;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .sec01 .card-normal02>.inner>.header>.title {
    line-height: 0.9;
    align-items: normal;
  }
}
.sec01 .card-normal02.cont-box >.inner >.body {
  padding: 67px 14px 25px;
}
@media screen and (min-width: 768px) {
  .sec01 .card-normal02.cont-box >.inner >.body {
    min-height: 435px;
    height: 100%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec01 .card-normal02.cont-box >.inner >.body {
    padding: 55px 12px 25px;
  }
}
@media screen and (max-width: 767px) {
  .sec01 .card-normal02.cont-box >.inner >.body {
    padding: 67px 18px 27px;
  }
}
.sec01 .arrow {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .sec01 .arrow {
    max-width: 104px;
    width: 100%;
    margin: 28px auto 0!important;
  }
}
/*-----------------------
sec02
------------------------*/
.sec02 {
  padding: 77px 0 40px;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec02 {
    padding: 40px 0 40px;
  }
}
.sec02 .ttl02-img {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec02 .ttl02-img {
    max-width: 215px;
    width: 100%;
    margin: 0 auto;
  }
  .sec02 .cont-blk {
    margin-top: -30px;
  }
}
.sec02 .img01 {
  max-width: 600px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .sec02 .img01 {
    padding: 0px 18px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec02 .img01 {
    max-width: 100%;
    width: 49%;
  }
}
.sec02 .right-cont {
  max-width: 555px;
  width: 100%;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec02 .right-cont {
    max-width: 100%;
    width: 49%;
  }
}
@media screen and (max-width: 767px) {
  .sec02 .right-cont {
    margin-top: -40px;
  }
}
/*-----------------------
sec03
------------------------*/
.sec03 {
  padding: 80px 0;
  background: #fff;
}
@media screen and (max-width: 767px) {
  .sec03 {
    padding: 40px 0;
  }
}
.sec03 .basic-blk {
  margin-top: 38px;
  border-radius: 12px;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk {
    margin-top: 24px;
  }
}
.sec03 .basic-blk .ttl03 {
  padding: 24px 12px;
  font-weight: bold;
  font-size: 22px;
  text-align: center;
  color: #fff;
  background: #017a4f;
  border-radius: 12px 12px 0 0;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .ttl03 {
    padding: 14px 12px;
  }
}
.sec03 .basic-blk .bg-white {
  padding-top: 28px;
  padding-bottom: 14px;
  border-radius: 0 0 12px 12px;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .bg-white {
    padding-top: 20px;
  }
}
.sec03 .basic-blk .text01 {
  margin: 0 40px;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .text01 {
    margin: 0 20px;
  }
}
.sec03 .basic-blk .text-note01 {
  margin-top: 23px;
  font-size: 14px;
  line-height: 1.5;
  color: #56635F;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .text-note01 {
    font-size: 12px;
  }
}
.sec03 .basic-blk .text-note01 li {
  position: relative;
  margin: 3px 0 0;
  padding-left: 2em;
}
.sec03 .basic-blk .text-note01 span {
  position: absolute;
  left: 0;
  top: 0em;
}
.sec03 .basic-blk .card-Area01 .cardInner01,
.sec03 .basic-blk .card-Area01.col2 .cardInner01 {
  width: calc(50% - 1px);
  padding: 10px 8px 25px;
  border-left: 1px solid #017a4f;
  border-top: 1px solid #017a4f;
  text-align: center;
  box-sizing: border-box;
}
.sec03 .basic-blk .card-Area01 .item-title01 {
  color: #004831;
  font-weight: bold;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  .sec03 .basic-blk .card-Area01 .item-title01 {
    font-size: 18px!important;
  }
}
.sec03 .basic-blk .card-Area01 .item-img01 {
  margin: 30px 0 0;
  min-height: 130px;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .card-Area01 .item-img01 {
    max-width: 172px;
    margin-top: 0;
    margin-left: -5px;
  }
}
.sec03 .basic-blk .card-Area01 .item-img02 {
  margin: 30px 0 0;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .card-Area01 .item-img02 {
    max-width: 88px;
    width: 100%;
    margin-top: 0;
  }
}
.sec03 .basic-blk .card-Area01 .cardInner01:nth-child(-n+2) {
  border-top: none;
}
.sec03 .basic-blk .card-Area01 .cardInner01:nth-child(3) {
  position: relative;
}
.sec03 .basic-blk .card-Area01 .item-img01 {
  min-height: 102px;
}
.sec03 .basic-blk .card-Area01 .cardInner01,
.sec03 .basic-blk .card-Area01.col2 .cardInner01 {
  width: calc(50% - 1px);
  padding: 10px 8px 25px;
  border-left: 1px solid #017a4f;
  border-top: 1px solid #017a4f;
  text-align: center;
  box-sizing: border-box;
}
.sec03 .basic-blk .box-shape {
  padding: 14px 6px 20px;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .box-shape {
    padding: 0 18px 7px;
    border-bottom: 1px solid #d5dedb;
  }
  .sec03 .basic-blk .card-Area01 > .box-shape._none-border {
    border: none;
  }
}
@media screen and (min-width: 768px) {
  .sec03 .basic-blk .card-Area01 > .box-shape:not(:first-child) {
    border-left: 1px solid #eaefed;
  }
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .card-Area01 > .box-shape:not(:first-child) {
    margin-top: 20px;
  }
}
.sec03 .basic-blk .box-shape .flex-box {
  display: block;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .sec03 .basic-blk .box-shape .flex-box {
    display: flex;
    justify-content: center;
    margin-top: 9px;
  }
}
.sec03 .toggle-block01.card-normal01 {
  overflow: hidden;
  border-width: 2px;
}
.sec03>.sec-inr01>.card-normal01{
  border: 4px solid #006444;
  border-radius: 8px;
}
.sec03 .title-heading02:not(.-noBorder) {
  border-bottom: 2px solid #b6e7d5;
}
.sec03 .title-balloon01>.inner{
  background-color: #b6e7d5;
}
.sec03 .title-balloon01>.inner::before{
  border-color: #b6e7d5 transparent transparent transparent;
}
.sec03 .card-normal01>.inner>.body:not(:first-child)::before{
  height: 2px;
}
@media screen and (max-width: 767px) {
  .sec03 .toggle-block01.card-normal01 {
    border-width: 1px;
  }
  .sec03>.sec-inr01>.card-normal01{
    border-width: 2px;
  }
  .sec03 .card-normal01>.inner>.body:not(:first-child)::before{
    height: 1px;
  }
}
/*-----------------------
sec04
------------------------*/
.sec04 {
  padding: 80px 0;
  background: url(/kojin/olive/special/campaign/nyukin/imgs/index_bg_02.png) repeat 0 0;
}
@media screen and (max-width: 767px) {
  .sec04 {
    padding: 40px 0;
    background-size: 18px;
  }
}
.sec04 .campaign-table {
  width: 100%;
  margin-top: 40px;
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .sec04 .campaign-table {
    margin-top: 29px;
    font-size: 14px;
  }
}
.sec04 .campaign-table th {
  width: 20%;
  padding: 15px;
  color: #fff;
  font-weight: bold;
  background-color: #006444;
  border-bottom: 2px solid #ced8d4;
}
@media screen and (max-width: 767px) {
  .sec04 .campaign-table th {
    width: 30%;
  }
}
.sec04 .campaign-table td {
  width: 80%;
  padding: 15px 15px;
  background-color: #fff;
  border-bottom: 2px solid #d1dbd7;
}
@media screen and (max-width: 767px) {
  .sec04 .campaign-table td {
    width: 70%;
    padding: 18px 16px 12px;
  }
}
.sec04 .campaign-th.start {
  border-radius: 10px 0 0 0;
}
.sec04 .campaign-td.start {
  border-radius: 0 10px 0 0;
}
.sec04 .campaign-th.end {
  border-radius: 0 0 0 10px;
  border-bottom: none;
}
.sec04 .campaign-td.end {
  border-radius: 0 0 10px 0;
  border-bottom: none;
}
.sec04 .list-circle01.dotblack:not(:first-child) {
  margin-top: 8px;
}
.sec04 .card-normal01.toggle-block01 {
  margin-top: 48px;
  border: 4px solid #006444;
  border-radius: 10px;
}
.sec04 .table-detail01{
  border-radius: 10px;overflow: hidden;
  border-width: 2px;
}
.sec04 .table-detail01>.item:not(:first-child){
  border-width: 2px;
}
@media screen and (max-width: 767px) {
  .sec04 .table-detail01{
    border-width: 1px;
  }
  .sec04 .table-detail01>.item:not(:first-child){
    border-width: 1px;
  }
  .sec04 .card-normal01.toggle-block01 {
    border-width: 2px;
    margin-top: 30px;
  }
}
.sec04 .table-detail01>.item>.row>.header {
  width: 12%;
  color: #004831;
  background: #e2efbc;
}
@media screen and (max-width: 767px) {
  .sec04 .table-detail01>.item>.row>.header {
    width: 30%;
  }
}
.sec04 .table-detail01>.item>.row>.data {
  width: 88%;
}
@media screen and (max-width: 767px) {
  .sec04 .table-detail01>.item>.row>.data {
    width: 70%;
  }
}
.sec04 .bnr-cont {
  margin-top: 60px;
}
@media screen and (max-width: 767px) {
  .sec04 .bnr-cont {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .sec04 .bnr-cont {
    margin-top: 29px;
  }
  .sec04 .bnr-cont .text-hooray01> .inner {
    padding: 0 15px;
  }
}
.sec04 .bnr-cont .bnr-img {
  margin-top: 21px;
}
.sec04 .card-normal01>.inner>.body:not(:first-child)::before{
  height: 2px;
}
/*-----------------------
fixed-elements
------------------------*/
.fixed-elements {
  display: block;
  width: 100%;
  position: fixed;
  right: 0;
  bottom: 0;
  padding: 16px;
  background-color: #fff;
  z-index: 2;
}
.fn-prm-switch {
  display: none;
}
/*-----------------
cp end
-----------------*/
body:not(.cpnloadEnd) .cpEndVisible {
  display: none;
  pointer-events: none;
  user-select: none;
}
.cpEndVisible ~ .endArea:not(.cpEndVisible) {
  display: none !important;
}
/*-----------------------
card
------------------------*/
.card-box01.-radius01 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 6px auto 0;
  padding: 10px;
  border-radius: 16px;
}
.card-box01.-radius01>.img {
  flex: 0 0 auto;
}
.card-box01.-radius01>.text {
  text-align: left;
  padding-left: 10px;
}
/*-----------------------
label
------------------------*/
.label-mark02.-small01 {
  min-width: 4em;
}
.label-mark02.-orange02 {
  background: #fff;
  color: #ff5f04;
}
.label-mark02.-green06 {
  background: #006444;
  color: #fff;
}
/*-----------------------
countdown
------------------------*/
.term-campaign{
  color: #006444;
  width: 300px;
  margin: 0 auto;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 110px;
  z-index: 2;
  text-align: center;
  line-height: 36px;
  font-size: 18px;
  font-weight: 700;
}
body.is-preEnd .tc_color01{
  color: #E95501;
  text-shadow: 2px 2px 0px #FFF, -2px -2px 0px #FFF,-2px 2px 0px #FFF,  2px -2px 0px #FFF,2px 0px 0px #FFF, -2px -0px 0px #FFF,0px 2px 0px #FFF,  0px -2px 0px #FFF;
}
.tc_fs_size01{
  font-size: 18px;
}
.tc_fs_size02{
  font-size: 30px;
  font-family: roboto;
}
.tc_fs_size03{
  font-size: 42px;
  font-family: roboto;
}
.tc_fs_size04{
  font-size: 24px;
}
@media screen and (max-width: 359px) {
  .term-campaign{
    bottom: 94px;
  }
}
@media screen and (min-width: 768px) {
  .term-campaign{
    line-height: 52px;
    font-size: 24px;
    bottom: 138px;
  }
  .tc_fs_size01{
    font-size: 24px;
  }
  .tc_fs_size02{
    font-size: 40px;
  }
  .tc_fs_size03{
    font-size: 52px;
  }
  .tc_fs_size04{
    font-size: 36px;
  }
}
.card-normal02>.inner>.header{
  position: relative;
  padding: 24px;
}
.card-normal02>.inner>.header .pre-h2title{
  position: absolute;
  top: -28px;
  width: 534px;
  left: 0;
  right: 0;
  margin: 0 auto;
  padding: 12px 0;
  background: #006444;
  border-radius: 8px;
  color: #fff;
  text-align: center;
  font-size: 14px;
}
.card-normal02>.inner>.header .pre-h2title .tx-yellow{
  font-size: 20px;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .card-normal02>.inner>.header .pre-h2title {
    top: -54px;
    width: 70%;
    min-width: 230px;
    font-size: 12px;
  }
  .card-normal02>.inner>.header .pre-h2title .tx-yellow {
    font-size: 18px;
  }
  .card-normal02>.inner>.header>.title>.inner {
    font-size: 24px;
  }
}
.link-sec04{
  text-decoration: none;
}
.txt-box {
  position: relative;
}
.txt-box .circle-icon{
  position: absolute;
  top: -16px;
  left: -4px;
  width: 64px;
  height: 64px;
  padding: 3px 0;
  border-radius: 32px;
  background: #c4d700;
  color: #004831;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}
.txt-box .circle-icon > span{
  font-size: 30px;
  line-height: 30px;
  display: block;
  font-family: roboto;
}
@media screen and (max-width: 768px) {
  .txt-box .circle-icon{
    width: 44px;
    height: 44px;
    font-size: 12px;
  }
  .txt-box .circle-icon > span{
    font-size: 18px;
    line-height: 18px;
  }
}
.txt-box .link-detail{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 163px;
  padding: 4px 0;
  background-color: #b6e7d5;
  border-radius: 50px 0 0 0;
  text-align: center;
  color: #004831;
  font-weight: bold;
  font-size: 14px;
  line-height: 18px;
}
.txt-box .link-detail::after{
  content: "";
  display: inline-block;
  position: absolute;
  top: -2px;
  bottom: 0;
  right: 10px;
  margin: auto;
  width: 8px;
  height: 8px;
  border-top: solid 3px #004831;
  border-right: solid 3px #004831;
  -webkit-transform: rotate(135deg);
  transform: rotate(135deg);
}
.sec04 .title-balloon01{
  width: 153px;
  margin: 0 auto 20px;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 2px;
}
.sec04 .title-balloon01>.inner{
  padding: 0;
  background: #c4d700;
  border-radius: 8px;
}
.sec04 .title-balloon01>.inner::before{
  border-color: #c4d700 transparent transparent transparent;
}
.sec04 .title-balloon01 span{
  font-size: 36px;
}
._t-green02 {
  color: #03794F !important;
}
._mb20 {
  margin-bottom: 20px !important;
}
.title-height {
  height: 52px;
}
.cardArea03.-halfline li {
  position: relative;
}
.cardArea03.-halfline li::after {
  content: "";
  position: absolute;
  left: 0%;
  top: 43%;
  background: #EFF2F1;
  width: 100%;
  height: 1px;
}
.cardArea03.-halfline .card-tile01 {
  padding: 20px;
}
.cardArea03.-halfline a.card-tile01::after {
  background: none;
}
.cardArea03.-halfline .card-tile01>.inner>.text>.title {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.cardArea03.-halfline .card-tile01>.inner>.text>.title.-tablink::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 13%;
  right: -9px;
  width: 1.375em;
  height: 1.375em;
  background: url(/kojin/cmn/imgs/ico_blank_01.svg) 0 0 / cover no-repeat;
}
.cardArea03.-halfline .card-tile01>.inner>.text>.title.-tablink::after{
  right: 5%;
}
._sp-inner01 {
  overflow: hidden!important;
}
.textNote01 {
  margin: 20px 0 0;
  font-size: 12px;
  line-height: 1.7;
}
.textNote01 li {
  position: relative;
  margin: 3px 0 0;
  padding-left: 2em;
}
.textNote01 span {
  position: absolute;
  left: 0;
  top: 0em;
}

@media screen and (max-width: 767px) {
  ._sp-ml5p {
    margin-left: 5.5%;
  }
  .cardArea03.-halfline .card-tile01 {
    padding: 20px 0 0px;
  }
}

@media screen and (max-width: 767px) {
  .cardArea03 {
    flex-wrap: wrap;
    margin: 45px 0 0;
  }

  .cardArea03 .cardInner01,
  .cardArea03.col2 .cardInner01 {
    width: calc(50% - 1px);
    padding: 10px 8px 25px;
    border-left: 1px solid #017a4f;
    border-top: 1px solid #017a4f;
    text-align: center;
    box-sizing: border-box;
  }

  .cardArea03 .itemImg02 {
    margin: 30px 0 0;
  }

  .cardArea03 .cardInner01:nth-child(-n+2) {
    border-top: none;
  }

  .cardArea03 .cardInner01:nth-child(3) {
    position: relative;
  }

  .cardArea03 .itemImg01 {
    min-height: 102px;
  }

  .cardArea03 .cardInner01,
  .cardArea03.col2 .cardInner01 {
    width: calc(50% - 1px);
    padding: 10px 8px 25px;
    border-left: 1px solid #017a4f;
    border-top: 1px solid #017a4f;
    text-align: center;
    box-sizing: border-box;
  }
}
/*-----------------------------------
card-wrap01
-----------------------------------*/
.card-wrap01{
  margin: 32px -24px 0;
}
.card-wrap01 .item01{
  width: 280px;
  border-radius: 7px;
  border: 1px solid #D5DEDB;
  box-shadow: 0 8px 16px rgba(20, 29, 29, 0.08);
  background: #fff;
}
.card-wrap01 .head01{
  padding: 14px;
  border-radius: 7px 7px 0 0;
  background-color: #b6e7d5;
  color: #004831;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
}
.card-wrap01 .body01{
  padding: 0 16px 30px;
  color: #004831;
  font-size: 1.6rem;
}
.card-wrap01 .slick-arrow{
  position: absolute;
  top: calc(50% - 25px);
  z-index: 1;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: url(/kojin/olive/special/campaign/nyukin/imgs/index_ico_01n.svg) no-repeat 0 0 / 100%;
}
.card-wrap01 .slick-prev{
  left: 0;
  transform: rotate(-180deg);
  box-shadow: 0 -10px 12px rgba(20, 29, 29, 0.08), 0 0 4px rgba(20, 29, 29, 0.05);
}
.card-wrap01 .slick-next{
  right: 0;
  box-shadow: 0 10px 12px rgba(20, 29, 29, 0.08), 0 0 4px rgba(20, 29, 29, 0.05);
}
.card-wrap01 .slick-list{
  overflow: visible;
}
/*slide*/
.card-wrap01.fn-slide01 .slick-track {
  display: flex;
}
.card-wrap01.fn-slide01 .slick-slide {
  height: auto !important;
}
/*swiper*/
.swiper-container{
  position: relative;
}
.swiper-button-prev,
.swiper-button-next{
  position: absolute;
  top: calc(50% - 25px);
  z-index: 1;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: url(/kojin/olive/special/campaign/nyukin/imgs/index_ico_01n.svg) no-repeat 0 0 / 100%;
}
.swiper-button-prev{
  left: 23px;
  transform: rotate(-180deg);
  box-shadow: 0 -10px 12px rgba(20, 29, 29, 0.08), 0 0 4px rgba(20, 29, 29, 0.05);
}
.swiper-button-next{
  right: 23px;
  box-shadow: 0 10px 12px rgba(20, 29, 29, 0.08), 0 0 4px rgba(20, 29, 29, 0.05);
}
.swiper-button-prev.-hide,
.swiper-button-next.-hide{
  display: none;
}
@media screen and (max-width: 767px) {
  .card-wrap01 .head01{
    padding: 14px 8px;
  }
}
/*-----------------------------------
card-wrap01
-----------------------------------*/
@media screen and (max-width: 767px) {
  /*-----------------------------------
  .card-wrap01
  -----------------------------------*/
  .card-wrap01 .item01.swiper-slide-visible{
    filter: blur(3px);
  }
  .card-wrap01 .item01.swiper-slide-active{
    filter: blur(0px);
  }
  /*-----------------------------------
  .swiper-wrapper
  -----------------------------------*/
  .swiper-wrapper.-block{
    display: block;
  }
  .swiper-wrapper.-block .slick-track{
    display: flex;
  }
  .swiper-wrapper.-block .slick-track>.swiper-slide{
    margin: 0 12px;
    height: auto!important;
  }
}
/*----------------------------------------------------------------------
PC Device CSS
----------------------------------------------------------------------*/
@media screen and (min-width: 768px) {
  /*-----------------------------------
  card-wrap01
  -----------------------------------*/
  .card-wrap01{
    margin: 32px 0 0;
  }
  .card-wrap01>.inner{
    justify-content: center;
    align-items: flex-end;
  }
  .card-wrap01 .item01{
    width: 350px;
    box-shadow: none;
  }
  .card-wrap01 .item01.-center{
    width: 380px;
  }
  .card-wrap01 .item01:not(:first-child){
    margin-left: 28px;
  }
  .card-wrap01 .head01{
    font-size: 1.8rem;
  }
  .card-wrap01 .-center .head01{
    font-size: 2rem;
  }
  .card-wrap01 .body01{
    padding: 0 20px 18px;
    font-size: 1.8rem;
  }
  .card-wrap01 .item01.-center .body01{
    padding-bottom: 42px;
  }
  .card-wrap01 .item01 .img{
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .card-wrap01 .item01 .img.-img01{
    height: 240px;
  }
  .card-wrap01 .item01 .img.-img02{
    height: 268px;
  }
  .card-wrap01 .item01 .img.-img03{
    height: 266px;
  }
  .card-wrap01 .item01.-left{
    position: relative;
  }
  .card-wrap01 .item01.-left::after,
  .card-wrap01 .item01.-right::after{
    display: block;
    content: '';
    position: absolute;
    top: calc(50% - 10px);
    width: 14px;
    height: 20px;
    background: url(/kojin/olive-account/imgs/index_bg_01.png) no-repeat 0 0 / 100%;
  }
  .card-wrap01 .item01.-left::after{
    right: -14px;
  }
  .card-wrap01 .item01.-right::after{
    left: -14px;
    transform: rotate(180deg);
  }
}

@media screen and (min-width: 768px) and (max-width: 1024px){
  /*-----------------------------------
  card-wrap01
  -----------------------------------*/
  .card-wrap01 .item01{
    width: 300px;
  }
  .card-wrap01 .item01.-center{
    width: 300px;
  }
  .card-wrap01 .item01:not(:first-child){
    margin-left: 24px;
  }
  .card-wrap01 .-center .head01{
    font-size: 1.8rem;
  }
}
.sec04-link-olive{
  padding: 10px 45px;
  text-align: right;
}
.box03 .title-balloon01,
.box04 .title-balloon01{
  margin: 0 auto 10px;
  width: 200px;
}
.box03 .title-balloon01 >.inner,
.box04 .title-balloon01 >.inner{
  padding: 1px 0;
  font-size: 1.4rem;
  font-weight: 700;
  background: #c4d700;
}
.box03 .title-balloon01.-orange >.inner,
.box04 .title-balloon01.-orange >.inner {
  background: #f37800;
}
.box03 .title-balloon01.-orange >.inner::before,
.box04 .title-balloon01.-orange >.inner::before {
  border-top-color: #f37800;
}
.box03 .title-balloon01.-orange >.inner >.text-block01,
.box04 .title-balloon01.-orange >.inner >.text-block01 {
  color: #fff;
}
.box03 .title-balloon01 >.inner::before,
.box04 .title-balloon01 >.inner::before{
  border-top-color: #c4d700;
  border-width: 12px 12px 0 12px;
  left: calc(50% - 12px);
  bottom: -10px;
}
.box03-balloon{
  position: absolute;
  top: 24px;
  right:-10px;
  width: 120px;
  height: 50px;
  padding: 8px;
  text-align: center;
  color: #fff;
  background-color: #006444;
  font-weight: 700;
  font-size: 12px;
  border-radius: 50%;
  transform: rotate(-10deg);
}
.box03-balloon::after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 0px;
  top: 28px;
  border-right: 15px solid #006444;
  border-top: 4px solid transparent;
  border-bottom: 13px solid transparent;
  transform: rotate(81deg);
}
@media screen and (max-width: 767px) {
  .box03 .title-balloon01 >.inner,
  .box04 .title-balloon01 >.inner{
    font-size: 1.6rem;
  }
}
/*-----------------------
sec05
------------------------*/
.sec05 {
  padding: 80px 0;
  background: #f9f9f9;
  display: none;
}
@media screen and (max-width: 767px) {
  .sec05 {
    padding: 40px 0;
    background: #f9f9f9;
  }
}
.sec05 .txt-box {
  padding: 30px;
  font-size: 14px;
  background: #fff;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .sec05 .txt-box {
    padding: 20px;
    font-size: 12px;
  }
  .footer-fixed.-pulsmb {
    margin-bottom: 30px;
  }
}
.cpnloadEnd .footer-fixed.-pulsmb{
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  body.cpnloadEnd .modal-block01 {
      max-height: calc(100% - 160px);
  }
}
/*-----------------------
img-ttl01
------------------------*/
.img-ttl01{
  text-align: center;
}
/*-----------------------
btn-type01.-type01
------------------------*/
.btn-type01.-type01 {
  background: #b6e7d5;
}
/*-----------------------
border-wrap01
------------------------*/
.border-wrap01{
  margin: 32px 0 0;
  border: 4px solid #006444;
  background: #006444;
  border-radius: 10px;
  overflow: hidden;
}
.border-wrap01>.campaign-table{
  margin: -2px 0;
}
@media screen and (max-width: 767px) {
  .border-wrap01{
    border-width: 2px;
  }
}