@charset "utf-8";
/* ===========================================
 * ROOT
 * ======================================== */
:root {
  --font_fm_main: YakuHanJP, "M PLUS 1p", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font_fm_term: YakuHanJPs, "M PLUS 1p", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  --font_wg-exbold : 900;
  --font_wg-bold   : 700;
  --font_wg-medium : 500;
  --font_wg-regular: 400;
}

/* ===========================================
 * COMMON
 * ======================================== */
.container {
  position: relative;
  z-index: auto;
}

/* ===========================================
 * NAVI
 * ======================================== */
#cp .naviWrap {
  padding-block: 16px;
  border-top: 2px solid #e3e3e3;
  background-color: #ffffff;
  position: fixed;
  z-index: 999;
  right: 0;
  left: 0;
  bottom: 0;
}
#cp .naviWrap.is-stop {
  position: absolute;
  bottom: auto;
}
#cp .naviInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .naviBtnContainer {
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: auto;
  align-items: center;
  justify-content: center;
  gap: 40px;
}
#cp .naviBtn {
  width: 255px;
  height: 65px;
  text-align: center;
  font: 900 20px / 1.0 var(--font_fm_main);
  color: #ffffff;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: auto;
}
#cp .naviBtn > span {
  width: fit-content;
  margin-inline: auto;
  display: block;
}
#cp .naviBtn::before {
  display: none;
}
#cp .naviBtn.active::before {
  content: "";
  width: calc(100% - (5px  * 2));
  height: calc(100% - (5px  * 2));
  border: 1px solid #ffffff;
  border-radius: calc(10px - 5px);
  display: block;
  position: absolute;
  z-index: auto;
} 
@media screen and (max-width: 767px) {
  #cp .naviWrap {
    padding-block: 10px;
  }
  #cp .naviInner {
    width: 100%;
    padding-inline: 10px;
  }
  #cp .naviBtnContainer {
    width: 100%;
    gap: 10px;
  }
  #cp .naviBtn {
    width: 100%;
    height: 60px;
    font: 900 14px / 1.5 var(--font_fm_main);
    border-radius: 10px;
  }
  #cp .naviBtn::before {
    width: calc(100% - (4px  * 2));
    height: calc(100% - (4px  * 2));
    border: 1px solid #ffffff;
    border-radius: calc(10px - 4px);
  }
}
/* totop */
/* ======================================= */
#cp #totop {
  background: linear-gradient(90deg, #63c6f2, #009ce2);
}
/* toopen */
/* ======================================= */
#cp #toopen {
  background: linear-gradient(90deg, #f6b300, #f68500);
}
/* toclose */
/* ======================================= */
#cp #toclose {
  background: linear-gradient(90deg, #fa7730, #f03800);
}

/* ===========================================
 * TOP
 * ======================================== */
#cp .topWrap {
  background: top center / max(100%, 1440px) auto no-repeat url(/cp/sokkin2025/img/top_kv_bg.png);
}
#cp .topInner {
  width: 1024px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  #cp .topWrap {
    background: top center / 100% auto no-repeat url(/cp/sokkin2025/img/top_kv_bg_sp.png);
  }
  #cp .topInner {
    width: 100%;
  }
}
/* Kv */
/* ======================================= */
#cp .topKv {
  display: block;
}

/* ===========================================
 * LINK
 * ======================================== */
#cp .linkWrap {
  padding-block: 0 110px;
  background-color: #009ce2;
  position: relative;
  z-index: auto;
}
#cp .linkWrap::after {
  content: "";
  width: 100%;
  height: 100px;
  background: bottom center / max(1440px, 100%) 100px no-repeat url(/cp/sokkin2025/img/top_bg-deco.png);
  display: block;
  position: absolute;
  z-index: auto;
  top: -99px;
}
#cp .linkInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .linkBtnlContainer {
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto;
  justify-content: center;
  gap: 60px;
}
#cp .linkBtn {
  width: 400px;
  margin-top: -150px;
  display: block;
  cursor: pointer;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  #cp .linkWrap {
    padding-block: 0 55px;
  }
  #cp .linkWrap::after {
    height: 35px;
    background: bottom center / 100% 35px no-repeat url(/cp/sokkin2025/img/top_bg-deco_sp.png);
    top: -35px;
  }
  #cp .linkInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .linkBtnlContainer {
    width: fit-content;
    gap: 20px;
  }
  #cp .linkBtn {
    width: fit-content;
    margin-top: -60px;
  }
}

/* ===========================================
 * ABOUT
 * ======================================== */
#cp .aboutWrap {
  padding-block: 0 110px;
  background: bottom center / 1440px auto repeat-x url(/cp/sokkin2025/img/about_bg-deco.png);
  background-color: #009ce2;
}
#cp .aboutInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .aboutTitle {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 1em;
  text-align: center;
  font: 900 40px / 1.6 var(--font_fm_main);
  color: #ffffff;
  display: block;
}
#cp .aboutTitle::before {
  content: "";
  width: 100px;
  height: 35px;
  margin-inline: auto;
  background: center / 100px 35px no-repeat  url(/cp/sokkin2025/img/about_contents_tit_deco.png);
  display: block;
}
#cp .aboutTitleContainer {
  margin-bottom: 40px;
}
#cp .aboutTitleLead {
  text-align: center;
  font: 700 20px / 1.6 var(--font_fm_main);
  color: #ffffff;
  display: block;
}
#cp .aboutTitleLead > span {
  display: inline-block;
}
#cp .aboutBtn {
  width: fit-content;
  margin-inline: auto;
  margin-top: 80px;
  display: block;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #cp .aboutWrap {
    padding-block: 0 55px;
    background: bottom center / 100% auto repeat-x url(/cp/sokkin2025/img/about_bg-deco_sp.png);
    background-color: #009ce2;
  }
  #cp .aboutInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .aboutTitle {
    font: 900 30px / 1.6 var(--font_fm_main);
  }
  #cp .aboutTitle::before {
    width: 75px;
    height: 25px;
    background: center / 75px 25px no-repeat  url(/cp/sokkin2025/img/about_contents_tit_deco_sp.png);
  }
  #cp .aboutTitleContainer {
    margin-bottom: 38px;
  }
  #cp .aboutTitleLead {
    text-align: left;
    font: 700 16px / 1.6 var(--font_fm_main);
  }
  #cp .aboutTitleLead > span {
    display: inline;
  }
  #cp .aboutBtn {
    width: min(100%, 280px);
    margin-top: 40px;
  }
}
/* Contents */
/* ======================================= */
#cp .aboutContents {
  border-radius: 20px;
  background-color: #ffffff;
  overflow: hidden;
}
#cp .aboutContentsTitle {
  width: 100%;
  height: 100px;
  background: linear-gradient(90deg, #edd00e, #ed6d0e);
  display: flex;
  align-items: center;
  justify-content: center;
}
#cp .aboutContentsTitle > span {
  width: fit-content;
  margin-inline: auto;
  display: block;
}
#cp .aboutContentsInner {
  padding-block: 40px 0;
  padding-inline: 60px;
}
#cp .aboutContentsText {
  font: 500 20px / 1.6 var(--font_fm_main);
}
#cp .aboutContentsGraph {
  width: 534px;
  padding-block: 60px;
  margin-inline: auto;
}
#cp .aboutContentsCaution {
  width: fit-content;
  margin-inline: auto;
  margin-top: 40px;
  text-align: center;
  font: 500 14px / 1.6 var(--font_fm_main);
  display: block;
}
@media screen and (max-width: 767px) {
  #cp .aboutContents {
    border-radius: 10px;
  }
  #cp .aboutContentsTitle {
    height: 80px;
  }
  #cp .aboutContentsTitle > span {
    width: 270px;
  }
  #cp .aboutContentsInner {
    padding-block: 20px 0;
    padding-inline: 20px;
  }
  #cp .aboutContentsText {
    font: 500 16px / 1.6 var(--font_fm_main);
  }
  #cp .aboutContentsGraph {
    width: min(100%, 300px);
    padding-block: 40px;
  }
  #cp .aboutContentsCaution {
    margin-top: 20px;
    text-align: left;
    font: 500 12px / 1.6 var(--font_fm_main);
  }
}
/*Fukidashi*/
#cp .aboutContentsFukidashiContainer {
  width: min(100%, 800px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 560px auto;
  grid-template-rows: auto;
  align-items: end;
  justify-items: end;
}
#cp .aboutContentsFukidashi {
  grid-column: 1 / 2;
  grid-row: 1 / 2;
  margin-bottom: 100px;
}
#cp .aboutContentsPerson {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
}
#cp .aboutContentsName {
  grid-column: 2 / 3;
  grid-row: 1 / 2;
  width: fit-content;
  margin-bottom: 1em;
  font: 500 12px / 1.6 var(--font_fm_main);
  color: #ed6d0e;
  filter: drop-shadow(0 0 10px #ffffff);
}
@media screen and (max-width: 767px) {
  #cp .aboutContentsFukidashiContainer {
    width: min(100%, 300px);
    grid-template-columns: 180px auto;
  }
  #cp .aboutContentsFukidashi {
    margin-bottom: 40px;
  }
  #cp .aboutContentsPerson {

  }
  #cp .aboutContentsName {
    font: 500 10px / 1.6 var(--font_fm_main);
  }
}

/* ===========================================
 * CLOSE
 * ======================================== */
#cp .closeWrap {
  padding-block: 0 110px;
  background-color: #009ce2;
  position: relative;
  z-index: 1;
}
#cp .closeWrap::after {
  content: "";
  width: 100%;
  height: 100px;
  background: bottom center / max(1440px, 100%) 100px no-repeat url(/cp/sokkin2025/img/top_bg-deco.png);
  display: block;
  position: absolute;
  z-index: auto;
  top: -99px;
}
#cp .closeInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .closeTitle {
  width: 400px;
  margin-inline: auto;
  text-align: center;
  font: 900 40px / 1.6 var(--font_fm_main);
  color: #ffffff;
  display: block;
  position: absolute;
  z-index: 2;
  right: 0;
  left: 0;
  top: -170px;
}
#cp .closeText {
  margin-bottom: 50px;
  display: block;
  position: relative;
  z-index: auto;
}
#cp .closeText::after {
  content: "";
  width: 100%;
  height: 220px;
  margin-inline: auto;
  background: bottom center / 100% 220px no-repeat url(/cp/sokkin2025/img/close_text_ddco.png);
  display: block;
  position: absolute;
  z-index: auto;
  right: 0;
  left: 0;
  bottom: 0;
}
#cp .closeText > picture {
  width: 714px;
  margin-inline: auto;
  display: block;
}
@media screen and (max-width: 767px) {
  #cp .closeWrap {
    padding-block: 30px 55px;
  }
  #cp .closeWrap::after {
    height: 35px;
    background: bottom center / 100% 35px no-repeat url(/cp/sokkin2025/img/top_bg-deco_sp.png);
    top: -35px;
  }
  #cp .closeInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .closeTitle {
    width: min(100%, 250px);
    top: -70px;
  }
  #cp .closeText {
    width: min(100%, 305px);
    margin-inline: auto;
    margin-bottom: 50px;
  }
  #cp .closeText::after {
    width: 375px;
    height: calc(165px / 2);
    background: bottom center / 375px calc(165px / 2) no-repeat url(/cp/sokkin2025/img/close_text_ddco_sp.png);
    left: -35px;
  }
  #cp .closeText > picture {
    width: min(100%, 305px);
  }
}

/* ===========================================
 * OPEN
 * ======================================== */
#cp .openWrap {
  padding-block: 0 110px;
  background-color: #009ce2;
  position: relative;
  z-index: 1;
}
#cp .openWrap::after {
  content: "";
  width: 100%;
  height: 100px;
  background: bottom center / max(1440px, 100%) 100px no-repeat url(/cp/sokkin2025/img/top_bg-deco.png);
  display: block;
  position: absolute;
  z-index: auto;
  top: -99px;
}
#cp .openInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .openTitle {
  width: 400px;
  margin-inline: auto;
  text-align: center;
  font: 900 40px / 1.6 var(--font_fm_main);
  color: #ffffff;
  display: block;
  position: absolute;
  z-index: 2;
  right: 0;
  left: 0;
  top: -170px;
}
#cp .openText {
  margin-inline: auto;
  margin-bottom: 50px;
  display: block;
  position: relative;
  z-index: auto;
}
#cp .openText::after {
  content: "";
  width: 100%;
  height: 202px;
  background: bottom center / 100% 202px no-repeat url(/cp/sokkin2025/img/open_text_deco.png);
  display: block;
  position: absolute;
  z-index: auto;
  right: 0;
  left: 0;
  bottom: 0;
}
@media screen and (max-width: 767px) {
  #cp .openWrap {
    padding-block: 30px 55px;
  }
  #cp .openWrap::after {
    height: 35px;
    background: bottom center / 100% 35px no-repeat url(/cp/sokkin2025/img/top_bg-deco_sp.png);
    top: -35px;
  }
  #cp .openInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .openTitle {
    width: min(100%, 250px);
    top: -70px;
  }
  #cp .openText {
    width: min(100%, 295px);
    margin-bottom: 50px;
  }
  #cp .openText::after {
    width: 375px;
    height: calc(222px / 2);
    background: bottom center / 375px calc(222px / 2) no-repeat url(/cp/sokkin2025/img/open_text_deco_sp.png);
    left: -35px;
  }
}

/* ===========================================
 * PRODUCTS
 * ======================================== */
#cp .productsWrap {
  padding-block: 0 160px;
  background: bottom center / 1440px auto repeat-x url(/cp/sokkin2025/img/about_bg-deco.png);
  background-color: #009ce2;
}
#cp .productsInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .productsTitle {
  margin-inline: auto;
  margin-bottom: 40px;
  display: flex;
  align-items: center;
  gap: 20px;
}
#cp .productsTitle::before,
#cp .productsTitle::after {
  content: "";
  width: 100%;
  height: 25px;
  background: radial-gradient(circle farthest-side, #ffffff, #ffffff 35%, transparent 35%, transparent);
  background-size: 25px;
  display: inline-block;
  flex: 1;
}
#cp .productsLogo {
  width: 725px;
  margin-inline: auto;
  margin-bottom: 40px;
}
#cp .productsListContainer {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-template-rows: repeat(2, auto);
  align-items: center;
  justify-content: center;
  gap: 21px;
}
#cp .productsList {
  padding-bottom: 0.5em;
  border-radius: 10px;
  background-color: #ffffff;
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  align-items: center;
  gap: 0;
}
#cp .productsListText {
  text-align: center;
  font: 500 16px / 1.6 var(--font_fm_main);
  color: #222222;
}
#cp .productsCaution {
  text-indent: -1em;
  padding-left: 1em;
  margin-top: 1em;
  font: 500 16px / 1.6 var(--font_fm_main);
  color: #ffffff;
}
@media screen and (max-width: 767px) {
  #cp .productsWrap {
    padding-block: 0 80px;
    background: bottom center / 100% auto repeat-x url(/cp/sokkin2025/img/about_bg-deco_sp.png);
    background-color: #009ce2;
  }
  #cp .productsInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .productsTitle {
    margin-bottom: 20px;
    gap: 10px;
  }
  #cp .productsTitle::before,
  #cp .productsTitle::after {
    height: 15px;
    background: radial-gradient(circle farthest-side, #ffffff, #ffffff 35%, transparent 35%, transparent);
    background-size: 15px;
  }
  #cp .productsTitle > picture {
    width: 125px;
  }
  #cp .productsLogo {
    width: min(100%, 300px);
    margin-bottom: 40px;
  }
  #cp .productsListContainer {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    grid-template-rows: initial;
    gap: 20px;
  }
  #cp .productsList {
    border-radius: 5px;
  }
  #cp .productsListText {
    font: 500 12px / 1.6 var(--font_fm_main);
  }
  #cp .productsCaution {
    font: 500 12px / 1.6 var(--font_fm_main);
  }
}
/* Banner */
/* ======================================= */
#cp .productsBnner {
  margin-top: 150px;
}
#cp .productsBnnerText {
  width: 702px;
  margin-inline: auto;
  margin-bottom: 20px;
}
#cp .productsBnnerBtn {
  width: 620px;
  margin-inline: auto;
  display: block;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #cp .productsBnner {
    margin-top: 60px;
  }
  #cp .productsBnnerText {
    width: min(100%, 290px);
    margin-bottom: 20px;
  }
  #cp .productsBnnerBtn {
    width: min(100%, 335px);
  }
}

/* ===========================================
 * APPLY
 * ======================================== */
#cp .applyWrap {
  padding-block: 80px;
}
#cp .applyInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .applyBox {
  padding-block: 30px 60px;
  padding-inline: 60px;
  margin-bottom: 80px;
  border-radius: 20px;
  background-color: #ffffff;
}
#cp .applyBox:last-of-type {
  margin-bottom: 0;
}
#cp .applyTitle {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 1em;
  font: 900 32px / 1.6 var(--font_fm_term);
  letter-spacing: 0.1em;
  color: #f03800;
  display: block;
}
#cp .applyTitle::after {
  content: "";
  width: 74px;
  height: 6px;
  margin-inline: auto;
  margin-top: 0.1em;
  border-radius: 9999px;
  display: block;
}
@media screen and (max-width: 767px) {
  #cp .applyWrap {
    padding-block: 40px;
  }
  #cp .applyInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .applyBox {
    padding: 20px;
    margin-bottom: 40px;
    border-radius: 10px;
  }
  #cp .applyTitle {
    font: 900 24px / 1.6 var(--font_fm_term);
  }
  #cp .applyTitle::after {
    width: 50px;
    height: 4px;
  }
}
/* List */
/* ======================================= */
#cp .applyListContainer {
  display: grid;
  gap: 2em;
}
#cp .applyList {
  display: grid;
  grid-template-columns: 40px auto;
  grid-template-rows: auto auto;
  column-gap: 10px;
}
#cp .applyListNumber {
  width: 40px;
  aspect-ratio: 1 / 1;
  border-radius: 9999px;
  font: 900 20px / 2.0 var(--font_fm_main);
  color: #ffffff;
  display: flex;
  align-items: center;
  justify-content: center;
}
#cp .applyListText {
  margin-top: 0.2em;
  font: 500 20px / 1.6 var(--font_fm_main);
  color: #222222;
}
#cp .applyListCaution {
  text-indent: -1em;
  padding-left: 1em;
  font: 500 20px / 1.6 var(--font_fm_main);
  color: #222222;
}
#cp .applyListBtn {
  grid-column: 2 / 3;
  grid-row: 2 / 3;
  width: fit-content;
  height: 2.5em;
  padding-inline: 2em;
  margin-top: 0.5em;
  text-align: center;
  font: 700 20px / 1.6 var(--font_fm_main);
  border-radius: 9999px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}
#cp .applyListBtn > span {
  width: fit-content;
  margin-inline: auto;
  display: block;
}
/* LINE */
#cp .line {
  color: #ffffff;
  background-color: #06c755;
}
/* X */
#cp .x {
  color: #ffffff;
  background-color: #f68500;
}
@media screen and (max-width: 767px) {
  #cp .applyListContainer {
    gap: 1.5em;
  }
  #cp .applyList {
    display: grid;
    grid-template-columns: 25px auto;
    column-gap: 5px;
  }
  #cp .applyListNumber {
    width: 25px;
    font: 900 18px / 25px var(--font_fm_main);
  }
  #cp .applyListText {
    margin-top: 0;
    font: 500 16px / 1.6 var(--font_fm_main);
  }
  #cp .applyListCaution {
    font: 500 16px / 1.6 var(--font_fm_main);
  }
  #cp .applyListBtn {
    font: 700 16px / 1.6 var(--font_fm_main);
  }
}
/* Period */
/* ======================================= */
#cp .applyPeriod {
  width: fit-content;
  margin-inline: auto;
  display: block;
}
#cp .applyPeriodTextNomal {
  font: 700 28px / 1.6 var(--font_fm_main);
  color: #222222;
}
#cp .applyPeriodTextLarge {
  font: 700 40px / 1.0 var(--font_fm_main);
  color: #222222;
}
@media screen and (max-width: 767px) {
  #cp .applyPeriod {
    text-align: center;
  }
  #cp .applyPeriodTextNomal {
    font: 700 18px / 1.6 var(--font_fm_main);
  }
  #cp .applyPeriodTextLarge {
    font: 700 24px / 1.0 var(--font_fm_main);
  }
}
/* Receipt */
/* ======================================= */
#cp .applyReceiptGroup {
  margin-bottom: 15px;
}
#cp .applyReceiptSubtitle {
  margin-bottom: 0.5em;
  font: 700 24px / 1.6 var(--font_fm_term);
  color: #f03800;
  position: relative;
  z-index: 10;
}
#cp .applyReceiptSubtitle::after {
  content: "";
  width: 100%;
  height: 2px;
  margin: auto;
  background-color: #f03800;
  display: block;
  position: absolute;
  z-index: -1;
  inset: 0;
}
#cp .applyReceiptSubtitle > span {
  width: fit-content;
  padding-right: 0.5em;
  background-color: #ffffff;
  display: block;
}
#cp .applyReceiptListContainer {
}
#cp .applyReceiptList {
  text-indent: -1em;
  padding-left: 1em;
  font: 500 20px / 1.6 var(--font_fm_term);
  color: #222222;
}
#cp .applyReceiptImportant {
  font: 700 24px / 1.6 var(--font_fm_term);
  color: #222222;
}
#cp .applyReceiptItem {
  text-indent: -1em;
  padding-left: 1em;
  margin-bottom: 0.25em;
  font: 700 24px / 1.6 var(--font_fm_term);
  color: #222222;
  display: block;
}
#cp .applyReceiptEmphasis {
  margin-bottom: 1.5em;
  font: 500 20px / 1.6 var(--font_fm_term);
  color: #f03800;
  display: block;
}
#cp .applyReceiptText {
  font: 500 20px / 1.6 var(--font_fm_term);
  color: #222222;
}
#cp .applyReceiptImg {
  margin-inline: auto;
  margin-block: 40px;
}
#cp .applyReceiptExContainer {
  width: fit-content;
  margin-inline: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(2, auto);
  gap: 60px;
}
#cp .applyReceiptExImg {
  margin-bottom: 0.5em;
}
#cp .applyReceiptExtext {
  text-align: center;
  font: 500 20px / 1.6 var(--font_fm_term);
  color: #222222;
}
@media screen and (max-width: 767px) {
  #cp .applyReceiptSubtitle {
    font: 700 18px / 1.6 var(--font_fm_term);
  }
  #cp .applyReceiptList {
    font: 500 16px / 1.6 var(--font_fm_term);
  }
  #cp .applyReceiptImportant {
    font: 700 18px / 1.6 var(--font_fm_term);
  }
  #cp  .applyReceiptItem {
    font: 700 18px / 1.6 var(--font_fm_term);
  }
  #cp .applyReceiptEmphasis {
    margin-bottom: 1.5em;
    font: 500 16px / 1.6 var(--font_fm_term);
  }
  #cp .applyReceiptText {
    font: 500 16px / 1.6 var(--font_fm_term);
  }
  #cp .applyReceiptImg {
    width: min(100%, 195px);
  }
  #cp .applyReceiptExContainer {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
    gap: 12px;
  }
  #cp .applyReceiptExtext {
    font: 500 14px / 1.6 var(--font_fm_term);
  }
}
/* Close */
/* ======================================= */
#applyClose {
  background-color: #ffb8a3;
}
#applyClose .applyTitle {
  color: #f03800;
}
#applyClose .applyTitle::after {
  background-color: #f03800;
}
#applyClose .applyListNumber {
  background-color: #f03800;
}
/* Open */
/* ======================================= */
#applyOpen {
  background-color: #fed17b;
}
#applyOpen .applyTitle {
  color: #f68500;
}
#applyOpen .applyTitle::after {
  background-color: #f68500;
}
#applyOpen .applyListNumber {
  background-color: #f68500;
}

/* ===========================================
 * TERMS
 * ======================================== */
#cp .termsWrap {
  padding-block: 80px;
  background-color: #ffffff;
}
#cp .termsInner {
  width: 1024px;
  margin-inline: auto;
}
#cp .termBox {
  margin-bottom: 2em;
}
#cp .termBox:first-of-type {
  margin-top: 4em;
}
#cp .termBox:last-of-type {
  margin-bottom: 0;
}
#cp .termsTitle {
  width: fit-content;
  margin-inline: auto;
  margin-bottom: 1em;
  font: 700 28px / 1.6 var(--font_fm_term);
  color: #222222;
  display: block;
}
#cp .termsSubtitle {
  width: 100%;
  height: 2em;
  margin-bottom: 1em;
  font: 700 20px / 1.6 var(--font_fm_term);
  letter-spacing: 0.1em;
  color: #ffffff;
  border-radius: 6px;
  background-color: #70757a;
  display: flex;
  align-items: center;
  justify-content: center;
}
#cp .termsSubtitle > span {
  width: fit-content;
  margin-inline: auto;
  display: block;
}
#cp .termsText {
  margin-bottom: 1em;
  font: 500 16px / 1.6 var(--font_fm_term);
  color: #222222;
}
#cp .termsText:last-child {
  margin-bottom: 0;
}
#cp .termsListContainer {
  text-indent: -1em;
  padding-left: 1em;
}
#cp .termsList {
  font: 500 16px / 1.6 var(--font_fm_term);
  color: #222222;
}
#cp .termsInfo {
  font: 500 16px / 1.6 var(--font_fm_term);
  color: #222222;
}
#cp .termsCautionContaine {
  margin-top: 1em;
}
#cp .termsCaution {
  text-indent: -1em;
  padding-left: 1em;
  font: 500 16px / 1.6 var(--font_fm_term);
}
@media screen and (max-width: 767px) {
  #cp .termsWrap {
    padding-block: 80px;
  }
  #cp .termsInner {
    width: 100%;
    padding-inline: 20px;
  }
  #cp .termBox {
    margin-bottom: 2em;
  }
  #cp .termBox:first-of-type {
    margin-top: 3em;
  }
  #cp .termsTitle {
    font: 700 20px / 1.6 var(--font_fm_term);
  }
  #cp .termsSubtitle {
    font: 700 16px / 1.6 var(--font_fm_term);
    border-radius: 3px;
  }
  #cp .termsText {
    font: 500 14px / 1.6 var(--font_fm_term);
  }
  #cp .termsList {
    font: 500 14px / 1.6 var(--font_fm_term);
  }
  #cp .termsInfo {
    font: 500 14px / 1.6 var(--font_fm_term);
    margin-bottom: 0.25em;
  }
  #cp .termsCaution {
    font: 500 14px / 1.6 var(--font_fm_term);
  }
}
/* Item */
/* ======================================= */
#cp .tremsItem {
  margin-bottom: 1em;
}
#cp .tremsItem:last-of-type {
  margin-bottom: 0;
}
#cp .tremsItemTitle {
  font: 700 16px / 1.6 var(--font_fm_term);
}
#cp .tremsItemSubtitle {
  font: 700 16px / 1.6 var(--font_fm_term);
}
@media screen and (max-width: 767px) {
  #cp .tremsItemTitle {
    font: 700 14px / 1.6 var(--font_fm_term);
  }
  #cp .tremsItemSubtitle {
    font: 700 14px / 1.6 var(--font_fm_term);
  }
}

/* ===========================================
 * Other
 * ======================================== */
#cp .stop {
  opacity: 0;
}
.g-siteFooter_pagetop {
  z-index: 1000;
}
.g-siteFooter_pagetop.is-scroll {
  bottom: 99px;
}
.g-siteFooter_pagetop.is-stop {
  bottom: 0;
}
@media screen and (max-width: 767px) {
  .g-siteFooter_pagetop.is-scroll {
    bottom: 82px;
  }
}