@charset "Shift_JIS";
/* Updated 2025/09/30.T */
/*-------------------------------------
common
-------------------------------------*/
@font-face {
  font-family: noto-serif;
  src: url(/kojin/cmn/fonts/Noto_Serif_JP/NotoSerifJP-Regular.otf);
}
@font-face {
  font-family: noto-serif;
  font-weight: bold;
  font-style: normal;
  src: url(/kojin/cmn/fonts/Noto_Serif_JP/NotoSerifJP-Bold.otf);
}
body {
  min-width: 0;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
  body {
    min-width: 0;
  }
  .content-block01 {
    max-width: 1024px;
    padding: 0 48px;
  }
}
._tb-content { display: none !important; }
._pco-content { display: block !important; }
._mt56 { margin-top: 56px !important; }
._mt60 { margin-top: 60px !important; }
._mt64 { margin-top: 64px !important; }
._mt100 { margin-top: 100px !important; }
._mt120 { margin-top: 120px !important; }
/* TB/SP STYLES */
@media screen and (max-width: 1024.98px) {
  ._tb-content { display: block !important; }
  ._pco-content { display: none !important; }
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  ._sp-mt32 { margin-top: 32px !important; }
  ._sp-mt48 { margin-top: 48px !important; }
  ._sp-mt56 { margin-top: 56px !important; }
  ._sp-mt64 { margin-top: 64px !important; }
}

#main-area {
  color: #130800;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_01.png), linear-gradient(270deg, #D2C6BB 0%, #E1D9CF 50%, #D2C6BB 100%);
}
#main-area [tabindex]:focus {
  outline: 3px solid #655B5A;
}
#main-area a:visited,
#main-area a {
  color: #130800;
}
#footer-content {
  margin-top: 0;
}
.content-block01 {
  max-width: 1146px;
}
.detail-list01 > .title {
  font-weight: 500;
}
.section-block01 .title-block01 > .sub {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.section-block01 .title-block01 > .sub::before,
.section-block01 .title-block01 > .sub::after {
  content: '';
  display: block;
  width: 7px;
  height: 24px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_ico_01.png) no-repeat 0 0;
  background-size: contain;
}
.section-block01 .title-block01 > .sub::after {
  transform: rotate(180deg);
}
.section-block01 .title-block01 > .sub > .inner {
  padding: 0 19px;
  color: #FFF;
  font-family: roboto;
  font-size: 1.3rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .06em;
}
.section-block01 .title-block01 > .title {
  margin-top: 24px;
  color: #130800;
  font-size: 2.8rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .06em;
  text-align: center;
  opacity: .85;
}
.section-block01 .title-block01 > .title .img01 {
  width: 214px;
  height: auto;
  vertical-align: baseline;
  margin-right: 6px;
}
.section-block01 .title-block01 > .title.-grd {
  position: relative;
}
.section-block01 .title-block01 > .title.-grd .img01 {
  opacity: .8;
}
.section-block01 .title-block01 > .title.-grd > .inner:not(.-gray01) {
  background: linear-gradient(90deg, #130800 0%, #694E38 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.section-block01 .title-block01 > .title.-grd > .inner.-gray01 {
  width: 100%;
  color: #675E56;
  position: absolute;
  left: 0;
  z-index: -1;
}
.section-block01 .title-block01 > .txt01 {
  margin-top: 8px;
  color: #130800;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.5;
  text-align: center;
}
.section-block01 .title-block02 {
  margin-top: 56px;
  text-align: center;
}
.section-block01 .title-block02 > .sub {
  color: #98908D;
  font-family: roboto;
  font-size: 1.3rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: .04em;
}
.section-block01 .title-block02 > .title {
  margin-top: 16px;
  color: #130800;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .04em;
}
/* PC Only */
@media screen and (min-width: 768px) {
  .section-block01 .title-block01 > .sub::before,
  .section-block01 .title-block01 > .sub::after {
    width: 14px;
    height: 44px;
  }
  .section-block01 .title-block01 > .sub > .inner {
    padding: 0 22px;
    font-size: 2.0rem;
  }
  .section-block01 .title-block01 > .title {
    margin-top: 32px;
    font-size: 4.8rem;
  }
  .section-block01 .title-block01 > .title .img01 {
    width: 356px;
    margin-right: 8px;
  }
  .section-block01 .title-block01 > .txt01 {
    font-size: 3.0rem;
  }
  .section-block01 .title-block02 > .sub {
    font-size: 2.0rem;
  }
  .section-block01 .title-block02 > .title {
    font-size: 4.0rem;
  }
}

.btn-type01.-infinite {
  background: linear-gradient(90deg, #130800 0%, #655B5A 100%);
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.btn-type01.-infinite::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.4) 100%);
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 100%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.btn-type01.-infinite > .inner {
  color: #FFF;
  font-weight: 500;
}
.btn-type01.-infinite:not(:disabled):not([aria-disabled=true]):hover {
  background: linear-gradient(90deg, #130800 0%, #655B5A 100%);
}
.btn-type01.-infinite:not(:disabled):not([aria-disabled=true]):hover > .inner {
  color: #130800;
}
.btn-type01.-infinite:not(:disabled):not([aria-disabled=true]):hover::after {
  transform: scale(1, 1);
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .btn-type01.-infinite > .inner {
    font-size: 1.4rem;
  }
}

.card-box.-white01 {
  padding: 24px 32px;
  background: -webkit-linear-gradient(241.19deg, rgba(255, 255, 255, 0.16) 17.74%, rgba(255, 255, 255, 0.36) 89.62%);
  background: linear-gradient(208.81deg, rgba(255, 255, 255, 0.16) 17.74%, rgba(255, 255, 255, 0.36) 89.62%);
  -webkit-backdrop-filter: blur(12px);
          backdrop-filter: blur(12px);
  border-radius: 16px;
  border: 1px solid #FFF;
}

/* kv */
.section-main {
  overflow: hidden;
  position: relative;
}
.kv-block01 {
  padding: 64px 20px 0;
  text-align: center;
}
.kv-block01 .title > .inner .img {
  display: block;
}
.kv-block01 .title > .inner .txt {
  display: block;
  margin-top: 16px;
  color: #130800;
  font-size: 2.1rem;
  font-family: noto-serif;
  font-weight: 600;
  letter-spacing: .02em;
}
.kv-block01 .lead {
  margin-top: 72px;
}
.kv-block01 .card-img {
  position: relative;
}
.kv-block01 .card-img > .img {
  text-align: center;
}
.kv-block01 .card-img > .img > .img01 {
  width: 306px;
  height: auto;
}
.kv-block01 .card-img > .title {
  display: block;
  width: 100%;
  margin-top: -32px;
  color: #FFF;
  font-size: 2.4rem;
  font-weight: 500;
  font-family: noto-serif;
  line-height: 1.6;
  text-align: center;
  letter-spacing: .015em;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 1;
  opacity: .85;
}
.kv-block01 .card-img + .text-block01 {
  margin-top: 0;
  color: #130800;
  font-size: 1.4rem;
  font-family: noto-serif;
  font-weight: 500;
  line-height: 2.4;
  letter-spacing: .04em;
}
/* PC Only */
@media screen and (min-width: 768px) {
  .kv-block01 .title > .inner > .img > .img01 {
    width: 249px;
    height: auto;
  }
  .kv-block01 .title > .inner > .txt {
    margin-top: 24px;
    font-size: 4.0rem;
  }
  .kv-block01 .card-img > .title {
    margin-top: -42px;
    font-size: 3.2rem;
  }
  .kv-block01 .card-img + .text-block01 {
    font-size: 2.0rem;
  }
}
/* TB STYLES */
@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .kv-block01 .card-img > .img > .img01 {
    width: 464px;
    height: auto;
  }
}
@media screen and (min-width: 1025px) {
  .kv-block01::before {
    content: '';
    display: block;
    width: 100vw;
    height: 140vw;
    background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_01.png), url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_kv_bg_01.png) no-repeat top center;
    background-size: auto, 140% auto;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }
  .kv-block01 {
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1162px;
    margin: auto;
    padding: 120px 48px 120px;
    position: relative;
  }
  .kv-block01 .lead {
    margin-top: 120px;
  }
  .kv-block01 > .inner {
    width: 50%;
    max-width: 100%;
    text-align: left;
    position: relative;
  }
  .kv-block01 .title > .inner > .txt {
    white-space: nowrap;
  }
  .kv-block01 .card-img {
    width: 48%;
    right: -60px;
  }
  .kv-block01 .card-img > .title {
    margin-top: -52px;
    margin-left: -16px;
  }
  .kv-block01 .card-img > .img > .img01 {
    width: 100%;
    min-width: 416px;
    max-width: 525px;
    height: auto;
  }
}
@media screen and (min-width: 1300px) {
  .kv-block01::before {
    background-size: auto, 105% auto;
  }
}
@media screen and (min-width: 1729px) {
  .kv-block01 {
    padding-top: 6.94vw;
  }
  .kv-block01 .card-img {
    margin-top: 7vw;
  }
}
/* TB/SP STYLES */
@media screen and (max-width: 1024.98px) {
  .section-main {
    background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_01.png) repeat, url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_kv_bg_01_sp.png) no-repeat top center;
  }
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .section-main {
    background-position: 0 0, 64% -.5%;
  }
  .kv-block01 .title > .inner {
    display: inline-block;
    text-align: left;
  }
  .kv-block01 .title > .inner > .img > .img01 {
    width: 143px;
  }
}

.cv-block01 {
  margin-top: 40px;
  text-align: center;
}
.cv-block01 .text-block01 {
  color: #130800;
  font-size: 1.4rem;
  font-family: noto-serif;
  font-weight: 500;
  line-height: 2.0;
  letter-spacing: .04em;
}
.cv-block01 .text-block01 sup {
  top: -.25em;
}
.cv-block01 .btn-type01.-infinite {
  width: 295px;
  max-width: 100%;
}
.infinite-anc {
  margin-top: 100px;
}
.infinite-anc .btn-type01 {
  width: 100%;
  height: 100%;
  justify-content: flex-start;
  padding: 43px 58px 43px 79px;
  background: linear-gradient(270deg, rgba(73, 63, 46, 0.42) 0%, rgba(19, 8, 0, 0.6) 100%);
  border-radius: 16px;
  border: 0;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
.infinite-anc .btn-type01::after {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.9) 0%, rgba(255, 255, 255, 0.4) 100%);
  position: absolute;
  top: 0;
  left: 0;
  content: '';
  width: 100%;
  height: 102%;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: .5s cubic-bezier(0.45, 0, 0.55, 1);
  z-index: -1;
}
.infinite-anc .btn-type01 > .inner {
  min-height: 26px;
  color: #FFF;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .04em;
  text-align: left;
}
.infinite-anc .btn-type01 > .inner > .num {
  position: absolute;
  left: 0;
  top: calc(50% - (39px / 2));
}
.infinite-anc .btn-type01 > .inner::after {
  content: '';
  display: block;
  width: 5px;
  height: 21px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_arrow_01.svg) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: 29px;
  top: calc(50% - (21px / 2));
}
.infinite-anc .btn-type01:not(:disabled):not([aria-disabled=true]):hover {
  background: linear-gradient(270deg, rgba(73, 63, 46, 0.42) 0%, rgba(19, 8, 0, 0.6) 100%);
}
.infinite-anc .btn-type01:not(:disabled):not([aria-disabled=true]):hover > .inner {
  color: #130800;
}
.infinite-anc .btn-type01:not(:disabled):not([aria-disabled=true]):hover::after {
  transform: scale(1, 1);
}
.infinite-anc .btn-type01:not(:disabled):not([aria-disabled=true]):hover > .inner::after {
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_arrow_02.svg) no-repeat center center;
  background-size: contain;
}
.cv-block01 .list-notice01 {
  display: inline-block;
  text-align: left;
}
/* PC Only */
@media screen and (min-width: 1025px) {
  .cv-block01 {
    text-align: left;
  }
  .cv-block01 .btn-list01 > .item {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .cv-block01 .btn-type01.-infinite {
    width: 448px;
  }
  .cv-block01 .btn-type01.-infinite > .inner {
    min-height: 61px;
  }
  .cv-block01 .text-block01 {
    font-size: 2.0rem;
  }
  .cv-block01 .btn-list01 {
    margin-top: 64px;
  }
}
/* SMALL STYLES */
@media screen and (max-width: 339.98px) {
  .cv-block01 {
    margin-top: 5px;
  }
  .cv-block01 .btn-type01.-infinite {
    width: 240px;
  }
}

/*-------------------------------------
.offer-section
-------------------------------------*/
.offer-section > .content-block01 {
  padding-top: 80px;
}
.offer-section .title-block01 {
  position: relative;
  z-index: 1;
}
.offer-section > .content-block01 .title-block01::before {
  content: '';
  display: block;
  width: 319px;
  height: 481px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_03.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  right: calc(50% - 319px / 2 - 420px);
  top: calc(50% - 481px / 2 - 4px);
}
.offer-section > .content-block01 .title-block01::after {
  content: '';
  display: block;
  width: 303px;
  height: 242px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_04.png) no-repeat center center;
  background-size: contain;
  position: absolute;
  left: calc(50% - 303px / 2 - 430px);
  top: calc(50% - 242px / 2 - -90px);
}
.present-box {
  padding: 56px 32px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_02.jpg) no-repeat center center;
  border-radius: 16px;
  background-size: cover;
  position: relative;
  z-index: 1;
}
.present-box > .title {
  text-align: center;
}
.present-box > .title > .inner {
  color: #130800;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: .04em;
}
.present-box .section-block03 {
  margin-top: 40px;
}
.present-box .section-block03 > .title {
  text-align: center;
}
.present-box .section-block03 > .title > .inner {
  color: #130800;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .04em;
}
.present-box .section-block03 .lead-block01 .img > .img01 {
  width: 100%;
  height: auto;
}
.present-box .section-block03 .text-block01 {
  font-weight: 500;
  line-height: 2;
  letter-spacing: .04em;
}
.present-box .section-block03 .dl-block01 {
  width: 100%;
  margin-top: 24px;
}
.present-box .section-block03 .dl-block01 > .title {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.present-box .section-block03 .dl-block01 > .title::before,
.present-box .section-block03 .dl-block01 > .title::after {
  content: '';
  display: block;
  width: 48px;
  height: 1px;
  background: #5E5A56;
}
.present-box .section-block03 .dl-block01 > .title > .inner {
  display: flex;
  align-items: center;
  justify-content: center;
  column-gap: 8px;
  letter-spacing: .04em;
}
.present-box .section-block03 .dl-block01 > .title .inner::before,
.present-box .section-block03 .dl-block01 > .title .inner::after {
  content: '';
  display: block;
  width: 3px;
  height: 10px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_ico_02.png) no-repeat 0 0;
  background-size: contain;
}
.present-box .section-block03 .dl-block01 > .title .inner::after {
  transform: rotate(180deg);
}
.present-box .section-block03 .dl-block01 > .detail {
  margin-top: 16px;
  letter-spacing: .04em;
}
.present-box .btn-type01.-infinite {
  width: 194px;
}
.present-box .list-num01 {
  font-size: 1.4rem;
}
/* PC Only */
@media screen and (min-width: 768px) {
  .offer-section > .content-block01 {
    padding-top: 120px;
  }
  .present-box {
    padding: 56px 32px;
  }
  .present-box > .title > .inner {
    font-size: 3.6rem;
  }
  .present-box .section-block03 > .title > .inner {
    font-size: 2.4rem;
  }
  .present-box .btn-type01.-infinite {
    width: 256px;
  }
  .present-box .btn-type01.-infinite > .inner {
    min-height: 51px;
  }
  .present-box .list-num01 {
    font-size: 1.6rem;
  }
}
@media screen and (min-width: 1025px) {
  .present-box {
    padding: 72px;
  }
  .present-box > .title {
    text-align: left;
  }
  .present-box .section-block03 > .title {
    text-align: left;
  }
  .present-box .section-block03 .dl-block01 {
    margin-top: 40px;
  }
  .present-box .section-block03 .dl-block01 > .title {
    justify-content: flex-start;
  }
  .present-box .section-block03 .dl-block01 > .title::before {
    display: none;
  }
  .present-box .section-block03 .dl-block01 > .title::after {
    width: 814px;
  }
  .present-box .section-block03 .lead-block01 > .list-notice01 {
    margin-top: 0;
  }
  .present-box .lead-block01 > .inner {
    position: relative;
  }
  .present-box .lead-block01 > .inner .text-block01 {
    width: calc(50.4% - 56px);
    min-width: 463px;
  }
  .present-box .lead-block01 > .inner .img {
    width: calc(50.4% - 56px);
    max-width: 467px;
    min-width: 330px;
    position: absolute;
    top: -124px;
    right: -64px;
  }
  .present-box .btn-list01.-row {
    margin-top: 32px;
  }
}
/* TB/SP STYLES */
@media screen and (max-width: 1024.98px) {
  .present-box .section-block03 .lead-block01 > .list-notice01 {
    margin-top: 32px !important;
  }
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .offer-section > .content-block01 .title-block01::before {
    width: 235px;
    height: 354px;
    right: calc(50% - 235px / 2 - 230px);
    top: calc(50% - 354px / 2 - -14px);
  }
  .offer-section > .content-block01 .title-block01::after {
    width: 190px;
    height: 152px;
    left: calc(50% - 190px / 2 - 220px);
  }
  .present-box > .title {
    margin: 0 -12px;
  }
  .present-box .section-block03 .text-block01 {
    font-size: 1.4rem;
  }
  .present-box .section-block03 .dl-block01 {
    font-size: 1.4rem;
  }
}

/*-------------------------------------
benefits-section
-------------------------------------*/
.benefits-section {
  padding: 160px 0 80px;
}
.benefits-section .benefits-block01 {
  display: flex;
  flex-flow: column wrap;
  grid-row-gap: 86px;
  margin-top: 120px !important;
}
.benefits-block01 > .card-box {
  padding: 64px 32px;
  position: relative;
  text-align: center;
}
.benefits-block01 > .card-box:first-child::after {
  content: '';
  display: block;
  width: 46px;
  height: 46px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_ico_03.png) no-repeat 0 0;
  background-size: contain;
  position: absolute;
  bottom: calc(-86px + (46px / 2));
  left: calc(50% - (46px / 2));
}
.life-block01 > .title {
  font-size: 3.2rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em;
  position: relative;
}
.life-block01 > .title > .inner {
  display: inline-block;
  position: relative;
}
.life-block01 > .title > .inner::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.life-block01 .text-block01 {
  letter-spacing: .04em;
}
.life-box .dl-block01 > .title {
  font-size: 2.0rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em;
}
.life-box .dl-block01 > .title > .inner {
  display: inline-block;
  position: relative;
}
.life-block01 .dl-block01 > .title > .inner::before {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #FFFFFF 0%, rgba(255, 255, 255, 0) 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}
.life-block01 .dl-block01 > .detail {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
}
.life-block01 .dl-block01 > .detail > .text {
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: .04em;
}
.life-block01 .dl-block01 > .detail > .text .txt01 {
  display: inline-block;
  width: 1em;
  margin-right: 8px;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.1;
}
.life-block01 .dl-block01 > .detail > .text ._t-numBold {
  font-size: 6.4rem;
}
/* TB/SP STYLES */
@media screen and (max-width: 1024.98px) {
  .benefits-section {
    padding-top: 100px;
  }
  .benefits-section .benefits-block01 {
    margin-top: 56px !important;
  }
  .benefits-block01 > .card-box {
    padding: 32px 20px;
  }
}

/* PC Only */
@media screen and (min-width: 768px) {
  .benefits-section .benefits-block01 {
    grid-row-gap: 142px;
  }
  .benefits-block01 > .card-box:first-child::after {
    bottom: calc(-116px + (46px / 2));
  }
  .life-block01 .column-layoutB2 {
    max-width: 650px;
    margin: 88px auto 0;
    column-gap: 50px;
    row-gap: 72px;
  }
  .life-block01 .life-box {
    width: 300px;
    margin: 0 auto;
  }
  .life-block01 .dl-block01 > .detail {
    justify-content: center;
    column-gap: 40px;
  }
  .life-block01 .dl-block01 > .detail > .ico > img {
    width: 48px;
    height: auto;
  }
}

/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .life-block01 > .title {
    font-size: 2.0rem;
  }
  .life-block01 .text-block01 {
    max-width: 243px;
    margin: 32px auto 0;
    font-size: 1.4rem;
    text-align: left;
  }
  .life-box .dl-block01 {
    margin: 0 auto;
  }
  .life-box .dl-block01 > .title {
    font-size: 1.4rem;
  }
  .life-block01 .dl-block01 > .detail {
    max-width: 160px;
    margin: 8px auto 0;
  }
  .life-block01 .dl-block01 > .detail > .text {
    font-size: 1.6rem;
  }
  .life-block01 .dl-block01 > .detail > .text .txt01 {
    font-size: 1.6rem;
  }
  .life-block01 .dl-block01 > .detail > .text ._t-numBold {
    font-size: 4.8rem;
  }
}


/*-------------------------------------
about-section
-------------------------------------*/
.about-section {
  padding-top: 100px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_01.png), linear-gradient(270deg, #C1BBB9 0%, #D4CECC 50%, #B9B3B1 100%);
}
.about-section .experience-block {
  padding-bottom: 56px;
}
.about-section .experience-block .title-block02 {
  margin-top: 100px;
}
.about-section .experience-block .title-block02 + .text-block01 {
  margin-top: 40px !important;
}
.experience-block > .text-block01 {
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
}
.management-block {
  margin-top: 100px;
}
.management-block > .content-block01 {
  padding-bottom: 100px;
}
.management-block .detail-block01 > .title {
  font-size: 2.0rem;
  font-weight: 600;
  text-align: center;
  letter-spacing: .04em;
}
.management-block .detail-block01 > .img {
  margin-top: 32px;
  text-align: center;
}
.management-block .detail-block01 > .detail {
  margin-top: 16px;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
  text-align: center;
}
.about-block01 {
  width: 100%;
  position: relative;
}
.about-block01 > .inner {
  width: 1174px;
  max-width: 100%;
  margin: auto;
  color: #FFF;
  position: relative;
  z-index: 1;
}
.about-block01 > .inner > .title {
  width: 375px;
  max-width: 100%;
  position: relative;
}
.about-block01 > .inner > .title .txt01 {
  font-size: 4.4rem;
  font-family: noto-serif;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .04em;
}
.about-block01 > .inner > .title .txt02 {
  margin-top: 24px;
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em;
}
.about-block01 > .inner > .title .txt03 {
  font-size: 6.8rem;
}
.about-block01 > .inner > .title .txt04 {
  display: block;
  text-align: right;
  white-space: nowrap;
}
.about-block01 .detail {
  width: 374px;
  max-width: 100%;
  margin-top: 72px;
}
.about-block01 .detail .title {
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: .04em;
}
.about-block01 .detail .text-block01 {
  margin-top: 20px;
  font-weight: 400;
  line-height: 2.1;
}
.about-block01 .img-block {
  display: flex;
  align-items: flex-end;
  column-gap: 40px;
}
.about-block01 .img-block.-reverse {
  flex-flow: row-reverse nowrap;
}
.about-block01 .img-block > .img01 {
  width: 328px;
  height: 403px;
  border-radius: 12px;
  overflow: hidden;
}
.about-block01 .img-block > .img02 {
  width: 289px;
  height: 214px;
  border-radius: 12px;
  overflow: hidden;
}
.about-block01.-img01 .img-block {
  right: 0;
}
.about-block01 .img-block > .img01 {
  margin-bottom: 93px;
}
.about-block01 .img-block .img01 > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-block01 .img-block .img02 > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about-block01 > .bg-block01 {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.about-block01.-img01 > .bg-block01 {
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_05.jpg) no-repeat top center;
  background-size: cover;
}
.about-block01.-img01 > .bg-block01::after {
  content: '';
  display: block;
  width: 100%;
  height: 100%;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_09.png) no-repeat 0 0;
  background-size: 100% auto;
  position: absolute;
  left: 0;
  top: -2px;
}
.about-block01.-img02 > .inner > .title::before {
  content: '';
  display: block;
  width: 388px;
  height: 310px;
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_08.png) no-repeat right bottom;
  position: absolute;
  left: -102px;
  top: -74px;
}
.about-block01.-img02 > .bg-block01 {
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_06.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (min-width: 1025px) {
  .about-section {
    padding-top: 160px;
  }
  .about-section .experience-block .title-block02 {
    margin-top: 160px;
  }
  .management-block {
    margin-top: 160px;
  }
  .about-block01 .img-block.-col {
    flex-flow: column wrap;
    row-gap: 64px;
  }
}
/* TB STYLES */
@media screen and (min-width: 768px) and (max-width: 1120.98px) {
  .management-block .card-box:nth-child(3) .detail-block01 > .detail,
  .management-block .card-box:nth-child(4) .detail-block01 > .detail {
    min-height: 56px;
  }
  .about-block01 .img-block {
    column-gap: 24px;
  }
  .about-block01 .img-block > .img01 {
    width: 18.88vw;
    max-width: 328px;
    min-width: 145px;
    height: 23.18vw;
    max-height: 403px;
    min-height: 178px;
  }
  .about-block01 .img-block > .img02 {
    width: 18.62vw;
    max-width: 289px;
    min-width: 142px;
    height: 13.67vw;
    max-height: 214px;
    min-height: 105px;
  }
}
/* PC Only */
@media screen and (min-width: 768px) {
  .about-section .experience-block {
    padding-bottom: 80px;
  }
  .about-section .experience-block .title-block02 + .text-block01 {
    margin-top: 64px !important;
  }
  .management-block > .content-block01 {
    padding-bottom: 80px;
  }
  .management-block .card-box.-white01 {
    padding: 48px 32px;
  }
  .management-block .detail-block01 {
    display: flex;
    flex-flow: column wrap;
    justify-content: space-between;
    height: 100%;
  }
  .management-block .detail-block01 > .title {
    font-size: 3.2rem;
  }
  .management-block .detail-block01 > .detail {
    margin-top: 24px;
    font-size: 1.6rem;
  }
  .management-block .detail-block01 > .img {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 210px;
    margin-top: 40px;
  }
  .management-block .card-box.-white01:last-child .detail-block01 > .img {
    min-height: 275px;
  }
  .about-block01 {
    display: flex;
    align-items: center;
    height: 763px;
    padding: 0 20px;
  }
  .about-block01 .img-block.-col {
    width: 40%;
    max-width: 473px;
    min-width: 313px;
  }
  .about-block01 > .inner {
    display: flex;
    width: 1174px;
    flex-flow: column wrap;
    justify-content: center;
  }
  .about-block01.-img01 > .inner {
    align-items: flex-start;
  }
  .about-block01.-img02 > .inner {
    align-items: flex-end;
  }
  .about-block01 .img-block {
    position: absolute;
  }
  .about-block01.-img02 .img-block {
    left: 0;
  }
  .about-block01.-img01 > .bg-block01::before {
    content: '';
    display: block;
    width: calc(528px + 21px);
    height: calc(309px + 33px);
    background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_07.png) no-repeat right bottom;
  }
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .about-section {
    padding-top: 56px;
  }
  .about-section .experience-block .title-block02 {
    margin-top: 56px;
  }
  .management-block .card-box.-white01:not(:first-child) {
    margin-top: 48px;
  }
  .experience-block > .text-block01 {
    font-size: 1.4rem;
  }
  .about-block01 {
    padding: 102px 20px 72px;
  }
  .about-block01 > .inner {
    width: 600px;
  }
  .about-block01.-img01 > .inner > .title {
    width: 236px;
  }
  .about-block01.-img02 > .inner > .title {
    display: flex;
    flex-flow: column wrap;
    align-items: flex-end;
    width: 100%;
  }
  .about-block01.-img02 > .inner > .title > .txt01 {
    width: 252px;
    padding-right: 16px;
    max-width: 100%;
  }
  .about-block01 > .inner > .title .txt01 {
    font-size: 2.6rem;
  }
  .about-block01 > .inner > .title .txt02 {
    margin-top: 12px;
    font-size: 1.3rem;
  }
  .about-block01 > .inner > .title .txt03 {
    font-size: 4.4rem;
  }
  .about-block01 > .inner > .detail {
    width: 100%;
  }
  .about-block01.-img01 > .inner > .title::before {
    content: '';
    display: block;
    width: 320px;
    height: 186px;
    background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_bg_07.png) no-repeat right bottom;
    background-size: contain;
    position: absolute;
    left: -32px;
    top: -58px;
  }
  .about-block01.-img02 > .inner > .title::before {
    width: 245px;
    height: 186px;
    background-size: contain;
    left: auto;
    right: -31px;
  }
  .about-block01 .img-block {
    justify-content: center;
    column-gap: 24px;
  }
  .about-block01.-img01 .img-block {
    margin-top: -44px;
  }
  .about-block01.-img02 .img-block {
    margin-top: -66px;
  }
  .about-block01 .img-block > .img01 {
    width: 220px;
    height: 271px;
  }
  .about-block01 .img-block > .img02 {
    width: 257px;
    height: 190px;
  }
  .about-block01 .detail .title {
    font-size: 1.8rem;
  }
  .about-block01 .detail .text-block01 {
    font-size: 1.4rem;
  }
}
@media screen and (max-width: 620.98px) {
  .about-block01 .img-block {
    width: 440px;
    position: relative;
    left: calc(50% - (440px / 2));
  }
}
/* SMALL STYLES */
@media screen and (max-width: 374.98px) {
  .about-block01 > .inner > .title .txt01 {
    font-size: 6.4vw;
  }
}

/*-------------------------------------
card-section
-------------------------------------*/
.card-section {
  padding: 100px 0;
}
.card-section .table-list01 {
  border-bottom: 1px solid #655B5A3D;
  color: #130800;
}
.card-section .table-list01 > .item {
  padding: 24px 0;
  border-top: 1px solid #655B5A3D;
  line-height: 1.5;
}
.card-section .table-list01 > .item .dl > .title {
  font-size: 1.4rem;
  font-weight: 500;
}
.card-section .table-list01 > .item .dl > .detail {
  font-size: 1.4rem;
  font-weight: 500;
}
.card-section .table-list01 + .section-block02 {
  margin-top: 24px;
  padding-top: 40px;
}
.card-section .table-list01 .list-notice01 {
  font-size: 1.4rem;
}
.card-section .list-circle01 > .item::before {
  width: 3px;
  height: 3px;
  background: #130800;
  top: .7em;
}
.card-section a {
  word-break: break-all;
}
.card-section + .content-block01 {
  margin-top: 0;
  padding-top: 100px;
}
/* PC Only */
@media screen and (min-width: 1025px) {
  .card-section {
    padding: 200px 0 0;
  }
}
@media screen and (min-width: 768px) {
  .card-section .table-list01 + .section-block02 {
    margin-top: 96px;
  }
  .card-section .table-list01 > .item .dl {
    display: flex;
    column-gap: 80px;
  }
  .card-section .table-list01 > .item .dl > .title {
    width: 26%;
    font-size: 1.6rem;
  }
  .card-section .table-list01 > .item .dl > .detail {
    font-size: 1.6rem;
    flex: 1;
  }
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .card-section {
    padding-top: 56px;
  }
  .card-section .table-list01 > .item .dl > .detail {
    margin-top: 16px;
  }
  .card-section .table-list01 .list-notice01 {
    font-size: 1.2rem;
  }
}

/*-------------------------------------
campaign-section
-------------------------------------*/
.campaign-section {
  padding: 100px 0;
}
.campaign-section .table-block01 {
  margin-top: 120px !important;
  padding: 64px;
  background: linear-gradient(208.81deg, rgba(255, 255, 255, 0.16) 17.74%, rgba(255, 255, 255, 0.36) 89.62%);
  border: 1px solid #FFFFFF;
  backdrop-filter: blur(6px);
  border-radius: 16px;
}
.campaign-section .table-list01 {
  border-bottom: 1px solid #655B5A3D;
  color: #130800;
}
.campaign-section .table-list01 > .item {
  padding: 48px 0;
  border-top: 1px solid #655B5A3D;
  line-height: 1.5;
}
.campaign-section .table-list01 > .item .dl > .title {
  font-size: 1.4rem;
  font-weight: 500;
}
.campaign-section .table-list01 > .item .dl > .detail {
  font-size: 1.4rem;
  font-weight: 400;
}
.campaign-section .table-list01 + .section-block02 {
  margin-top: 24px;
  padding-top: 40px;
}
.campaign-section .table-list01 .list-notice01 {
  font-size: 1.4rem;
}
.campaign-section .list-circle01 > .item::before {
  width: 3px;
  height: 3px;
  background: #130800;
  top: .7em;
}
.campaign-section .notice .section-block03 {
  margin-top: 48px;
}
.campaign-section .notice .section-block03 .title01 {
  font-size: 2.4rem;
  font-weight: 500;
  text-align: center;
}
.campaign-section .notice .section-block03 .title01 + * {
  margin-top: 32px !important;
}
/* PC Only */
@media screen and (min-width: 1025px) {
  .campaign-section {
    padding: 200px 0;
  }
}
@media screen and (min-width: 768px) {
  .campaign-section .section-block02 {
    margin-top: 160px;
  }
  .campaign-section .table-list01 > .item .dl {
    display: flex;
    column-gap: 80px;
  }
  .campaign-section .table-list01 > .item .dl > .title {
    width: 180px;
    font-size: 1.6rem;
  }
  .campaign-section .table-list01 > .item .dl > .detail {
    font-size: 1.6rem;
    flex: 1;
  }
  .campaign-section .title-block02 + .card-normal01 {
    margin-top: 100px !important;
  }
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .campaign-section {
    padding-top: 56px;
  }
  .campaign-section .title-block02 + .card-normal01 {
    margin-top: 64px !important;
  }
  .campaign-section .table-block01 {
    margin-top: 48px !important;
    padding: 32px 24px;
  }
  .campaign-section .table-list01 > .item {
    padding: 24px 0;
  }
  .campaign-section .table-list01 > .item .dl > .detail {
    margin-top: 16px;
  }
  .campaign-section .table-list01 .list-notice01 {
    font-size: 1.2rem;
  }
  .campaign-section .notice .section-block03 .title01 {
    font-size: 1.6rem;
  }
}

/* card-normal01 */
.card-normal01 {
  background: transparent;
  border: 0;
}
.card-normal01>.inner>.header {
  padding: 40px 48px;
  background: linear-gradient(208.81deg, rgba(255, 255, 255, 0.16) 17.74%, rgba(255, 255, 255, 0.36) 89.62%);
  border: 1px solid #FFFFFF;
  backdrop-filter: blur(6px);
  border-radius: 16px;
}
.card-normal01>.inner>.body {
  padding: 48px 0 0;
}
.toggle-block01>[role=tablist]>[role=tab]::after {
  background: url(/kojin/olive/special/campaign/infinite/inf_pre/imgs/index_ico_08.svg) no-repeat center center;
  transform: rotate(0);
}
.toggle-block01>[role=tablist]>[role=tab][aria-selected=true]::after {
  transform: rotate(180deg);
}
.toggle-block01:not(:first-child) {
  margin-top: 48px;
}
.toggle-block01.card-normal01:not(.-red01)>.inner>.header[role=tab]>.title {
  color: #130800;
  font-size: 2.4rem;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: .04em;
}
.card-normal01>.inner>.body:not(:first-child)::before {
  display: none;
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .card-normal01>.inner>.header {
    padding: 24px;
  }
  .toggle-block01.card-normal01:not(.-red01)>.inner>.header[role=tab]>.title {
    font-size: 1.6rem;
  }
  .card-normal01>.inner>.body {
    font-size: 1.2rem;
  }
  .toggle-block01:not(:first-child) {
    margin-top: 24px;
  }
  .card-normal01>.inner>.body {
    padding-top: 24px;
  }
}
/* SMALL STYLES */
@media screen and (max-width: 374.98px) {
  .toggle-block01.card-normal01>.inner>.header[role=tab]::after {
    width: 16px;
    height: 16px;
    background-size: contain;
    top: calc(50% - 8px);
  }
  .card-normal01>.inner>.header {
    padding: 6.4vw;
  }
  .toggle-block01.card-normal01:not(.-red01)>.inner>.header[role=tab]>.title {
    font-size: 4.27vw;
  }
  .toggle-block01.card-normal01>.inner>.header[role=tab]>.title {
    padding-right: 0;
  }
}

/*-------------------------------------
cv-card
-------------------------------------*/
.cv-card {
  padding-bottom: 100px;
  text-align: center;
}
.cv-card > .inner .txt {
  font-size: 3.0rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: .06em;
}
.cv-card .img01 {
  margin-top: 48px;
}
.cv-card .btn-type01.-infinite {
  width: 295px;
  max-width: 100%;
}
/* PC Only */
@media screen and (min-width: 1024px) {
  .card-section + .content-block01 {
    padding-top: 200px;
  }
  .cv-card .img01 > .img {
    width: 560px;
    height: auto;
  }
}
/* TB STYLES */
@media screen and (min-width: 768px) and (max-width: 1024.98px) {
  .cv-card .img01 > .img {
    width: 368px;
    height: auto;
  }
}
@media screen and (min-width: 768px) {
  .notice-box {
    font-size: 1.4rem;
  }
  .cv-card .img01 {
    margin-top: 120px;
  }
  .cv-card > .inner .txt {
    font-size: 4.8rem;
  }
  .cv-card .btn-type01.-infinite {
    width: 368px;
  }
  .cv-card .btn-type01.-infinite > .inner {
    min-height: 61px;
    font-size: 1.6rem;
  }
}
/* SMALL STYLES */
@media screen and (max-width: 339.98px) {
  .cv-card .btn-type01.-infinite {
    width: 240px;
  }
}

/*-------------------------------------
.bnr-section
-------------------------------------*/
.bnr-section > .inner {
  padding-bottom: 100px;
}
/* SP STYLES */
@media screen and (max-width: 767.98px) {
  .bnr-section > .inner {
    padding-bottom: 56px;
  }
}


/*-------------------------------------
fixed-entry
-------------------------------------*/
.fixed-entry {
  display: none;
  width: 100%;
  padding: 16px 32px;
  background: linear-gradient(208.81deg, rgba(255, 255, 255, 0.1) 17.74%, rgba(255, 255, 255, 0.4) 89.62%);
  backdrop-filter: blur(1.5px);
  position: fixed;
  bottom: 0;
  z-index: 5;
}
.fixed-entry .btn-type01.-infinite {
  width: 310px;
  max-width: 100%;
}
/* PC Only */
@media screen and (min-width: 768px) {
  .fixed-entry {
    padding: 32px;
  }
  .fixed-entry .btn-type01.-infinite {
    width: 304px;
  }
  .fixed-entry .btn-type01.-infinite > .inner {
    min-height: 51px;
  }
}

/*-------------------------------------
Anime
-------------------------------------*/
.anm-fadeUp01 {
  transition: transform 0.6s cubic-bezier(0.1, 0.2, 0.3, 1) 0.2s, opacity 0.2s ease-out 0.2s;
}
.anm-fadeUp01.-delay01 {
  transition: transform 0.7s cubic-bezier(0.1, 0.2, 0.3, 1) 0.2s, opacity 0.3s ease-out 0.2s;
}
.anm-fadeUp01.-delay02 {
  transition: transform 0.8s cubic-bezier(0.1, 0.2, 0.3, 1) 0.2s, opacity 0.4s ease-out 0.3s;
}
.anm-fadeUp01.-delay03 {
  transition: transform 0.9s cubic-bezier(0.1, 0.2, 0.3, 1) 0.2s, opacity 0.5s ease-out 0.4s;
}
.anm-fadeShow01 {
  transition: opacity 0.2s ease-out 0.2s;
}
.js-inview02 {
  display: inline-block;
  clip-path: inset(0 100% 0 0);
  transition: 1.2s cubic-bezier(0.3, 0, 0.7, 1);
  transition-property: clip-path;
}
.js-inview02.-delay01 {
  transition: .8s cubic-bezier(0.3, 0, 0.7, 1);
}
.js-inview02.anm-clipTxt01 {
  clip-path: inset(0);
}
.js-inview01:not(.anm-fadeUp01) {
  opacity: 0;
  transform: translateY(50px);
}
/* PC Only */
@media screen and (min-width: 768px) {
  .js-inview02 {
    transition: 1.0s cubic-bezier(0.3, 0, 0.7, 1);
  }
}
