@charset "shift_jis";
/* Updated 2026/02/02.T */
/* Updated 2026/01/28.T */
/*********************************************
font
*********************************************/
@font-face {
  font-family: "noto-sans-black";
  src: url("/kojin/special/fonts/NotoSansJP-Black.woff") format("woff");
}
.t-boldBlack {
  font-family: "noto-sans-black";
  font-weight: 900;
}
/*********************************************
common
*********************************************/
#containment-area {
  margin-bottom: 0;
}
body {
  min-width: auto;
}
sup {
  font-size: 1.0rem;
}
#footer-area {
  position: relative;
  z-index: 1;
}
#footer-content {
  margin-top: 0;
}
.footer-logo {
  padding-bottom: 70px !important;
}
body.cpnloadEnd .footer-logo {
  padding-bottom: 0 !important;
}
._lh01 {
  line-height: 1 !important;
}
.bg-green01 {
  background: #004831;
}
.bg-white01 {
  background: #F9F8F3;
}
.bg-beige01 {
  background: #F1ECD4;
}
[class^="sec-wrap"] > .inner {
  padding: 0 4%;
}
[class^="sec-ttl"] {
  position: relative;
  font-weight: 700;
  text-align: center;
}
[class^="sec-ttl"] > .lead {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
[class^="sec-ttl"] > .main {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.sec-ttl02 {
  padding-top: 20px;
  letter-spacing: .08em;
}
.sec-ttl02:not(.-present)::after {
  display: inline-block;
  width: 29px;
  height: 3px;
  background: #A89346;
  border-radius: 24px;
  content: "";
  transform: translate(0px, -4px);
}
.bg-green01 .sec-ttl02:not(.-present)::after {
  background: #FFFFFF;
}
.sec-ttl02 > .lead {
  position: absolute;
  top: -1.21em;
  left: 50%;
  min-height: 2.40em;
  padding: .25em 1.7em;
  background: #A89346;
  border-radius: 50px;
  color: #FFFFFF;
  font-size: 1.4rem;
  white-space: nowrap;
  transform: translateX(-50%);
}
.sec-ttl02 > .lead::before {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -.5em;
  width: 30px;
  margin: auto;
  border-style: solid;
  border-color: #A89346 rgb(255 255 255 / 0);
  border-width: 15px 15px 0;
  content:"";
}
.sec-ttl02 > .main {
  color: #004831;
  font-size: 2.4rem;
}
.sec-ttl02 > .main.-small {
  font-size: 2.2rem;
}
.sec-ttl02 > .main > .inner::before,
.sec-ttl02 > .main > .inner::after {
  display: inline-block;
  color: #A89346;
  font-size: 3.2rem;
  transform: translate(0px, 4px);
}
.sec-ttl02 > .main > .inner::before {
  margin-right: 10px;
  content: "\201C";
}
.sec-ttl02 > .main > .inner::after {
  margin-left: 10px;
  content: "\201D";
}
.sec-ttl02 > .main > .inner > .num01 {
  color: #004831;
  font-size: 1.63637em;
  line-height: 1.35;
}
.bg-green01 .sec-ttl02 > .main,
.bg-green01 .sec-ttl02 > .main > .inner::before,
.bg-green01 .sec-ttl02 > .main > .inner::after {
  color: #FFFFFF;
}
.icon-link01._t-white01 > .inner::after {
  left: 4px;
  background-image: url(/kojin/cmn/imgs/ico_arrow_right_02.svg);
}
.icon-link01.-bottom:not([class*=btn-type]):not(.card-tile02):not(.card-tile04)>.inner {
  padding-left: 0;
}
.icon-link01.-bottom:not([class*=btn-type])>.inner::after {
  position: relative;
  top: auto;
  left: 4px;
  vertical-align: middle;
}
.btn-type01.-offers01 {
  letter-spacing: .04em;
}
.btn-type01.-ls0 {
  letter-spacing: 0;
}
.btn-type01.-orange01 {
  background: #FF5F04;
}
.btn-type01.-beige01 {
  background: #F1ECD4;
}
[class*=glyph-][class*=btn-type].-right > .inner::before {
  top: calc(50% - (1.375em / 2));
  left: auto;
  right: 1em;
}
.t-gray01 {
  color: #56635F;
}
.t-brown01 {
  color: #A89346;
}
.toggle-wrap01 {
  width: 100%;
  background: #FFFFFF;
  border: 1px solid #D5DEDB;
  border-radius: 8px;
}
.toggle-wrap01 > .inner > .btn01 {
  position: relative;
  padding: 10px 2em;
  color: #56635F;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: center;
  transition: background-color .3s ease-out;
}
.toggle-wrap01 > .inner > .btn01 > * {
  font-weight: 700;
}
.toggle-wrap01 > .inner > .btn01::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - (1.65em / 2));
  right: calc(10px - .2em);
  width: 1.65em;
  height: 1.65em;
  background: url(/kojin/cmn/imgs/ico_arrow_right_01.svg) 0 0 / cover no-repeat;
  transform: rotate(90deg);
}
.toggle-wrap01 > .inner > .btn01[aria-selected=true]::after {
  transform: rotate(-90deg);
}
.toggle-wrap01 > .inner > .body01 {
  padding: 16px;
  border-top: 1px solid #D5DEDB;
}
.dtl-list01 {
  color: #141D1D;
  font-size: 1.4rem;
}
.dtl-list01 > :not(:first-child) {
  margin-top: 16px;
}
.dtl-list01 > .ttl01 {
  padding: 4px;
  background: #E5EDEA;
  color: #004831;
  font-weight: 700;
  text-align: center;
}
#content-area .dtl-list01 > .body01 > :not(:first-child) {
  margin-top: 16px;
}
.list-circle01.-offers > .item::before {
  width: 4px;
  height: 4px;
  top: calc((1.5em - 4px) / 2);
  left: .357em;
}
.list-circle01.-dark01 > .item::before,
.list-circle01 > .item.-dark01::before {
  background: #56635F;
}
/*********************************************
section-mainInr
*********************************************/
.section-main {
  position: relative;
  background-color: #FFBE62;
}
.bg-sticky {
  position: sticky;
  top: 0;
  height: 100vh;
  background: url('/kojin/olive/special/campaign/open/cp2602/imgs/index_bg_01.png') top center/cover no-repeat;
}
.section-mainInr {
  position: relative;
  max-width: 500px;
  margin: -100vh auto 0;
  background: #F4EBDA;
  overflow: hidden;
}
@media screen and (min-width: 500px) {
  .section-mainInr {
    box-shadow: 0 0 16px 0 rgba(0, 0, 0, 0.08);
  }
}
.section-main .section-mainInr {
  overflow: hidden;
}
/*********************************************
kv
*********************************************/
.kv-area01 {
  position: relative;
  padding: 0;
  background-color: #f9f8f3;
  text-align: center;
}
.kv-area01 .ttl01 {
  margin: 0;
}
.btn-box-area {
  background-color: #FF890B;
  padding: 3% 3.6% 0;
}
.btn-box-area .btn-box {
  padding: 3.4% 2.8% 4%;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 12px;
}
.btn-box-area .btn01 {
  margin-bottom: 3.6%;
  padding: 1% 3.2% 0;
  text-align: center;
}
.btn-box-area .btn01:last-child {
  margin-bottom: 0;
}
.btn-box-area .btn-type01 {
  position: relative;
  height: 60px;
  letter-spacing: 0;
  font-size: 1.8rem;
  border: 1px solid #fff;
}
.btn-box-area .btn-type01 > .inner {
  min-height: 0;
}
/*********************************************
intro
*********************************************/
.intro-area01 {
  padding: 0;
  text-align: center;
  background: url("/kojin/olive/special/campaign/open/cp2602/imgs/index_bg_02.png") center/cover no-repeat;
}
.intro-area01.bg2 {
  background: url("/kojin/olive/special/campaign/open/cp2602/imgs/index_bg_03.png") center/cover no-repeat;
}
.intro-area01.bg3 {
  background: url("/kojin/olive/special/campaign/open/cp2602/imgs/index_bg_04.png") center/cover no-repeat;
}
@media screen and (max-width: 499px) {
  .intro-area01 {
    padding: 0;
  }
}
.intro-area01 .block01 {
  align-content: center;
  padding: 0;
}
.intro-area01 .block01 img {
  width: 62.5%;
  padding: 11% 0 13%;
}
.intro-area01.bg2 .block01 img {
  width: 60%;
}
.intro-area01.bg3 .block01 img {
  width: 78.5%;
  padding: 5% 0 7%;
}
@media screen and (max-width: 499px) {
  .intro-area01 .block01 {
    padding: 0;
  }
}
/*********************************************
campaign
*********************************************/
.campaign-area01 {
  padding: 3% 0 2.4%;
  text-align: center;
  background-color: #FF890B;
}
.campaign-area01 .frame01 {
  position: relative;
  display: block;
  margin: 0 4% 11%;
  padding: 10.2% 4.6% 6.4%;
  min-height: 27.8%;
  border-radius: 8px;
  background-color: #f9f8f3;
  text-decoration: none;
  letter-spacing: .04em;
}
.campaign-area01 .frame01::after {
  content: '';
  position: absolute;
  bottom: -23.5px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 23px;
  background: url('/kojin/olive/special/campaign/open/cp2602/imgs/index_img_04.png') center/contain no-repeat;
}
@media screen and (max-width: 499px) {
  .campaign-area01 .frame01::after {
    width: 84vw;
    bottom: -5.1vw;
    height: 5.5vw;
  }
}
.campaign-area01 .frame01.p-v1 {
  padding: 10.2% 0.2% 6.4%;
}
.campaign-area01 .frame01.p-v2 {
  padding: 8% 4.6% 7.2%;
}
.campaign-area01 .frame01.p-v3 {
  padding: 0;
}
.campaign-area01 .frame01.p-v3 .content {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.campaign-area01 .frame01 .bnr {
  margin-bottom: 6.4%;
  padding: 0 7%;
}
.campaign-area01 .frame01 .bnr-bottom-btn {
  display: block;
  position: relative;
  width: 100%;
  padding: 3.2% 1% 4%;
  font-weight: bold;
  color: #004831;
  text-decoration: none;
  background-color: #F8F9BA;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.campaign-area01 .frame01 .bnr-bottom-btn::after {
  content: '';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 17.5px;
  height: 11px;
  margin-left: 10px;
  background: url('/kojin/olive/special/campaign/open/cp2602/imgs/index_ico_01.png') center/contain no-repeat;
}
.campaign-area01 .frame01 .btn-type01 {
  width: 100%;
  padding: 0 1%;
  letter-spacing: 0;
  border: 1px solid #fff;
}
.campaign-area01 .frame01 .btn-type01 > .inner {
  min-height: 54px;
}
.campaign-area01 .frame01 .btn01 .btn-type01 {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 78%;
}
.campaign-area01 .frame01 .btn01 .btn-type01.-orange01 {
  top: 64vw;
}
.campaign-area01 .frame01 .btn01 .btn-type01.-green01 {
  top: 18vw;
}
@media screen and (min-width: 500px) {
  .campaign-area01 .frame01 .btn01 .btn-type01.-orange01 {
    top: 320px;
  }
  .campaign-area01 .frame01 .btn01 .btn-type01.-green01 {
    top: 90px;
  }
}
.campaign-area01 .frame01 + .frame01 {
  margin-top: 6.4%;
}
.campaign-area01 .frame01 .title01 {
  position: absolute;
  top: -12.6%;
  left: 50%;
  transform: translateX(-50%);
  width: 80%;
}
.campaign-area01 .frame01 .title02 {
  position: absolute;
  top: -3.6%;
  left: 50%;
  transform: translateX(-50%);
  width: 45%;
}
.campaign-area01 .frame01 .txt01 {
  margin-top: 4%;
  padding-left: 1.3em;
  text-indent: -1.3em;
  text-align: left;
  font-size: 1.4rem;
}
.campaign-area01 .frame01 .title03 {
  margin-bottom: 5%;
  padding: 0 0 12px;
  text-align: center;
  background-color: #004831;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.campaign-area01 .frame01 .title03 img {
  width: 70%;
}
.campaign-area01 .frame01 .content {
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.campaign-area01 .frame01 .subtitle {
  margin-bottom: 6%;
  padding: 0 8%;
}
.campaign-area01 .frame01 .btn-top-text {
  width: 64%;
  margin-bottom: 7%;
}
.campaign-area01.bg2 {
  margin-top: -6%;
  padding: 0 0 10%;
  background-color: #FFA72B;
}
.campaign-area01.bg2 .frame01.p-v1 {
  padding: 1.2% 1.2% 7.6%;
}
.campaign-area01.bg2 .frame01.p-v1 .img2 {
  position: relative;
  margin-top: 3.2%;
  padding: 0 2.4%;
}
.campaign-area01.bg2 .frame01.p-v2 {
  padding: 1.2% 1.2% 7.6%;
}
.campaign-area01.bg2 .frame01.p-v2 .content2 {
  padding: 4.8% 4.8% 0;
}
.card-area {
  margin-top: -2.4%;
  padding: 0 4%;
}
@media screen and (max-width: 499px) {
  .campaign-area01 .frame01 .btn-type01 > .inner {
    min-height: 10.8vw;
  }
}
/*********************************************
sec-wrap06
*********************************************/
.sec-wrap06 {
  padding-bottom: 8%;
  background-color: #FF890B;
}
.sec-wrap06 .box {
  margin-top: 5.2%;
  padding: 0.6%;
  border-radius: 12px;
  background-color: #fff;
}
.sec-wrap06 .box:first-child {
  margin-top: -6%;
  margin-bottom: 7.4%;
  border-radius: 16px;
}
.accordion-area2.no-acc {
  padding: 1.2% 1% 2.4%;
}
.accordion-area2.no-acc .campaign-box {
  margin: 0 auto;
  border: none;
}
.accordion-area2.no-acc .section-title {
  padding: 4% 2%;
  border-bottom: none;
}
.accordion-area2.no-acc .campaign-box .section-title:first-child {
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
}
.accordion-area2.no-acc .section-body {
  padding: 3.6% 3% 3.8%;
  border-bottom: none;
}
/*********************************************
bnr-area01
*********************************************/
.bnr-area01 {
  margin-top: -3%;
  padding: 2.6% 7.4% 10%;
  background-color: #F8F9BA;
}
.bnr-inner {
  margin-bottom: 12%;
}
.bnr-inner:last-child {
  margin-bottom: 0;
}
.bnr-img {
  margin-bottom: 3%;
  padding: 0 1.4%;
}
.bnr-img img {
  border: 2px solid #fff;
}
.bnr-text {
  font-weight: bold;
  text-align: center;
  color: #004831;
}
.bnr-btn01 {
  margin: 4% 0 0;
  text-align: center;
}
.bnr-btn01 .btn-type01 {
  color: #004831;
  border: 1px solid #004831;
  background-color: #fff;
  box-shadow: 0 8px 12px rgba(11, 90, 60, 0.3);
}
.bnr-btn01 .btn-type01.-large01 {
  width: 100%;
}
.bnr-btn01 .btn-type01 > .inner {
  min-height: 54px;
}
@media screen and (max-width: 499px) {
  .bnr-btn01 .btn-type01 > .inner {
    min-height: 10.8vw;
  }
}
/*-----------------------
cv-button01
------------------------*/
a.cv-button01,
button.cv-button01{
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  border-radius: 60px;
  width: 100%;
  box-shadow: 0px 6px 8px 0px #C15D004D;
  border: 4px solid #fff;
  background: #FF5F04;
  font-size: 2rem;
  font-weight: bold;
  color: #fff;
  text-decoration: none;
  transition: background-color .3s ease-out;
}
a.cv-button01.-green01,
button.cv-button01.-green01{
  background: #004831;
  box-shadow: 0px 6px 8px 0px #0048314D;
}
/*-----------------------
btn-fix01
------------------------*/
.btn-fix01{
  display: flex;
  max-width: 500px;
  margin: 0 auto;
}
.btn-fix01>li{
  flex: 1;
}
.btn-fix01>li:not(:first-child){
  margin-left: 8px;
}
.btn-fix01 a.cv-button01,
.btn-fix01 button.cv-button01 {
  position: relative;
  border: 1px solid #fff;
  min-height: 54px;
  font-size: 1.6rem;
  line-height: 1.3;
}
#footer-fixed .panel>.inner{
  padding: 8px;
}
/*********************************************
fix-wrap
*********************************************/
.fix-wrap {
  display: none;
}
@media screen and (max-width: 1100px) {
  .fix-wrap02{
    display: none!important;
  }
}
@media screen and (min-width: 768px) {
  /*-----------------------
  cv-button01
  ------------------------*/
  a.cv-button01:hover,
  button.cv-button01:hover{
    background: #e95501;
  }
  a.cv-button01.-green01:hover,
  button.cv-button01.-green01:hover{
    background: #006444;
  }
  a.anc-button01:hover,
  button.anc-button01:hover{
    opacity: 0.8;
  }
}
/*********************************************
fix-wrap02
*********************************************/
.fix-wrap02 {
  position: fixed;
  top: 50%;
  left: 74vw;
  z-index: 3;
  max-width: 23.5vw;
  width: 275px;
  border-radius: 16px;
  background: #f9f7ee;
  transform: translate(0, -60%);
}
.fix-wrap02 .ttl01 {
  position: relative;
  padding: 24px 0 0 0;
  color: #4E2714;
  text-align: center;
  letter-spacing: .16em;
  font-weight: 900;
  font-size: 2.4rem;
  font-family: "roboto";
  line-height: 1;
}
.fix-wrap02 .ttl01:before {
  position: absolute;
  bottom: -12px;
  left: 50%;
  display: block;
  width: 29px;
  height: 2px;
  border-radius: 100px;
  background-color: #FF7824;
  content: "";
  transform: translate(-50%, 0);
}
.fix-wrap02 .list01 {
  padding: 18px 0 34px 0;
  text-align: left;
}
.fix-wrap02 .item01 {
  margin: 17px 0 0;
  font-size: 1.8rem;
}
.fix-wrap02 .link01 {
  position: relative;
  display: block;
  padding: 0 0 0 51px;
  color: #C5C5C5;
  text-decoration: none;
  font-family: "noto-sans-black";
  font-weight: bold;
}
.fix-wrap02 .item01.-active .link01 {
  color: #4E2714;
}
.fix-wrap02 .item01.-active .link01:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 32px;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-top: 6px solid transparent;
  border-bottom: 6px solid transparent;
  border-left: 9px solid #D94700;
}
@media screen and (max-height: 700px) {
  .fix-wrap02 {
    display: none !important;
  }
}
/*********************************************
fix-wrap03
*********************************************/
.fix-wrap03 {
  position: fixed;
  top: calc(50%);
  left: calc(50vw - 680px);
  padding: 0 0 20px 0;
  width: 350px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.08);
  text-align: center;
  transform: translate(0, -56%);
}
.fix-wrap03 .txt01 {
  padding: 15px 20px 0 20px;
  color: #4E2714;
  letter-spacing: .04em;
  font-size: 1.4rem;
}
.fix-wrap03 .img-ab {
  position: absolute;
  top: -46px;
  left: -53px;
}
.fix-wrap03 .img01 {
  position: relative;
  margin-top: -53px;
  padding: 0 20px;
  z-index: 1;
}
.fix-wrap03 .img02 {
  margin-top: -18px;
  padding: 5px;
}
.fix-wrap03 .img03 {
  margin-top: 28px;
}
.fix-wrap03 .img04 {
  margin-top: 12px;
}
@media screen and (max-width: 1438px) {
  .fix-wrap03 {
    left: 30px;
  }
}
@media screen and (max-width: 1343px) {
  .fix-wrap03 {
    width: calc(50% - 300px);
  }
}
@media screen and (max-width: 1100px) {
  .fix-wrap03 {
    display: none !important;
  }
}
@media screen and (max-height: 700px) {
  .fix-wrap03 {
    display: none !important;
  }
}
/*********************************************
end-txtArea
*********************************************/
.end-txtArea {
  position: relative;
  padding: 20px 5px;
  background: #003927;
  font-weight: bold;
  text-align: center;
  font-size: 18px;
  color: #fff;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  /*********************************************
  hover
  *********************************************/
  .btn-type01.-orange01.-offers01:not(:disabled):not([aria-disabled=true]):hover {
    background: #e95501;
  }
  .btn-type01.-green01.-offers01:not(:disabled):not([aria-disabled=true]):hover {
    background: #006444;
  }
  .toggle-wrap01 > .inner > .btn01:hover {
    background: #f5f5f5;
  }
  .btn-type01:not(:disabled):not([aria-disabled=true]):focus{
    outline: 3px solid #c4d700;
  }
  /*********************************************
  end-txtArea
  *********************************************/
  .end-txtArea {
    font-size: 24px;
  }
}
/* large size */
@media screen and (min-width: 1921px) {
  /*-------------------------------
  fix-wrap02
  -------------------------------*/
  .fix-wrap02 {
    left: calc(50vw + 462px);
  }
}
@media screen and (min-width: 401px) {
  /*********************************************
  common
  *********************************************/
  .s-visible {
    display: none !important;
  }
}
/* small size */
@media screen and (min-width: 375px) {
  /*********************************************
  common
  *********************************************/
  .ss-visible {
    display: none !important;
  }
}
@media screen and (max-width: 374px) {
  /*********************************************
  common
  *********************************************/
  .sec-ttl02 > .main {
    font-size: 2.2rem;
  }
}
/*********************************************
accordion2
*********************************************/
.accordion-area2 {
  padding: 1.2%;
}
.accordion-area2 .acc-body {
  display: none;
  padding: 2.2% 0 2.8%;
}
.accordion-area2 .acc-body > div {
  padding: 0 2.2%;
}
.accordion-area2 .acc-trigger2 {
  position: relative;
  padding: 2.6%;
  padding-right: 8.6%;
  color: #4E2714;
  font-weight: bold;
  cursor: pointer;
}
.accordion-area2 .acc-trigger2::after {
  content: '';
  position: absolute;
  right: 2.8%;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 3px solid #4E2714;
  border-bottom: 3px solid #4E2714;
  transform: translateY(-60%) rotate(45deg);
  transition: transform 0.25s ease;
}
.accordion-area2 .acc-trigger2[aria-expanded="true"]::after {
  transform: translateY(-40%) rotate(-135deg);
}
.accordion-area2 .campaign-box {
  margin: 1.4% auto 0;
  border: 1px solid #C5C5C5;
  background: #fff;
}
.accordion-area2 .section-title {
  padding: 2.2% 2%;
  color: #fff;
  text-align: center;
  font-weight: bold;
  background: #FF7824;
  border-bottom: 1px solid #C5C5C5;
}
.accordion-area2 .section-body {
  padding: 3% 2.6% 3.2%;
  border-bottom: 1px solid #ccc;
}
.accordion-area2 .section-body:last-child {
  border-bottom: none;
}
.accordion-area2 table {
  width: 100%;
  border: 1px solid #C5C5C5;
  border-top: none;
}
.accordion-area2 table.first-table {
  margin-top: 0.6%;
  border-top: 1px solid #C5C5C5;
}
.accordion-area2 table .label {
  background: #FFF8E5;
  color: #D94700;
  font-weight: 700;
  text-align: center;
  padding: 2%;
  border-bottom: 1px solid #C5C5C5;
}
.accordion-area2 table .text {
  padding: 2%;
}
.accordion-area2 .number1 {
  padding-left: 1.25em;
  text-indent: -1.25em;
}
.accordion-area2 .number2 {
  margin-top: 2%;
  padding-left: 1.5em;
  text-indent: -1.5em;
}
.accordion-area2 .caption {
  font-size: 1.4rem;
  margin-top: 2%;
  padding-left: 1.25em;
  text-indent: -1.25em;
}
.accordion-area2 .marker li {
  position: relative;
  padding-left: 1em;
}
.accordion-area2 .marker li::before {
  content: '';
  position: absolute;
  top: 10px;
  left: 1%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #56635F;
}
/*********************************************
accordion
*********************************************/
.accordion-area {
  margin-top: 6%;
  padding: 0 4%;
}
.accordion-area .acc-body {
  display: none;
}
.accordion-area .acc-trigger {
  position: relative;
  padding: 2.8% 0;
  font-size: 2rem;
  text-align: center;
  color: #4E2714;
  font-weight: bold;
  cursor: pointer;
  border-top: 3px solid #DEDEDE;
  border-bottom: 3px solid #DEDEDE;
}
.accordion-area .acc-icon {
  position: absolute;
  top: 50%;
  right: 5%;
  transform: translateY(-50%);
  display: block;
  width: 20px;
  height: 12.5px;
  flex-shrink: 0;
}
.accordion-area .acc-content {
  position: relative;
  margin-top: 8%;
  border-radius: 8px;
}
.accordion-area .acc-content::after {
  content: '';
  display: block;
  position: absolute;
  bottom: -5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 13.5px solid transparent;
  border-right: 13.5px solid transparent;
  border-top: 12px solid #FF9553;
}
@media screen and (min-width: 500px) {
  .accordion-area .acc-content::after {
    bottom: -23px;
  }
}
.accordion-area .acc-content:last-child::after {
  display: none;
}
.accordion-area .acc-content > h3 {
  background-color: #004831;
  border-top-left-radius: 8px;
  border-top-right-radius: 8px;
}
.accordion-area .acc-content > h3 img {
  width: 21%;
  padding: 1.8% 0 2%;
}
.accordion-area .acc-content > div {
  padding: 3.6% 3% 4%;
  background-color: #fff;
  border: 2px solid #004831;
  border-top: none;
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
}
.accordion-area .acc-content > div h4 {
  margin-bottom: 2%;
  font-size: 1.8rem;
  text-align: center;
  font-weight: bold;
  color: #004831;
}
.accordion-area .acc-content > div ul li {
  padding-left: 1.3em;
  text-indent: -1.3em;
  font-size: 1.2rem;
  text-align: left;
}
.accordion-area .acc-content > div img {
  margin: 2% 0 1%;
}

.icon-blank01:not(.cpEndBtn) > .inner > .item {
  margin-bottom: 6px;
  margin-left: 6px;
  width: 14px;
  height: 10.5px;
}
.blank-my {
  display: inline-block;
  margin: 1% 0;
}

.before-btn {
  position: relative;
}
.before-btn .before {
  position: absolute;
  top: -7.2vw;
  left: 50%;
  transform: translateX(-50%);
  width: 27.2vw;
  z-index: 1;
}
#footer-fixed .panel .before {
  top: -3.8vw;
}
@media screen and (min-width: 500px) {
  .before-btn .before {
    width: 136px;
    top: -36px;
  }
  #footer-fixed .panel .before {
    top: -22px;
  }
}

/* ----------------------------------
fn-pram
---------------------------------- */
.fn-pram:not(.-show){
  display: none;
}

/* ----------------------------------
custom
---------------------------------- */
.img-frame01 {
  margin: 0 4% 7.2%;
}

.step-box01 {
  margin-top: 20px;
  padding: 0 4.8%;
}
.step-box01 > .item {
  padding: 24px 8px 20px;
  background: #FFEFC8;
  border-radius: 5px;
  position: relative;
}
.step-box01 > .item:not(:first-child) {
  margin-top: 30px;
}
.step-box01 > .item:not(:first-child)::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-right: 13px solid transparent;
  border-left: 13px solid transparent;
  border-top: 12px solid #ff9553;
  border-bottom: 0;
  position: absolute;
  top: -20px;
  left: calc(50% - (26px / 2));
}
.step-box01 > .item .caption {
  margin: 20px 9% 0;
  padding-left: 1.3em;
  font-size: 1.4rem;
  text-align: left;
  text-indent: -1.3em;
  color: #4E2714;
}
.step-box01 > .item .ico {
  width: 16.33%;
  position: absolute;
  left: -8px;
  top: -8px;
}
.step-box01 > .item .step-txt01 {
  color: #4E2714;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  padding: 0 24px;
}
.step-box01 > .item .step-sub01 {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4E2714;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.step-box01 > .item .step-sub01::before,
.step-box01 > .item .step-sub01::after {
  content: "";
  display: block;
  width: 1px;
  height: 16px;
  background: #4E2714;
  position: relative;
  top: -.2em;
}
.step-box01 > .item .step-sub01::before {
  margin-right: 8px;
  transform: rotate(324deg);
}
.step-box01 > .item .step-sub01::after {
  margin-left: 6px;
  transform: rotate(36deg);
}
.step-box01 > .item .step-sub01 + .step-txt01 {
  margin-top: 6px;
}
.step-box01 > .item .step-sub02 {
  padding: 0 32px;
  color: #4E2714;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.step-box01 > .item .txt-mark01 {
  background: linear-gradient(transparent 60%, #FFF 60%);
}
.step-box01 > .item .step-btn01 {
  margin-top: 16px;
  padding: 0 3.2%;
}
.frame01.-vpoint {
  margin-top: 30% !important;
}
.frame01 .title04 {
  margin-top: -25.5%;
}

.sec-wrap06 .fn-pram > .box {
  margin-top: 5.2%;
  border-radius: 12px;
}
.frame01.p-v2 .ttl-box01 {
  width: 100%;
  transform: translateY(-50%);
  position: absolute;
  left: 0;
  text-align: center;
}
.frame01.p-v2 .ttl-box01 > .img {
  width: 45%;
  height: auto;
}