@charset "UTF-8";

/* ========== BASE ========== */

p {
  margin: 0;
}

button {
  border: none;
}

img {
  height: auto;
}

/* ========== /BASE ========== */

.c-notice-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.4rem 1.2rem;
  margin: 0 1.6rem 1.2rem;
  background: var(--puchi_light, #FCE9EE);
  border-radius: 0.8rem;
  position: relative;
}

.c-notice-banner__link {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  flex: 1;
  min-width: 0;
  text-decoration: none;
  color: var(--cocha_primary, #E81829);
  font-size: 1.4rem;
}

.c-notice-banner__text {
  flex: 1;
  font-size: 1.2rem;
}

.c-notice-banner__chevron {
  width: 1.2rem;
}

.c-notice-banner__chevron img {
  display: flex;
}

.c-notice-banner__pin {
  flex-shrink: 0;
  width: 2.4rem;
  height: 2rem;
  margin-left: 1.2rem;
  margin-right: -0.8rem;
  padding: 0;
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
}

.c-notice-banner__pin::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 1rem;
  height: 1rem;
  background: var(--black, #000);
  border-radius: 50%;
}

.c-notice-banner__pin::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
  width: 0.8rem;
  height: 0.2rem;
  background: var(--black, #000);
}

.c-innerPcScroll--parent .c-innerPcScroll--child {
  margin-top: 0;
}

.c-hero__GradeCharacteristics--1 {
  margin-top: 0;
}

.c-hero__GradeCharacteristics--1 .c-requestButton {
  margin-top: 1.8rem;
}

/* ========== secHero ========== */

.c-hero__bg {
  z-index: inherit;
  height: 64rem;
}

/* ========== secHero ========== */

.secHero {
  background: var(--0-guide, #008ED8);
  color: var(--white, #FFFFFF);
  border-radius: 0 0 4rem 4rem;
  padding-bottom: 4.8rem;
}

.secHero__p1 {
  font-size: 0.75rem;
  margin: 0;
  line-height: 130%;
}

.secHero__a1 {
  padding: 1.9rem 4.7rem;
}

.secHero__kv {
  position: relative;
  background: var(--0-guide, #008ED8);
  padding-top: 1.3rem;
}

.secHero__no1 {
  position: absolute;
  bottom: 2rem;
  left: 1.7rem;
}

.secHero__no1 img {
  width: 10.4rem;
  height: 10.4rem;
}

.secHero__no1 p {
  margin-top: 2rem;
  font-size: 0.8rem;
  text-decoration: underline;
  font-feature-settings: "palt" on;
}

.c-secCampaign__textBox--HeroNo1 {
  height: 21rem;
  padding: 3.2rem 5.2rem 3.2rem 4rem;
}

/* ========== /secHero ========== */

/* ========== secCampaign ========== */

.secCampaign {
  padding: 3.2rem 1.6rem 4rem;
  text-align: center;
  background: var(--BG_blue, #E7F2FE);
}

.secCampaign__h2 {
  margin-bottom: 1.6rem;
  font-size: 2.8rem;
  font-weight: 900;
  color: var(--0-guide, #008ED8);
}

.secCampaign__p1 {
  font-size: 2rem;
  font-weight: 700;
  margin: 1.2rem 0 1.6rem;
  color: var(--sub2, #676979);
}

.secCampaign__scrollBox {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  gap: 1.6rem;
  margin-right: -1.6rem;
  padding: 1.2rem 0;
}

.secCampaign__scrollBox a {
  flex-shrink: 0;
}

.secCampaign__campaignImg {
  width: 32.4rem;
  border-radius: 1.6rem;
}

/* ========== /secCampaign ========== */

/* ========== secReason ========== */

.secReason {
  font-feature-settings: "palt" on;
}

.secReason .secReason__fvArea {
  position: relative;
  padding: 3.2rem 2.4rem 0;
}

.secReason .secReason__h2 {
  text-align: center;
  color: var(--0-guide, #008ED8);
  margin-bottom: 2.9rem;
}

.secReason .secReason__span1 {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 130%;
}

.secReason .secReason__span2 {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 130%;
}

.secReason .secReason__span3 {
  font-size: 5.7rem;
  color: var(--accent_pink, #F62A7E);
  font-family: Inter;
  font-weight: 700;
  line-height: 80%;
  vertical-align: bottom;
}

.secReason .secReason__span4 {
  color: var(--accent_pink, #F62A7E);
  font-size: 2.5rem;
  font-weight: 900;
  line-height: 130%;
  vertical-align: bottom;
}

.secReason .secReason__span5 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 140%;
}

.secReason .secReason__sansyutsu {
  position: absolute;
  top: 40rem;
  right: 2rem;
  padding: 0;
  font-size: 1rem;
  text-decoration: underline;
}

.secReason .secReason__underArrow {
  display: block;
  margin: 2.2rem auto;
}

.secReason .secReason__pBox {
  text-align: center;
  padding-bottom: 2.7rem;
}

.secReason .secReason__p1 {
  color: var(--0-guide, #008ED8);
  font-size: 2.25rem;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 0.8rem;
}

.secReason .secReason__p2 {
  font-size: 2rem;
  color: var(--text, #414358);
  font-weight: 700;
  line-height: 140%;
}

.secReason .secReason__3choice {
  position: relative;
}

.secReason .secReason__3choiceABox {
  background: url("/img_2025/svg/secReason__circle.svg") no-repeat center;
}

.secReason .secReason__korashoPosition {
  position: relative;
  padding: 0 2.4rem 4rem;
}

.secReason .secReason__a1 {
  width: 16.8rem;
  margin: 0 auto;
}

.secReason .secReason__3choiceUnderBox {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.secReason .secReason__a2 {
  width: 16.8rem;
}

.secReason .secReason__a3 {
  width: 16.8rem;
}

.secReason .secReason__korasho {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -25%);
  width: 9.7rem;
}

.secReason .secReason__pattern {
  background: var(--white, #FFFFFF);
}

.secReason .secReason__mainArea {
  color: var(--white, #FFFFFF);
  border-radius: 7.2rem;
  padding: 7.5rem 2.4rem 5.6rem;
}

.secReason .secReason__patternPLead {
  display: inline-block;
  margin-top: -2.1rem;
  margin-bottom: 0.8rem;
  color: var(--white, #FFFFFF);
  font-feature-settings: "palt" on;
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 900;
  line-height: 130%;
  /* 2.08rem */
  padding: 0.7rem 1.2rem;
  border-radius: 4rem;
  background: var(--accent_pink, #F62A7E);
}

.secReason .secReason__patternP {
  display: flex;
  flex-direction: column;
  font-size: 2.7rem;
  font-weight: 900;
  line-height: 130%;
}

.secReason .secReason__patternPSpan1 {
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 130%;
}

.secReason .secReason__patternPSpan2 {
  display: block;
  margin-top: 0.8rem;
  font-size: 3.8rem;
  font-weight: 900;
  line-height: 130%;
}

.secReason .secReason__patternBodyImg {
  display: block;
  width: 38.8rem;
  max-width: none;
  margin: 0 -2.3rem;
}

.secReason .secReason__featureArea {
  position: relative;
  background: var(--BG_blue, #E7F2FE);
  padding: 0 1.6rem;
}

.secReason .secReason__c-featureBox {
  background: var(--white, #FFFFFF);
  margin: 0 auto 2.4rem;
  padding: 4.8rem 2.4rem 3.2rem;
  border-radius: 4rem;
}

.secReason .secReason__featureImg--1 {
  width: 17.1rem;
}

.secReason .secReason__feature1--1 {
  display: block;
  max-width: 36rem;
  margin-left: -2.4rem;
}

.secReason .secReason__feature2--1 {
  display: block;
  max-width: 35.8rem;
  margin-left: -2.4rem;
}

.secReason .secReason__featureH4 {
  font-size: 5.8rem;
  font-weight: 900;
  line-height: 115%;
  color: var(--0-guide, #008ED8);
  margin: 1.6rem 0;
}

.secReason .secReason__featureP {
  font-size: 2.2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  margin-bottom: 3.2rem;
}

.secReason .secReason__featureSpan {
  font-size: 3.4rem;
  font-style: normal;
  font-weight: 900;
  line-height: 130%;
  color: var(--text, #414358);
  white-space: nowrap;
  margin-left: -1.5rem;
}

.secReason .secReason__feature3--1Picture {
  display: block;
  margin-left: -2rem;
  margin-right: -4rem;
  margin-bottom: -5.5rem;
}

.secReason .c-featureScrollBox--2 {
  margin-left: 0;
}

.secReason .secReason__featureScrollBox {
  display: flex;
  gap: 0.8rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 12px 0;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  margin-left: -1.2rem;
  margin-right: -4rem;
}

.secReason .secReason__featureScrollBoxChild {
  flex-shrink: 0;
  border-radius: 2.4rem;
  width: 30rem;
}

.secReason .secReason__feature1 {
  width: 25.1rem;
}

.secReason .secReason__contentNav {
  background: var(--BG_blue, #E7F2FE);
}

/* ========== /secReason ========== */

/* ========== secSolution ========== */

.secSolution {
  position: relative;
}

.secSolution .secSolution__h2 {
  font-size: 5rem;
  font-weight: 900;
  line-height: 125%;
}

.secSolution .secSolution__h3 {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 130%;
  margin-top: 4.8rem;
  margin-bottom: 1.6rem;
}

.secSolution .secSolution__ScrollBox {
  display: flex;
  gap: 1.6rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: 12px 0;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  margin-right: -2.4rem;
}

.secSolution .secReason__figure {
  display: flex;
  padding: 1.6rem 0.8rem;
  flex-direction: column;
  gap: 0.9rem;
  flex-shrink: 0;
  background: var(--white, #FFFFFF);
  margin: 0;
  border-radius: 2.4rem;
}

.secSolution .secReason__cardBox {
  display: flex;
  padding: 2rem;
  flex-direction: column;
  align-items: center;
  gap: 1.6rem;
  flex-shrink: 0;
  background: var(--white, #FFFFFF);
  margin: 0;
  border-radius: 2.4rem;
}

.secSolution .secReason__featureImg--1 {
  width: 25rem;
}

.secSolution .secReason__figcaption {
  color: var(--main, #181B35);
  font-feature-settings: "palt" on;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 150%;
}

.secSolution .secReason__cardBoxChild {
  color: var(--main, #181B35);
  font-feature-settings: "palt" on;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 150%;
}

/* ========== /secSolution ========== */

/* ========== secLineupAndFee ========== */

.secLineupAndFee__bg_fronttext {
  text-align: center;
  font-size: 1.2rem;
  line-height: 150%;
  color: var(--white, #FFF);
  font-weight: 700;
  margin: 1.6rem 0 2.4rem;
}

.secLineupAndFee__bg_fronttext span {
  text-decoration: underline;
}

.secLineupAndFee .secLineupAndFee__h2 {
  color: var(--0-guide, #008ED8);
}

.secLineupAndFee .secLineupAndFee__span--1 {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 130%;
}

.secLineupAndFee .secLineupAndFee__span--2 {
  font-size: 4.4rem;
  font-weight: 900;
  line-height: 125%;
}

.secLineupAndFee .secLineupAndFee__ul {
  display: flex;
  gap: 0.8rem;
  margin: 2.8rem auto;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  margin-right: -1.75rem;
}

.secLineupAndFee .secLineupAndFee__li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 1.2rem;
  border-radius: 5rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.1;
  color: #000;
  background: var(--white, #FFFFFF);
}

.secLineupAndFee .is-tab__target--1,
.secLineupAndFee .is-tab__target--2,
.secLineupAndFee .is-tab__target--3,
.secLineupAndFee .is-tab__target--4,
.secLineupAndFee .is-tab__target--5,
.secLineupAndFee .is-tab__target--6 {
  display: none;
}

.secLineupAndFee .is-tab__target--1.is-active,
.secLineupAndFee .is-tab__target--2.is-active,
.secLineupAndFee .is-tab__target--3.is-active,
.secLineupAndFee .is-tab__target--4.is-active,
.secLineupAndFee .is-tab__target--5.is-active,
.secLineupAndFee .is-tab__target--6.is-active {
  display: block;
}

.secLineupAndFee .secLineupAndFee__li.is-active {
  color: var(--white, #FFFFFF);
  background: var(--1, #3399FF);
}

.secLineupAndFee .secLineupAndFee__h3--1 {
  color: var(--text, #414358);
  font-size: 3.4rem;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 0.8rem;
}

.secLineupAndFee .secLineupAndFee__p1 {
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 140%;
  margin-bottom: 2.8rem;
}

.secLineupAndFee .secLineupAndFee__feeContent {
  margin-top: 4rem;
}

.secLineupAndFee .secLineupAndFee__h3--2 {
  font-size: 4rem;
  font-weight: 900;
  line-height: 130%;
}

.secLineupAndFee .secLineupAndFee__c-p1 {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 140%;
}

.secLineupAndFee .secLineupAndFee__fee--1 {
  margin: 2.8rem auto;
}

.secLineupAndFee .secLineupAndFee__feeContentP--1 {
  text-align: center;
  color: var(--0-guide, #008ED8);
  font-size: 2rem;
  font-weight: 700;
  line-height: 130%;
  margin-bottom: 1.2rem;
}

.secLineupAndFee .secLineupAndFee__bg {
  border-radius: 3.2rem;
  padding: 2.4rem 1.5rem 3.2rem 1.5rem;
  margin-bottom: 1.2rem;
  position: relative;
}

.secLineupAndFee .secLineupAndFee__notes {
  color: var(--white, #FFFFFF);
  margin-top: 1.1rem;
  text-decoration: underline;
  cursor: pointer;
  margin-bottom: 1rem;
}

.secLineupAndFee .secLineupAndFee__scrollParent {
  overflow-x: auto;
  overflow-y: hidden;
  margin-right: -1.75rem;
  padding: 1.2rem 0 1.2rem 0.8rem;
  background-color: var(--white, #FFFFFF);
  border-radius: 2.4rem;
}

.secLineupAndFee .secLineupAndFee__scrollChild--img {
  display: block;
  max-width: none;
  width: 53rem;
}

.secLineupAndFee .is-tab__target--1 .secLineupAndFee__scrollChild--img {
  width: 59.4rem;
}

.secLineupAndFee .is-tab__target--2 .secLineupAndFee__scrollChild--img {
  width: 50.8rem;
}

.secLineupAndFee .c-requestButton {
  margin-top: 0.8rem;
}

/* ========== /secLineupAndFee ========== */

/* ========== secFaq ========== */

.secFaq {
  background: var(--white, #FFFFFF);
}

.secFaq .secFaq__h2 {
  color: var(--text, #414358);
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 2.4rem;
}

.secFaq .c-h2--1:not(:first-child) {
  margin-top: 5.6rem;
}

.secFaq .c-h3 {
  color: var(--text, #414358);
  font-feature-settings: "palt" on;
  /* title_S */
  font-family: "Noto Sans JP";
  font-size: 2.4rem;
  font-style: normal;
  font-weight: 900;
  line-height: 130%;
  /* 31.2px */
  margin-top: 3.6rem;
}

.secFaq .footer__list p {
  color: var(--text, #414358);
  font-feature-settings: "palt" on;
  font-size: 1.4rem;
}

.secFaq .footer__list p a {
  display: inline;
  color: var(--0-guide, #008ED8);
  text-decoration: underline;
  font-weight: 400;
}

.secFaq .footer__list p a::after {
  content: none;
}

.secFaq .footer__list p + p {
  margin-top: 1em;
}

.secFaq .footer__list_notes {
  color: var(--sub2, #676979);
  font-feature-settings: "palt" on;
  /* text_ss */
  font-family: "Noto Sans JP";
  font-size: 1.2rem;
}

.secFaq .secFaq__btn {
  display: flex;
  margin-top: 3.6rem;
  height: 7rem;
  padding: 2.2rem 0.8rem 2.2rem 1.8rem;
  justify-content: center;
  align-items: center;
  gap: 0.8rem;
  align-self: stretch;
  border-radius: 3.5rem;
  background: var(--BGzemi, #2A90EA);
  color: var(--white, #FFFFFF);
  text-align: center;
  font-feature-settings: "palt" on;
  line-height: 1.2;
  /* label_bold_M */
  font-family: "Noto Sans JP";
  font-size: 2rem;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  /* 26px */
}

.secFaq .secFaq__btn::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.3rem;
  background: url(../img_2025/svg/arrowRight_white.svg) no-repeat center center/contain;
}

/* ========== /secFaq ========== */

/* ========== secRelation ========== */

.secRelation {
  background: var(--white, #FFFFFF);
}

.secRelation .secRelation__h2 {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 2.4rem;
}

.secRelation .secRelation__container {
  margin-bottom: 2.4rem;
}

.secRelation .secRelation__box1 {
  margin-bottom: 2.4rem;
}

.secRelation .secRelation__box1A1 {
  margin-bottom: 0.8rem;
}

.secRelation .secRelation__a--1::after {
  content: "";
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-left: 1rem;
  background-image: url("/common_2025/img/svg/target--1.svg");
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}

.secRelation .secRelation__a--1 {
  color: var(--0-guide, #008ed8);
  font-family: "Hiragino Kaku Gothic ProN";
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 300;
  line-height: 2rem;
  /* 166.667% */
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
}

/* ========== /secRelation ========== */

/* ========== secInquiry ========== */

.secInquiry {
  background: var(--white, #FFFFFF);
}

.secInquiry .secInquiry__h2 {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 130%;
  margin-bottom: 2.4rem;
}

/* ========== /secInquiry ========== */

/* ========== secNotice ========== */

.secNotice {
  background: var(--white, #FFFFFF);
}

.secNotice .secNotice__cardli {
  padding: 1.6rem;
  background: var(--BG_main, #F4F6FA);
  border-radius: 1.6rem;
}

.secNotice .secNotice__upper {
  display: flex;
  align-items: center;
  margin-bottom: 0.8rem;
}

.secNotice .secNotice__label--1 {
  color: var(--0-guide, #008ED8);
  text-align: center;
  font-size: 1.2rem;
  font-weight: 700;
  width: 8.4rem;
  margin-right: 1rem;
  padding: 0 1rem;
  background: var(--white, #FFFFFF);
  border: 2px solid var(--0-guide, #008ED8);
  border-radius: 2rem;
}

.secNotice .secNotice__cardTime {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 130%;
}

.secNotice .secNotice__cardSpan {
  font-size: 1.4rem;
  color: var(--sub2, #676979);
  font-weight: 400;
  line-height: 130%;
  text-decoration: underline;
}

.secNotice .secNotice__cardAllLinkA {
  margin-top: 1.6rem;
  color: var(--0-guide, #008ED8);
  text-align: right;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 130%;
}

.secNotice .secNotice__cardAllLinkA::after {
  content: "";
  display: inline-block;
  width: 1.35rem;
  height: 1.35rem;
  margin-left: 1.5rem;
  background-image: url("/img_2025/svg/openArrow.svg");
  background-repeat: no-repeat;
  background-size: contain;
}

/* ========== /secNotice ========== */

/* ========== /wrapper ========== */

.footer__menuAttention {
  color: var(--sub2, #676979);
  font-feature-settings: "palt" on;
  /* text_SS */
  font-family: "Noto Sans JP";
  font-size: 1.2rem;
  font-style: normal;
  font-weight: 400;
  line-height: 140%;
  /* 16.8px */
}

/* CTA */

.cta {
  display: grid;
  place-items: center;
  padding: 4.8rem 2.4rem;
  background-color: var(--2, #00ADEA);
  border-radius: 5.6rem;
}

.c-requestButton__cta .cta-button-text {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 130%;
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-right: 5.6rem;
  color: var(--white, #FFFFFF);
}

.c-requestButton__a .cta-button-text {
  font-size: 2.4rem;
  font-weight: 900;
  line-height: 130%;
  display: flex;
  flex-direction: column;
  text-align: center;
  padding-right: 3.8rem;
  color: var(--white, #FFFFFF);
}

.cta-button-text span {
  font-size: 1.4rem;
  line-height: 130%;
  font-weight: 700;
}

.c-fixedCta__boxOuter .c-requestButton__cta .cta-button-text-top {
  font-size: 1.6rem;
  color: var(--white, #FFFFFF);
  line-height: 130%;
  font-weight: 900;
  text-align: center;
  margin: 0.8rem 0 0.7rem;
}

.feature1_inner2 .cta {
  background: var(--3, #34bbd8);
}

.feature1_inner3 .cta {
  background: var(--1, #3399FF);
}

/*.cta a{
  display:inline-flex;align-items:center;gap:1rem;
  background:#f44336;
  background: linear-gradient(180deg,#ff5a51,#e93a2f);
  color:var(--white, #FFFFFF);text-decoration:none;
  padding:1.4rem 2.4rem;border-radius:99.9rem;font-weight:900;
  font-size:1.8rem;letter-spacing:.06em;
  box-shadow: 0 1rem 2.2rem rgba(233,58,47,.32);
} */

.cta__title {
  color: var(--white, #FFFFFF);
  font-size: 2.6rem;
  margin-top: 0;
  line-height: 1.3;
  margin-bottom: 0;
}

.cta small {
  display: block;
  color: #12326c;
  margin-top: 0.6rem;
  font-size: 1.2rem;
  opacity: 0.8;
}

.cta__subtitle {
  color: var(--white, #FFFFFF);
  font-size: 4.2rem;
  margin: 0;
}

.cta__content {
  margin-bottom: 2.5rem;
}

.secReason__mainArea .cta-button-text,
.c-mainNav .cta-button-text {
  padding-right: 5.6rem;
}

.c-mainNav .c-requestButton__a2,
.c-fixedCta__boxOuter .c-requestButton__a2 {
  gap: 0.8rem;
}

.c-fixedCta__boxOuter {
  padding-top: 1.6rem;
}

/* ==========================================
  modal
========================================== */

.modal {
  display: none;
  /* 初期状態は非表示 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6);
  /* 背景半透明 */
  justify-content: center;
  /* flex用：中央寄せ */
  align-items: center;
  /* flex用：縦中央寄せ */
  z-index: 9999;
  overflow-y: auto;
  /* はみ出たときスクロール可能 */
}

.modal__content {
  color: var(--sub2, #676979);
  background: var(--white, #FFFFFF);
  border-radius: 32px;
  max-width: 600px;
  width: 95%;
  max-height: 90vh;
  /* ← 画面に収まる高さを指定 */
  overflow-y: auto;
  /* ← コンテンツ部分だけスクロール可能に */
  padding: 3.2rem;
  position: relative;
}

.modal__content p {
  margin: 0;
}

.modal__content p + .modal__content p {
  margin-top: 1em;
}

.modal__close {
  position: absolute;
  right: 1rem;
  top: 1rem;
  font-size: 2rem;
  cursor: pointer;
  color: var(--text, #414358);
}

.modal__close::before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.3rem;
  background: url(/common_2025/img/modal__close.svg) no-repeat 0 0/contain;
}

.modal_block h2 {
  color: var(--text, #414358);
  font-feature-settings: "palt" on;
  /* title_S */
  font-family: "Noto Sans JP";
  font-size: 24px;
  font-style: normal;
  font-weight: 900;
  line-height: 130%;
  /* 31.2px */
  margin: 1.6rem 0;
}

.header__tittleBox {
  display: flex;
  align-items: center;
  margin-top: 0.6rem;
}

.modal_block p {
  color: var(--text, #414358);
  font-feature-settings: "palt" on;
  /* body_base */
  font-family: "Noto Sans JP";
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 400;
  line-height: 150%;
  /* 24px */
}

.modal_block {
  margin-top: 2.4rem;
}

.modal_tablet_img {
  display: block;
}

.modal_tablet h3 {
  color: #000000;
  font-size: 1.4rem;
  font-weight: 700;
}

.modal_tablet p {
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 150%;
}

.modal_tablet p + p {
  margin-top: 1em;
}

.modal_tablet_img1 {
  width: 33rem;
}

.modal_tablet_img2 {
  width: 34rem;
}

.modal__content_tablet {
  border-radius: 1.3rem;
  padding: 3.2rem;
  color: var(--sub2, #676979);
}

.modal_tablet ul li {
  font-size: 1rem;
  color: #888888;
}

.modal_tablet ul li::before {
  content: "※";
}

@media screen and (min-width: 471px) {
  .secHero {
    border-radius: 0;
    padding-bottom: 0;
  }

  .secHero__no1 {
    bottom: 2rem;
  }

  .secReason .secReason__sansyutsu {
    top: 43rem;
  }

  .secReason .secReason__feature1--1 {
    display: block;
    max-width: 37.6rem;
    margin-right: -2.4rem;
    margin-left: 0;
  }

  .secReason .secReason__feature2--1 {
    display: block;
    max-width: 38.4rem;
    margin-left: -2.4rem;
  }

  .c-position__sticky .c-subButton__a2 {
    width: 14.9rem;
  }

  .c-position__sticky {
    height: 57rem;
  }

  .secReason__fvArea {
    border-radius: 4.8rem 4.8rem 0 0;
  }

  .secReason .secReason__patternBodyImg {
    margin: 0 auto;
  }

  .c-mainNav .c-requestButton__a .cta-button-text {
    padding-right: 3.8rem;
  }

  .innerPcScroll--child_left .feature__cta_voice .cta-button-text,
  .c-requestButton__a .cta-button-text,
  .c-requestButton__cta .cta-button-text {
    padding-right: 5.6rem;
  }

  .secReason__mainArea .cta-button-text,
  .secSolution .c-mainNav .cta-button-text {
    padding-right: 7.2rem;
  }
}

@media (max-width: 470px) {
  footer {
    padding: 0 0 9.8rem 0;
  }
}