@charset "shift_jis";
/* Updated 2025/12/08.T */
/*-------------------------------
general
-------------------------------*/
@media screen and (max-width: 499px) {
  ::-webkit-scrollbar {
    display: none;
  }
}
/*-------------------------------
layout
-------------------------------*/
body {
  overflow: hidden;
  min-width: auto;
  background-color: #fffcdd;
}
#header-wrap {
  z-index: 4;
}
#containment-area {
  margin-bottom: 0;
}
#footer-area {
  position: relative;
  z-index: 2;
}
#footer-content {
  margin-top: 0;
}
.layout-bg01 {
  position: fixed;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: -5;
  display: flex;
  height: 100vh;
  background: url("/kojin/campaign/app/syoukai/imgs/index_bg_01.png") center top repeat-x;
  background-size: cover;
}
@media screen and (max-width: 499px) {
  .layout-bg01 {
    display: none;
  }
}
.layout-bg01:before {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 200px;
  background-color: #00563a;
  content: "";
}
.layout-container01 {
  position: relative;
  z-index: 2;
  overflow: visible;
  margin: 0 auto;
  padding: 0 0 30px 0;
  max-width: 500px;
  background-color: #f5f9e6;
  box-shadow: 0 0 16px rgba(0, 0, 0, 0.08);
}
.layout-container02 {
  border-radius: 40px 40px 0 0;
  background-color: #ffffff;
}
.layout-container03 {
  margin: 30px 0 0 0;
  padding: 36px 18px 52px 18px;
  border-radius: 40px 40px 0 0;
  background-color: #f5f9e6;
}
/*-------------------------------
common
-------------------------------*/
.cmn-frame01 {
  border-radius: 25px 25px 24px 24px;
  background-color: #ffffff;
  box-shadow: 0 12px 0 #d4e9c0;
}
.cmn-frame01:before {
  display: block;
  width: 100%;
  height: 16px;
  border-radius: 24px 24px 0 0;
  background-color: #a0c81e;
  content: "";
}
.cmn-frame01Body01 {
  padding: 21px 30px 30px 30px;
}
.cmn-frame01 + .cmn-frame01 {
  margin-top: 44px;
}
.cmn-ttl01 {
  color: #e95501;
  text-align: center;
  font-weight: bold;
  font-size: 2.8rem;
  line-height: 1.5;
}
/* SMALL STYLES */
@media screen and (max-width: 374px) {
  .cmn-ttl01 {
    font-size: 7.46667vw;
  }
}
.cmn-ttl01:before {
  display: block;
  width: 100%;
  height: 75px;
  background-repeat: no-repeat;
  content: "";
}
.cmn-ttl01.-icon01::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_08.png");
  background-position: calc(50% + 1px) 20px;
  background-size: 47px auto;
}
.cmn-ttl01.-icon02::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_09.png");
  background-position: calc(50% + 0px) 20px;
  background-size: 60px auto;
}
.cmn-ttl01.-icon03::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_10.png");
  background-position: calc(50% + 0px) 20px;
  background-size: 35px auto;
}
.cmn-ttl01.-icon04::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_11.png");
  background-position: calc(50% + 0px) 20px;
  background-size: 37px auto;
}
.cmn-ttl01.-icon05::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_12.png");
  background-position: calc(50% + 0px) 27px;
  background-size: 33px auto;
}
.cmn-ttl01.-icon06::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_13.png");
  background-position: calc(50% + 0px) 24px;
  background-size: 41px auto;
}
@media screen and (min-width: 500px) {
  .cmn-ttl01 .br01 {
    display: none;
  }
}
/*-------------------------------
nav-area01
-------------------------------*/
.nav-area01 {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 32px 0;
  padding: 0 18px;
  text-align: center;
  gap: 6px 0;
}
.nav-area01 .item01 {
  position: relative;
  width: calc((100% - 12px) / 3);
  background-color: #ffffff;
  text-decoration: none;
}
.nav-area01 .item01:before {
  display: block;
  width: 100%;
  height: 54px;
  background-repeat: no-repeat;
  content: "";
}
.nav-area01 .item01:after {
  position: absolute;
  bottom: 8px;
  left: 0;
  display: block;
  width: 100%;
  height: 8px;
  background: url("/kojin/campaign/app/syoukai/imgs/index_ico_01.svg") center 0 no-repeat;
  background-size: 14px auto;
  content: "";
}
.nav-area01 .item01.-icon01::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_02.png");
  background-position: calc(50% + 1px) 4px;
  background-size: 35px auto;
}
.nav-area01 .item01.-icon02::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_03.png");
  background-position: calc(50% + 0px) 12px;
  background-size: 48px auto;
}
.nav-area01 .item01.-icon03::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_04.png");
  background-position: calc(50% + 0px) 12px;
  background-size: 29px auto;
}
.nav-area01 .item01.-icon04::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_05.png");
  background-position: calc(50% + 0px) 10px;
  background-size: 37px auto;
}
.nav-area01 .item01.-icon05::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_06.png");
  background-position: calc(50% + 0px) 12px;
  background-size: 36px auto;
}
.nav-area01 .item01.-icon06::before {
  background-image: url("/kojin/campaign/app/syoukai/imgs/index_img_07.png");
  background-position: calc(50% + 0px) 12px;
  background-size: 36px auto;
}
.nav-area01 .txt01 {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0 21px 0;
  height: 66px;
  font-weight: bold;
  font-size: 1.4rem;
  line-height: 1.5;
}
/* SMALL STYLES */
@media screen and (max-width: 374px) {
  .nav-area01 .txt01 {
    padding: 0 0 5.6vw 0;
    height: 17.6vw;
    font-size: 3.73333vw;
  }
}
/*-------------------------------
detail-area01
-------------------------------*/
.detail-area01 .ttl01 {
  padding: 35px 0 0 0;
}
.detail-area01 .ttl02 {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 12px 15px 12px;
  padding: 6px 0;
  background-color: #e9f7f6;
  color: #004831;
  letter-spacing: .05em;
  font-family: "roboto-bold";
  line-height: 1;
}
.detail-area01 .txt01 {
  font-size: 1.4rem;
}
.detail-area01 .txt02 {
  font-size: 1.4rem;
}
.detail-area01 .img01 {
  padding: 0 0 16px 8px;
  text-align: center;
}
.detail-area01 .img02 {
  padding: 0 0 16px 12px;
  text-align: center;
}
.detail-area01 .list01 {
  margin: 16px 0 0 0 !important;
  color: #56635f;
  font-size: 1.2rem;
}
.detail-area01 .list02 {
  margin: 40px 0 0 0 !important;
  color: #56635f;
  font-size: 1.2rem;
}
.detail-area01 .list03 {
  margin: 16px 0 0 0 !important;
  color: #56635f;
  font-size: 1.2rem;
}
.detail-area01 .tab-block01 > .list {
  border-bottom: 4px solid #004831;
}
.detail-area01 .tab-block01 > .list > .item {
  width: calc(50% - 2px);
}
.detail-area01 .tab-block01 > .list > .item > .switch {
  border: 1px solid #004831;
  border-radius: 8px 8px 0 0;
  background-color: #f3f8f6;
}
.detail-area01 .tab-block01 > .list > .item > .switch[aria-selected=true] {
  background-color: #004831;
}
.detail-area01 .tab-block01 > .list > .item > .switch > .inner {
  min-height: 50px;
  letter-spacing: 0;
  font-size: 2.0rem;
}
/*-------------------------------
slide
-------------------------------*/
.slick-wrap01 {
  margin: 0 auto;
  max-width: 420px;
}
.slick-wrap01 .slick-slide {
  margin: 0 0;
  padding: 21px 7px;
}
.slick-wrap01 .slick-slide img {
  display: inline-block;
}
.slick-wrap01 .slick-arrow {
  top: 14px;
  bottom: 0;
  z-index: 1;
  margin: auto 0;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #006444;
  box-shadow: 0 10px 12px rgba(196, 215, 0, 0.3);
}
.slick-wrap01 .slick-arrow:before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  display: block;
  margin: auto;
  width: 100%;
  height: 100%;
  background: url("/kojin/campaign/app/syoukai/imgs/index_ico_02.svg") center center no-repeat;
  content: "";
}
.slick-wrap01 .slick-arrow.slick-disabled {
  display: none !important;
}
.slick-wrap01 .slick-arrow.slick-disabled:before {
  content: none;
}
.slick-wrap01 .slick-prev {
  left: -21px;
}
.slick-wrap01 .slick-prev:before {
  transform: rotate(180deg);
}
.slick-wrap01 .slick-next {
  right: -21px;
}
.slick-wrap01 .slick-dots {
  bottom: 0;
  font-size: 0;
}
.slick-wrap01 .slick-dots li button {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #d5dedb;
  transition: background .2s ease-in-out;
}
.slick-wrap01 .slick-dots > .slick-active button {
  background: #004831;
}
.slick-wrap01 .slick-dots > :not(:first-child) {
  margin-left: 8px;
}
/*-------------------------------
faq-area01
-------------------------------*/
.faq-area01 {
  padding: 41px 18px;
  border-radius: 40px;
  background-color: #e2efbc;
}
.faq-area01 .ttl01 {
  color: #00563a;
  text-align: center;
  font-weight: bold;
  font-size: 2.8rem;
}
.faq-area01 .toggle-block01:not(:first-child) {
  margin-top: 24px;
}
.faq-area01 .card-normal03 {
  border: 1px solid #d5dedb;
  border-radius: 24px;
  box-shadow: none;
}
.faq-area01 .card-normal03 .text-mark02 {
  align-items: flex-start;
}
.faq-area01 .card-normal03 .text-mark02 > .mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border-radius: 100px;
  color: #ffffff;
  font-size: 2.0rem;
  font-family: "roboto-bold";
}
.faq-area01 .card-normal03 .header {
  padding: 21px 17px;
}
.faq-area01 .card-normal03 .header .text-mark02 > .mark {
  background-color: #017a4f;
  transform: translate(1px, 0px);
}
@media screen and (max-width: 499px) {
  .faq-area01 .card-normal03 .header .text-mark02 > .mark {
    transform: translate(1px, 4px);
  }
}
.faq-area01 .card-normal03 .body {
  padding: 17px 17px 21px 17px;
}
.faq-area01 .card-normal03 .body .text-mark02 > .mark {
  background-color: #c6de78;
  transform: translate(3px, 7px);
}
.faq-area01 .list-circle01 > .item {
  padding: 0 0 0 20px;
}
.faq-area01 .list-circle01 > .item:before {
  top: 6px;
  width: 14px;
  height: 14px;
  background-color: #c4d700;
}
/*-------------------------------
menu
-------------------------------*/
.menu-area01 {
  position: fixed;
  top: 50%;
  left: calc(50vw - 722px);
  z-index: 3;
  overflow: hidden;
  width: 278px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 5px 5px 1px 1px rgba(20, 29, 29, 0.2);
  transform: translate(0, -47%);
}
.menu-area01 .ttl01 {
  position: relative;
  padding: 14px 0;
  background-color: #004831;
  color: #ffffff;
  text-align: center;
  letter-spacing: .0em;
  font-weight: bold;
  font-size: 3.6rem;
  line-height: 1;
}
.menu-area01 .list01 {
  padding: 8px 0 33px 0;
  text-align: left;
}
.menu-area01 .item01 {
  margin: 24px 0 0;
  font-size: 1.8rem;
}
.menu-area01 .link01 {
  position: relative;
  display: block;
  padding: 0 0 0 33px;
  color: #56635f;
  text-decoration: none;
  letter-spacing: 0;
  font-weight: bold;
}
.menu-area01 .link01:before {
  position: absolute;
  top: calc(50% - 5px);
  left: 9px;
  display: block;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  content: "";
}
.menu-area01 .item01.-active .link01 {
  color: #004831;
}
.menu-area01 .item01.-active .link01:before {
  background: #c4d700;
}
@media screen and (max-width: 1480px) {
  .menu-area01 {
    left: 15px;
  }
}
@media screen and (max-width: 1130px) {
  .menu-area01 {
    display: none !important;
  }
}
@media screen and (max-height: 520px) {
  .menu-area01 {
    display: none !important;
  }
}
