/**  Mixins */
/*------------------------------------*\
    breakpoint vars
\*------------------------------------*/
/*------------------------------------*\
    breakpoint mixin
\*------------------------------------*/
/** Break desktop first**/
/** Global **/
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
.cf-quicklinks ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.cf-quicklinks, .cf-card-grid, .cf-special-content, .cf-features, .cf-intro {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.5357136878rem;
  line-height: 1.75;
  letter-spacing: 0.0334821055rem;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks, .cf-card-grid, .cf-special-content, .cf-features, .cf-intro {
    font-size: 1.3714246531rem;
    letter-spacing: 0.1285710612rem;
  }
}

.p-main {
  overflow-x: hidden;
}

.section-buttons {
  display: flex;
  justify-content: center;
  gap: 1.0044631647rem;
}
@media only screen and (min-width: 1000px) {
  .section-buttons {
    gap: 2.5714212245rem;
  }
}

.btn-gradient {
  background: linear-gradient(90deg, #EBB324 0%, #E73E89 100%);
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 0.8035705317rem;
  line-height: 1.2;
  vertical-align: middle;
  letter-spacing: 0.0334821055rem;
  color: #fff;
  text-transform: uppercase;
  min-width: 13.292395879rem;
  min-height: 2.4441937007rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.3s;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1000px) {
  .btn-gradient {
    letter-spacing: 0.1285710612rem;
    font-size: 2.0571369796rem;
    min-width: 34.0284742044rem;
    min-height: 6.2571249796rem;
  }
}
.btn-gradient span {
  transition: all 0.3s;
  color: #fff;
}
.btn-gradient::before {
  content: "";
  position: absolute;
  background: #fff;
  top: 1px;
  left: 1px;
  right: 1px;
  bottom: 1px;
  opacity: 0;
  z-index: -1;
  transition: all 0.3s;
}
.btn-gradient::after {
  content: "";
  width: 2.5446400171rem;
  background: linear-gradient(90deg, #EBB324 0%, #E73E89 100%);
  position: absolute;
  top: 50%;
  height: 1px;
  right: -1.1049094811rem;
  transition: all 0.3s;
}
@media only screen and (min-width: 1000px) {
  .btn-gradient::after {
    width: 6.5142671021rem;
    right: -2.828563347rem;
  }
}
.btn-gradient:hover span {
  background: linear-gradient(90deg, #EBB324 0%, #E73E89 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
.btn-gradient:hover::before {
  opacity: 1;
}
.btn-gradient:hover::after {
  right: -1.573658958rem;
}
@media only screen and (min-width: 1000px) {
  .btn-gradient:hover::after {
    right: -4.0285599184rem;
  }
}

@media only screen and (max-width: 999px) {
  .hide-sp {
    display: none;
  }
}

@media only screen and (min-width: 1000px) {
  .hide-pc {
    display: none;
  }
}

/** pages */
body {
  overflow-x: hidden;
}

.cf-banner {
  position: relative;
}
.cf-banner picture {
  display: block;
}
.cf-banner picture img {
  display: block;
  width: 100%;
}
.cf-banner__shapes {
  position: absolute;
  bottom: -1.2053557976rem;
  left: 0;
  width: 100%;
  z-index: 1;
}
@media only screen and (min-width: 1000px) {
  .cf-banner__shapes {
    bottom: -2.9142773878rem;
  }
}

.cf-intro {
  background: #E5E0DA;
  padding-block: 2.6785684391rem;
  line-height: 2.25;
}
@media only screen and (min-width: 1000px) {
  .cf-intro {
    padding-block: 8.5714040817rem;
  }
}
.cf-intro__inner {
  max-width: 19.4196211835rem;
  text-align: justify;
  margin-inline: auto;
}
@media only screen and (min-width: 1000px) {
  .cf-intro__inner {
    max-width: 77.1426367353rem;
  }
}
.cf-intro__inner figure {
  text-align: center;
  margin: 0 0 1.1049094811rem;
}
@media only screen and (min-width: 1000px) {
  .cf-intro__inner figure {
    margin: 0 0 2.5714212245rem;
  }
}
.cf-intro__inner figure img {
  max-width: 3.6160673928rem;
}
@media only screen and (min-width: 1000px) {
  .cf-intro__inner figure img {
    max-width: 9.2571164082rem;
  }
}
.cf-intro__inner h2 {
  line-height: 1.61;
  font-size: 0.8705347427rem;
  text-align: center;
  background: linear-gradient(90deg, #EBB324 0%, #E73E89 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin: 0 0 1.1383915866rem;
  font-weight: 900;
}
@media only screen and (min-width: 1000px) {
  .cf-intro__inner h2 {
    font-size: 2.2285650612rem;
    margin: 0 0 3.4285616327rem;
  }
}

.cf-features {
  background: #E5E0DA;
}
.cf-features__item {
  padding: 6.6964210977rem 1.1718736921rem;
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item {
    display: grid;
    grid-template-columns: 1fr 46.1%;
    gap: 0 5.9999828572rem;
    padding: 11.1428253062rem 0 11.1428253062rem 8.5714040817rem;
  }
}
.cf-features__item h3 {
  background: linear-gradient(270deg, rgba(235, 109, 165, 0) 0%, rgba(235, 109, 165, 0.07) 1.97%, rgba(235, 109, 165, 0.4) 9.86%, rgba(235, 109, 165, 0.66) 17.75%, rgba(235, 109, 165, 0.84) 23.67%, rgba(235, 109, 165, 0.96) 28.6%, #EB6DA5 31.56%, #B80E5C 98.64%);
  clip-path: polygon(0.9375rem 0%, 100% 0, calc(100% - 0.9375rem) 100%, 0% 100%);
  padding: 0.2678568439rem 2.3437473842rem 0.2678568439rem 3.3482105489rem;
  font-weight: 400;
  font-size: 1.2053557976rem;
  color: #fff;
  margin: 0 2.6785684391rem 0 0;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item h3 {
    padding: 0.4285702041rem 0.4285702041rem 0.4285702041rem 8.5714040817rem;
    font-size: 3.0857054694rem;
    margin-bottom: 2.5714212245rem;
    grid-column: 1/2;
    grid-row: 1/2;
    clip-path: polygon(1.875rem 0%, 100% 0, calc(100% - 1.875rem) 100%, 0% 100%);
  }
}
.cf-features__item picture {
  display: block;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item picture {
    grid-column: 2/3;
    grid-row: 1/4;
    padding-top: 2.5714212245rem;
  }
}
.cf-features__item picture img {
  width: 100%;
  display: block;
}
.cf-features__item--content {
  background: #fff;
  padding: 1.6741052744rem;
  box-shadow: 0px 0.133928422rem 0.133928422rem 0px #00000040;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item--content {
    grid-column: 1/2;
    grid-row: 2/3;
    padding: 4.2857020409rem;
    box-shadow: 0px 0.3428561633rem 0.3428561633rem 0px #00000040;
  }
}
.cf-features__item--content h4 {
  font-weight: 700;
  font-size: 1.2053557976rem;
  line-height: 1.33;
  margin: 0 0 1.4732126415rem;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item--content h4 {
    font-size: 3.0857054694rem;
    margin: 0 0 3.7714177959rem;
  }
}
.cf-features__item--content h4 strong {
  color: #E73E89;
}
.cf-features__item--content p:last-of-type {
  margin-bottom: 0;
}
.cf-features__item--shape {
  position: absolute;
  z-index: -1;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(even) {
    padding-inline: 0 8.5714040817rem;
  }
  .cf-features__item:nth-child(even) h3 {
    grid-column: 2/3;
    grid-row: 1/2;
  }
  .cf-features__item:nth-child(even) picture {
    grid-column: 1/2;
  }
  .cf-features__item:nth-child(even) .cf-features__item--content {
    grid-column: 2/3;
    grid-row: 2/3;
  }
}
.cf-features__item:nth-child(3n-2) .cf-features__item--shape--1 {
  width: 26.0490780702rem;
  top: -0.5357136878rem;
  left: -10.412934807rem;
  z-index: -9;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-2) .cf-features__item--shape--1 {
    width: 76.9712086537rem;
    top: 50%;
    transform: translateY(-50%);
    left: -18.6856608981rem;
  }
}
.cf-features__item:nth-child(3n-2) .cf-features__item--shape--2 {
  width: 3.3816926544rem;
  bottom: -18.4821222298rem;
  right: 3.3482105489rem;
  z-index: -4;
  opacity: 0.5;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-2) .cf-features__item--shape--2 {
    width: 8.6571181225rem;
    bottom: -32.9999057146rem;
    right: 8.5714040817rem;
  }
}
.cf-features__item:nth-child(3n-2) .cf-features__item--shape--3 {
  width: 20.0892632932rem;
  bottom: -4.6874947684rem;
  right: 1.6071410635rem;
  z-index: -3;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-2) .cf-features__item--shape--3 {
    width: 56.6569809801rem;
    bottom: 4.2857020409rem;
    right: -2.9142773878rem;
  }
}
.cf-features__item:nth-child(3n-2) .cf-features__item--shape--4 {
  width: 10.6473095454rem;
  bottom: -13.9620379888rem;
  right: -1.8080336964rem;
  z-index: -1;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-2) .cf-features__item--shape--4 {
    width: 27.2570649798rem;
    bottom: -20.2285136328rem;
    right: -8.5714040817rem;
  }
}
.cf-features__item:nth-child(3n-2) .cf-features__item--shape--5 {
  display: none;
  width: 7.7999777143rem;
  bottom: -5.8285547756rem;
  left: 1.9714229388rem;
  z-index: -1;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-2) .cf-features__item--shape--5 {
    display: block;
  }
}
.cf-features__item:nth-child(3n-1) .cf-features__item--content h4 strong {
  color: #EBB324;
}
.cf-features__item:nth-child(3n-1) .cf-features__item--shape--1 {
  width: 4.5535663465rem;
  bottom: -9.6763284862rem;
  left: 3.7165137092rem;
  z-index: -9;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-1) .cf-features__item--shape--1 {
    width: 12.5999640001rem;
    bottom: -11.0571112654rem;
    left: 18.5142328165rem;
  }
}
.cf-features__item:nth-child(3n-1) .cf-features__item--shape--2 {
  width: 20.0892632932rem;
  bottom: 0.4017852659rem;
  right: 1.6071410635rem;
  z-index: -4;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-1) .cf-features__item--shape--2 {
    width: 60.428398776rem;
    bottom: -7.7142636735rem;
    right: 2.5714212245rem;
  }
}
.cf-features__item:nth-child(3n-1) .cf-features__item--shape--3 {
  width: 3.7165137092rem;
  bottom: -2.8459789665rem;
  left: 9.2410611149rem;
  z-index: -3;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-1) .cf-features__item--shape--3 {
    width: 9.5142585307rem;
    bottom: 2.7428493061rem;
    left: 36.5998954289rem;
  }
}
.cf-features__item:nth-child(3n-1) .cf-features__item--shape--4 {
  width: 10.6138274399rem;
  bottom: -13.3928421955rem;
  left: -5.8593684605rem;
  z-index: -3;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n-1) .cf-features__item--shape--4 {
    width: 33.0856197554rem;
    bottom: -25.1142139594rem;
    left: -17.4856643267rem;
  }
}
.cf-features__item:nth-child(3n) .cf-features__item--content h4 strong {
  color: #169F65;
}
.cf-features__item:nth-child(3n) .cf-features__item--shape--1 {
  width: 7.0647242581rem;
  bottom: 1.6741052744rem;
  right: 8.1696337392rem;
  z-index: -9;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n) .cf-features__item--shape--1 {
    width: 18.0856626124rem;
    bottom: 14.2285307756rem;
    right: 16.1999537144rem;
  }
}
.cf-features__item:nth-child(3n) .cf-features__item--shape--2 {
  width: 30.1673770453rem;
  bottom: 0;
  right: 0;
  z-index: -4;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n) .cf-features__item--shape--2 {
    width: 77.2283507761rem;
    bottom: 6.4285530613rem;
    right: 0;
  }
}
.cf-features__item:nth-child(3n) .cf-features__item--shape--3 {
  width: 12.4218611363rem;
  bottom: -5.1562442453rem;
  right: -2.5446400171rem;
  z-index: -3;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n) .cf-features__item--shape--3 {
    width: 47.4855786126rem;
    bottom: -7.5428355919rem;
    right: -1.1999965714rem;
  }
}
.cf-features__item:nth-child(3n) .cf-features__item--shape--4 {
  width: 11.0490948113rem;
  bottom: -6.0602610935rem;
  left: -1.9754442238rem;
  z-index: -3;
}
@media only screen and (min-width: 1000px) {
  .cf-features__item:nth-child(3n) .cf-features__item--shape--4 {
    width: 38.8284604901rem;
    bottom: -18.4285187757rem;
    left: -5.4856986123rem;
  }
}

.cf-special-content {
  background: url("../images/subpage/bg-1-sp.svg") no-repeat 34% 100%/cover;
  padding-block: 2.7455326501rem 2.1428547513rem;
  line-height: 2.375;
  font-weight: 500;
}
@media only screen and (min-width: 1000px) {
  .cf-special-content {
    background-image: url("../images/subpage/bg-1.svg");
    padding-block: 9.0856883266rem 4.2857020409rem;
  }
}
.cf-special-content__inner {
  max-width: 20.758905403rem;
  margin-inline: auto;
}
@media only screen and (min-width: 1000px) {
  .cf-special-content__inner {
    max-width: 90.1711709395rem;
  }
}
.cf-special-content h2 {
  background: linear-gradient(90deg, #EBB324 0%, #E73E89 100%);
  font-weight: 600;
  font-size: 0.8035705317rem;
  line-height: 1.5;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
  margin: 0 0 1.3392842195rem;
}
@media only screen and (min-width: 1000px) {
  .cf-special-content h2 {
    font-size: 2.7428493061rem;
    margin: 0 0 3.4285616327rem;
  }
}
.cf-special-content p {
  margin-bottom: 1.3058021141rem;
}
@media only screen and (min-width: 1000px) {
  .cf-special-content p {
    margin-bottom: 2.7428493061rem;
  }
}
.cf-special-content p:last-of-type {
  margin-bottom: 0;
}
.cf-special-content .section-buttons {
  margin-top: 4.3526737135rem;
}
@media only screen and (min-width: 1000px) {
  .cf-special-content .section-buttons {
    margin-top: 11.1428253062rem;
  }
}

.cf-card-grid {
  background: #E5E0DA;
  padding-block: 6.026778988rem 5.3571368782rem;
}
@media only screen and (min-width: 1000px) {
  .cf-card-grid {
    padding-block: 6.8571232654rem 14.5713869389rem;
  }
}
.cf-card-grid h2 {
  font-size: 1.0714273756rem;
  text-align: center;
  margin: 0 0 3.3482105489rem;
  font-weight: 600;
  line-height: 1.5625;
}
@media only screen and (min-width: 1000px) {
  .cf-card-grid h2 {
    line-height: 1.64;
    font-size: 3.5999897143rem;
    margin: 0 0 6.4285530613rem;
  }
}
.cf-card-grid__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.8749979074rem;
  margin-inline: auto;
  max-width: 12.3883790308rem;
}
@media only screen and (min-width: 1000px) {
  .cf-card-grid__inner {
    max-width: 95.9997257151rem;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 3.0857054694rem;
  }
}
.cf-card-grid__item {
  background: #fff;
  padding: 1.2053557976rem 0.8705347427rem 2.1763368568rem;
  text-align: justify;
}
@media only screen and (min-width: 1000px) {
  .cf-card-grid__item {
    padding: 3.0857054694rem 2.1428510204rem;
  }
}
.cf-card-grid__item figure {
  height: 2.6785684391rem;
  text-align: center;
  margin-bottom: 0.6696421098rem;
}
@media only screen and (min-width: 1000px) {
  .cf-card-grid__item figure {
    height: 6.8571232654rem;
    margin-bottom: 1.7142808163rem;
  }
}
.cf-card-grid__item figure img {
  max-height: 100%;
  max-width: 100%;
}
.cf-card-grid__item h3 {
  font-weight: 600;
  font-size: 1.0044631647rem;
  text-align: center;
  margin: 0 0 1.0714273756rem;
}
@media only screen and (min-width: 1000px) {
  .cf-card-grid__item h3 {
    font-size: 2.5714212245rem;
    margin: 0 0 2.7428493061rem;
  }
}
.cf-card-grid__item p:last-of-type {
  margin-bottom: 0;
}

.cf-quicklinks {
  background: linear-gradient(90deg, #EBB324 0%, #E73E89 100%);
  padding: 2.5111579117rem 1.0044631647rem 2.8459789665rem;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks {
    padding: 8.1428338776rem 2.5714212245rem 10.9713972246rem;
  }
}
.cf-quicklinks h2 {
  font-weight: 600;
  line-height: 1.2;
  text-align: center;
  color: #fff;
  margin: 0 0 0.4017852659rem;
  font-size: 1.0714273756rem;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks h2 {
    font-size: 3.5999897143rem;
    margin: 0 0 1.0285684898rem;
  }
}
.cf-quicklinks h3 {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  font-size: 0.5357136878rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 0 2.5111579117rem;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks h3 {
    font-size: 1.7142808163rem;
    margin: 0 0 5.142842449rem;
  }
}
.cf-quicklinks ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.6696421098rem;
  flex-direction: column;
  align-items: center;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks ul {
    gap: 1.7142808163rem 4.2857020409rem;
    flex-direction: row;
  }
}
.cf-quicklinks ul li a {
  border: 0.1004463165rem solid #169F65;
  font-weight: 700;
  font-size: 0.8035705317rem;
  line-height: 1.2;
  letter-spacing: 0.0334821055rem;
  color: #169F65;
  width: 10.0446316466rem;
  display: block;
  text-align: center;
  text-decoration: none;
  background: #fff;
  position: relative;
  padding: 0.4017852659rem 0.3348210549rem 1.2723200086rem;
  transition: all 0.3s;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks ul li a {
    width: 17.1428081634rem;
    font-size: 2.0571369796rem;
    border-width: 0.2571421225rem;
    letter-spacing: 0.0857140408rem;
    padding: 0.8571404082rem 0.8571404082rem 3.257133551rem;
  }
}
.cf-quicklinks ul li a::after {
  content: "";
  position: absolute;
  bottom: 0.2343747384rem;
  background: url("../images/subpage/arrow-down.svg") no-repeat 0 0/100%;
  width: 0.6696421098rem;
  height: 0.6696421098rem;
  left: 50%;
  transform: translateX(-50%);
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks ul li a::after {
    bottom: 0.5999982857rem;
    width: 1.7142808163rem;
    height: 1.7142808163rem;
  }
}
.cf-quicklinks ul li a small {
  font-weight: 400;
  font-size: 0.5357136878rem;
}
@media only screen and (min-width: 1000px) {
  .cf-quicklinks ul li a small {
    font-size: 1.3714246531rem;
  }
}
.cf-quicklinks ul li a:hover {
  opacity: 0.8;
}

/*# sourceMappingURL=styles.css.map */
  .p-home-mainvisual__cover__image {
    height: auto;
    position: relative;
  }
  