/*===========================================================================*/
/*  function  */
/*===========================================================================*/
/*===========================================================================*/
/*  mixin  */
/*===========================================================================*/
.g-header-products .g-headerTitle {
  width: auto !important;
}

@media screen and (max-width: 767px) {
  .g-header-products .g-headerTitle {
    width: calc(100% - 150px) !important;
  }
}
.g-headerSwitch a {
  color: #2864f0;
}

.g-footer img {
  width: revert-layer;
}

/*===========================================================================*/
/*  mv  */
/*===========================================================================*/
.mv {
  padding-top: clamp(30.8px, 10.9449081803px + 2.203672788vw, 44px);
  padding-bottom: clamp(35px, 12.4373956594px + 2.5041736227vw, 50px);
  position: relative;
}
@media (max-width: 900px) {
  .mv {
    overflow: hidden;
    padding-top: 61px;
    padding-bottom: 30px;
  }
}
.mv__bg {
  position: relative;
}
.mv__bg::before {
  content: "";
  width: 100%;
  height: clamp(960.4px, 341.2821368948px + 68.714524207vw, 1372px);
  background: linear-gradient(180deg, #dbe9fd 26.21%, #fff 100%);
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 900px) {
  .mv__bg::before {
    height: 1168px;
    background: linear-gradient(180deg, #dbe9fd 0%, #fff 100%);
  }
}
.mv h1 {
  text-align: center;
  width: 100%;
}
@media (max-width: 900px) {
  .mv h1 {
    position: relative;
    width: 454px;
    height: 344px;
    left: 50%;
    transform: translateX(-50%);
  }
}
.mv__image {
  width: clamp(770px, 273.6227045075px + 55.0918196995vw, 1100px);
  margin: 0 auto;
  position: relative;
  left: -20px;
}
@media (max-width: 900px) {
  .mv__image {
    width: 454px;
    height: 344px;
    position: absolute;
    right: calc(50% - 200px);
    left: auto;
  }
}
.mv__list {
  display: grid;
  max-width: clamp(637.7px, 226.6093489149px + 45.6260434057vw, 911px);
  margin: 0 auto;
  margin-top: -90px;
  margin-top: clamp(-60px, -14.8747913189px + -5.0083472454vw, -90px);
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  align-items: center;
  gap: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
}
@media (max-width: 900px) {
  .mv__list {
    grid-template-columns: 1fr;
    padding: 0 20px;
    max-width: 500px;
  }
}
.mv__item {
  border-radius: 20px;
  background: #fff;
  box-shadow: 10px 10px 20px 0 rgba(132, 144, 172, 0.15);
  padding-top: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  padding-bottom: clamp(22.4px, 7.959933222px + 1.6026711185vw, 32px);
  padding-inline: clamp(33.6px, 11.9398998331px + 2.4040066778vw, 48px);
  position: relative;
}
@media (max-width: 900px) {
  .mv__item {
    border-radius: 14.933px;
    background: #fff;
    box-shadow: 7.467px 7.467px 14.933px 0 rgba(132, 144, 172, 0.15);
    padding: 21px 39px 16px;
    text-align: center;
  }
}
.mv__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 44.4695259594%;
  height: clamp(5px, 1.9916527546px + 0.3338898164vw, 7px);
  background: url(../images/date_decoration.svg) no-repeat center center/contain;
}
@media (max-width: 900px) {
  .mv__item::before {
    width: 149px;
    height: 5.29px;
  }
}
.mv__item__expire {
  text-align: center;
  font-feature-settings:
    "dlig" on,
    "vert" on,
    "palt" on;
  font-size: clamp(16.8px, 5.9699499165px + 1.2020033389vw, 24px);
  margin-bottom: clamp(4.2px, 1.4924874791px + 0.3005008347vw, 6px);
  font-weight: 700;
  line-height: 1.09;
  letter-spacing: 0.48px;
}
@media (max-width: 900px) {
  .mv__item__expire {
    font-size: 18px;
    letter-spacing: 0.36px;
  }
}
.mv__item__date {
  color: #2964f1;
  font-size: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  font-weight: 700;
  line-height: normal;
}
@media (max-width: 900px) {
  .mv__item__date {
    font-size: 22px;
  }
}
.mv__item__date span {
  font-size: clamp(32.2px, 11.4424040067px + 2.3038397329vw, 46px);
}
@media (max-width: 900px) {
  .mv__item__date span {
    font-size: 34px;
  }
}

/*===========================================================================*/
/*  self-navigation  */
/*===========================================================================*/
.self-navigation {
  padding-top: clamp(22.4px, 7.959933222px + 1.6026711185vw, 32px);
  padding-bottom: clamp(22.4px, 7.959933222px + 1.6026711185vw, 32px);
  background: #fff;
  position: relative;
  z-index: 3;
}
@media (max-width: 900px) {
  .self-navigation {
    padding-top: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
    padding-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  }
}
.self-navigation.is-fixed {
  z-index: 3;
  border-top: 1px solid #e1dcdc;
  border-bottom: 1px solid #e1dcdc;
}
@media (max-width: 900px) {
  .self-navigation.is-fixed {
    border-top: none;
  }
}
.self-navigation__inner {
  margin: 0 auto;
}
@media (max-width: 900px) {
  .self-navigation__inner {
    max-width: 500px;
  }
}
.self-navigation__nav.pc-only {
  display: block;
}
@media (max-width: 900px) {
  .self-navigation__nav.pc-only {
    display: none;
  }
}
@media (max-width: 900px) {
  .self-navigation__nav {
    display: grid;
    grid-template-columns: auto auto;
    justify-content: center;
    gap: 20px;
    padding-inline: 32px;
  }
}
.self-navigation__list {
  display: grid;
  grid-template-columns: repeat(4, auto);
  justify-content: center;
  align-items: center;
  gap: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
}
@media (max-width: 900px) {
  .self-navigation__list {
    grid-template-columns: 1fr;
    gap: 23px;
    padding-right: 20px;
    border-right: 1px dashed #a5a5a5;
  }
  .self-navigation__list:last-child {
    border: none;
    padding-right: 0;
  }
}
.self-navigation__list li {
  padding-right: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  border-right: 1px dashed #a5a5a5;
}
@media (max-width: 900px) {
  .self-navigation__list li {
    padding-right: 0;
    border: none;
  }
}
.self-navigation__list li:last-child {
  border: none;
}
.self-navigation__list li a {
  display: grid;
  align-items: center;
  gap: clamp(9.1px, 3.2337228715px + 0.6510851419vw, 13px);
  grid-template-columns: auto auto;
}
@media (max-width: 900px) {
  .self-navigation__list li a {
    gap: 13px;
    grid-template-columns: auto auto;
  }
}
@media (max-width: 900px) {
  .self-navigation__list li a.grid-110 {
    gap: 13px;
    grid-template-columns: 110px auto;
  }
}
.self-navigation__list li a span {
  text-align: center;
  font-feature-settings:
    "palt" on,
    "liga" off;
  font-size: clamp(12.6px, 4.4774624374px + 0.9015025042vw, 18px);
  font-weight: 700;
  line-height: 1.09;
  letter-spacing: 0.36px;
}
@media (max-width: 900px) {
  .self-navigation__list li a span {
    font-size: 16px;
    letter-spacing: 0.32px;
    text-align: left;
  }
}
.self-navigation__list li a svg {
  width: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  height: clamp(7px, 2.4874791319px + 0.5008347245vw, 10px);
}
@media (max-width: 900px) {
  .self-navigation__list li a svg {
    width: 16px;
    height: 10px;
  }
}

/*===========================================================================*/
/*  video  */
/*===========================================================================*/
.video {
  position: relative;
  margin-top: clamp(74.2px, 26.367278798px + 5.3088480801vw, 106px);
  margin-bottom: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
}
@media (max-width: 900px) {
  .video {
    margin-top: 40px;
    margin-bottom: 50px;
  }
}
.video__inner {
  max-width: clamp(637.7px, 226.6093489149px + 45.6260434057vw, 911px);
  margin: 0 auto;
}
@media (max-width: 900px) {
  .video__inner {
    max-width: 100%;
  }
}
.video__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: clamp(18.2px, 6.4674457429px + 1.3021702838vw, 26px);
  margin-bottom: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.52px;
}
@media (max-width: 900px) {
  .video__title {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.32px;
  }
}
.video__title span {
  color: #2864f0;
}
@media (max-width: 900px) {
  .video__title svg {
    width: 13.611px;
    height: 30.624px;
  }
}
.video__head {
  color: #2864f0;
  text-align: center;
  font-size: clamp(32.2px, 11.4424040067px + 2.3038397329vw, 46px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.92px;
  position: relative;
  margin-bottom: 31px;
}
@media (max-width: 900px) {
  .video__head {
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: 0.72px;
    margin-bottom: 57px;
  }
}
.video__head::before {
  content: "";
  width: clamp(102.9px, 36.5659432387px + 7.3622704508vw, 147px);
  height: clamp(102.9px, 36.5659432387px + 7.3622704508vw, 147px);
  left: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  bottom: -40px;
  position: absolute;
  background: url(../images/video_bird.png) no-repeat center center/contain;
}
@media (max-width: 900px) {
  .video__head::before {
    width: 92px;
    height: 92px;
    left: calc(50% - 200px);
    bottom: -42px;
  }
}
.video__head::after {
  content: "";
  width: clamp(78.4px, 27.8597662771px + 5.6093489149vw, 112px);
  height: clamp(119px, 42.2871452421px + 8.5141903172vw, 170px);
  right: clamp(58.8px, 20.8948247078px + 4.2070116861vw, 84px);
  bottom: -54px;
  position: absolute;
  background: url(../images/video_men.png) no-repeat center center/contain;
}
@media (max-width: 900px) {
  .video__head::after {
    width: 93px;
    height: 139px;
    left: calc(50% + 100px);
    bottom: -50px;
  }
}
.video__list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  justify-content: center;
  gap: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
  margin-bottom: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
}
@media (max-width: 900px) {
  .video__list {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 18px;
  }
}
.video__content {
  border-radius: 20px;
  background: #c2c2c2;
  box-shadow: 10px 10px 20px 0 rgba(132, 144, 172, 0.15);
  width: 443px;
  height: 268px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .video__content {
    width: 335px;
    height: 204px;
    border-radius: 10px;
  }
}
.video__content iframe {
  width: 443px;
  height: 268px;
  border-radius: 20px;
}
@media (max-width: 900px) {
  .video__content iframe {
    width: 335px;
    height: 204px;
    border-radius: 10px;
  }
}
.video__fukudashi {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.4px;
  padding: 7px 0 8px;
  width: 182px;
  border-radius: 6px;
  background: #ffd278;
  display: inline-block;
  position: relative;
  margin-bottom: 20px;
}
@media (max-width: 900px) {
  .video__fukudashi {
    font-size: 17px;
    letter-spacing: 0.34px;
    padding: 7px 0 7px;
    margin-bottom: 12px;
  }
}
.video__fukudashi::before {
  content: "";
  width: 20px;
  height: 12px;
  left: 50%;
  transform: translateX(-50%);
  bottom: -8px;
  position: absolute;
  background: url(../images/arrow_yellow.svg) no-repeat center center/contain;
}
@media (max-width: 900px) {
  .video__fukudashi::before {
    bottom: -7px;
  }
}
.video__text {
  text-align: center;
  font-size: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.4px;
  margin-bottom: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
}
@media (max-width: 900px) {
  .video__text {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: 0.32px;
    margin-bottom: 12px;
  }
}

.c-link {
  color: #fff;
  text-align: center;
  font-size: 23px;
  font-size: clamp(16.1px, 5.7212020033px + 1.1519198664vw, 23px);
  font-weight: 700;
  line-height: 1;
  padding-top: clamp(19.6px, 6.9649415693px + 1.4023372287vw, 28px);
  padding-bottom: clamp(21.7px, 7.7111853088px + 1.5525876461vw, 31px);
  width: clamp(278.6px, 99.0016694491px + 19.9332220367vw, 398px);
  display: block;
  margin: 0 auto;
  border-radius: 119.457px;
  background: url(../images/arrow_white.svg) no-repeat center center/contain;
  background-size: 22px 17px;
  background-position: right 28px center;
  background-color: #2864f0;
}
@media (max-width: 900px) {
  .c-link {
    font-size: 22px;
    line-height: 1;
    padding: 28x 0;
    width: 335px;
    background-size: 16px 12px;
    background-position: right 28px center;
    position: relative;
    z-index: 2;
  }
}
.c-link:hover {
  color: #fff;
}

/*===========================================================================*/
/*  event  */
/*===========================================================================*/
.event {
  padding-top: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
  padding-bottom: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
  background: #ebf3ff;
}
@media (max-width: 900px) {
  .event {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.event__text {
  text-align: center;
  position: relative;
  margin-bottom: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
}
@media (max-width: 900px) {
  .event__text {
    margin-bottom: 15px;
  }
}
.event__title {
  text-align: center;
  font-size: 26px;
  font-size: clamp(18.2px, 6.4674457429px + 1.3021702838vw, 26px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.52px;
}
@media (max-width: 900px) {
  .event__title {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.32px;
  }
}
.event__title div {
  display: inline-flex;
  align-items: center;
  gap: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
}
@media (max-width: 900px) {
  .event__title div {
    gap: 8px;
  }
}
.event__title span {
  color: #2864f0;
}
@media (max-width: 900px) {
  .event__title svg {
    width: 13.611px;
    height: 30.624px;
  }
}
.event__image1,
.event__image2 {
  position: absolute;
}
.event__image1 {
  top: -25px;
  right: calc(50% + 234px);
  width: clamp(110px, 75.4040066778px + 3.8397328881vw, 133px);
  height: clamp(140px, 109.9165275459px + 3.3388981636vw, 160px);
}
@media (max-width: 900px) {
  .event__image1 {
    width: 103px;
    height: 122px;
    right: calc(50% + 82px);
    bottom: -49px;
    top: auto;
    z-index: 0;
  }
}
.event__image2 {
  top: -11px;
  left: calc(50% + 216px);
  width: clamp(120px, 88.4123539232px + 3.5058430718vw, 141px);
  height: clamp(120px, 88.4123539232px + 3.5058430718vw, 141px);
}
@media (max-width: 900px) {
  .event__image2 {
    width: 103px;
    height: 103px;
    left: calc(50% + 90px);
    bottom: -24px;
    top: auto;
  }
}
.event__head {
  color: #2864f0;
  text-align: center;
  font-size: clamp(32.2px, 11.4424040067px + 2.3038397329vw, 46px);
  margin-top: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.92px;
}
@media (max-width: 900px) {
  .event__head {
    font-size: 36px;
    line-height: 1.3;
    letter-spacing: 0.72px;
    margin-top: 2px;
  }
}
.event__thumnail img {
  border-radius: 10px;
  background: #c2c2c2;
}
.event__list {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(14px, 4.9749582638px + 1.0016694491vw, 20px);
}
@media (max-width: 900px) {
  .event__list {
    gap: 12px;
    position: relative;
    z-index: 1;
  }
}
.event__list a {
  padding: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  border-radius: 20px;
  background: #fff;
  box-shadow: 10px 10px 20px 0 rgba(132, 144, 172, 0.15);
  display: grid;
  grid-template-columns: 39.8958333333% auto;
  gap: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
  align-items: center;
}
@media (max-width: 900px) {
  .event__list a {
    gap: 14px;
    padding: 10px;
    border-radius: 12px;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .event__box {
    padding: 0 9.5px 15px;
  }
}
.event__item__head {
  font-size: clamp(16.8px, 5.9699499165px + 1.2020033389vw, 24px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.96px;
  padding-left: 17px;
  position: relative;
  margin-bottom: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
}
@media (max-width: 900px) {
  .event__item__head {
    font-size: 20px;
    letter-spacing: 0.8px;
    padding-left: 13px;
    margin-bottom: 12px;
  }
}
.event__item__head::before {
  content: "";
  width: 4px;
  height: 100%;
  background-color: #2864f0;
  border-radius: 60px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.event__item__head span {
  color: #2864f0;
}
.event__item__description {
  font-size: clamp(9.1px, 3.2337228715px + 0.6510851419vw, 13px);
  margin-bottom: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  line-height: 1.6;
  letter-spacing: 0.26px;
}
@media (max-width: 900px) {
  .event__item__description {
    font-size: 13px;
    margin-bottom: 16px;
  }
}
.event__item__link span {
  font-size: 14px;
  line-height: 1.6;
  letter-spacing: 0.28px;
  text-decoration-line: underline;
  text-underline-offset: auto;
  text-underline-position: from-font;
  margin-left: 8px;
}
@media (max-width: 900px) {
  .event__item__link span {
    font-size: 14px;
  }
}
@media (max-width: 900px) {
  .event__item__link svg {
    width: 22px;
    height: 22px;
  }
}
.event__item__link span,
.event__item__link svg {
  vertical-align: middle;
}

/*===========================================================================*/
/*  products  */
/*===========================================================================*/
.products {
  padding-top: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
  padding-bottom: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
}
@media (max-width: 900px) {
  .products {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.products__inner {
  max-width: 1000px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .products__inner {
    max-width: 500px;
  }
}
.products__text {
  text-align: center;
  position: relative;
  margin-bottom: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
}
@media (max-width: 900px) {
  .products__text {
    margin-bottom: 28px;
  }
}
.products__title {
  text-align: center;
  font-size: 26px;
  font-size: clamp(18.2px, 6.4674457429px + 1.3021702838vw, 26px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.52px;
}
@media (max-width: 900px) {
  .products__title {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.32px;
  }
}
.products__title div {
  display: inline-flex;
  align-items: center;
  gap: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
}
@media (max-width: 900px) {
  .products__title div {
    gap: 8px;
  }
}
.products__title span {
  color: #2864f0;
}
@media (max-width: 900px) {
  .products__title svg {
    width: 13.611px;
    height: 30.624px;
  }
}
.products__image1,
.products__image2 {
  position: absolute;
}
@media (max-width: 900px) {
  .products__image1,
  .products__image2 {
    display: none;
  }
}
.products__image1 {
  bottom: -20px;
  right: calc(50% + 275px);
  width: clamp(130px, 89.387312187px + 4.5075125209vw, 157px);
  height: clamp(130px, 89.387312187px + 4.5075125209vw, 157px);
}
.products__image2 {
  bottom: -20px;
  left: calc(50% + 241px);
  width: clamp(140px, 88.858096828px + 5.6761268781vw, 174px);
  height: clamp(150px, 100.3622704508px + 5.5091819699vw, 183px);
}
.products__head {
  color: #2864f0;
  text-align: center;
  font-size: clamp(32.2px, 11.4424040067px + 2.3038397329vw, 46px);
  margin-top: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.92px;
}
@media (max-width: 900px) {
  .products__head {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0.64px;
    margin-top: 2px;
  }
}
.products__image {
  width: 170px;
  margin: 0 auto;
}
.products__image.img01 {
  background: #fff;
  padding: 8px;
  border-radius: 16px;
  border: 2px solid #285ac8;
}
.products__image.img02 {
  width: 230px;
}
.products__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  align-items: stretch;
  margin-bottom: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
}
@media (max-width: 900px) {
  .products__list {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 30px;
    position: relative;
  }
  .products__list::before {
    content: "";
    width: 100px;
    height: 100px;
    position: absolute;
    right: -40px;
    top: -43px;
    background: url(../images/products_bird.png) no-repeat center center/contain;
  }
  .products__list::after {
    content: "";
    width: 106px;
    height: 113px;
    position: absolute;
    left: -43px;
    bottom: -40px;
    background: url(../images/products_men.png) no-repeat center center/contain;
  }
}
.products__item {
  padding-block: clamp(21px, 7.4624373957px + 1.5025041736vw, 30px);
  padding-inline: clamp(30.8px, 10.9449081803px + 2.203672788vw, 44px);
  border-radius: 20px;
  border: 1px solid #e0e0e0;
  background: #fff;
  box-shadow: 10px 10px 20px 0 rgba(132, 144, 172, 0.15);
}
.products__item__desc {
  color: #2864f0;
  text-align: center;
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.32px;
}
@media (max-width: 900px) {
  .products__item__desc {
    font-size: 16px;
  }
}
.products__item__head {
  color: #2864f0;
  text-align: center;
  font-size: clamp(16.8px, 5.9699499165px + 1.2020033389vw, 24px);
  margin-top: 8px;
  margin-bottom: 20px;
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.52px;
}
@media (max-width: 900px) {
  .products__item__head {
    font-size: 24px;
  }
}
.products__auto {
  color: #2864f0;
  text-align: center;
  font-size: clamp(11.2px, 3.979966611px + 0.8013355593vw, 16px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.32px;
  text-decoration-line: underline;
  text-underline-position: from-font;
  margin-top: clamp(17.5px, 6.2186978297px + 1.2520868114vw, 25px);
  display: block;
}
@media (max-width: 900px) {
  .products__auto {
    font-size: 16px;
    letter-spacing: 0.32px;
    margin-top: 30px;
  }
}

/*===========================================================================*/
/*  plan  */
/*===========================================================================*/
.plan {
  background-color: #ebf3ff;
  padding-top: clamp(70px, 24.8747913189px + 5.0083472454vw, 100px);
  padding-bottom: clamp(65.8px, 23.3823038397px + 4.7078464107vw, 94px);
}
@media (max-width: 900px) {
  .plan {
    padding-top: 50px;
    padding-bottom: 50px;
  }
}
.plan__text {
  text-align: center;
  position: relative;
  margin-bottom: clamp(28px, 9.9499165275px + 2.0033388982vw, 40px);
}
@media (max-width: 900px) {
  .plan__text {
    margin-bottom: 28px;
  }
}
.plan__title {
  text-align: center;
  font-size: 26px;
  font-size: clamp(18.2px, 6.4674457429px + 1.3021702838vw, 26px);
  font-weight: 500;
  line-height: 1.09;
  letter-spacing: 0.52px;
}
@media (max-width: 900px) {
  .plan__title {
    text-align: center;
    font-size: 16px;
    letter-spacing: 0.32px;
  }
}
.plan__title div {
  display: inline-flex;
  align-items: center;
  gap: clamp(8.4px, 2.9849749583px + 0.6010016694vw, 12px);
}
@media (max-width: 900px) {
  .plan__title div {
    gap: 8px;
  }
}
@media (max-width: 900px) {
  .plan__title svg {
    width: 13.611px;
    height: 30.624px;
  }
}
.plan__head {
  color: #2864f0;
  text-align: center;
  font-size: clamp(32.2px, 11.4424040067px + 2.3038397329vw, 46px);
  margin-top: clamp(10.5px, 3.7312186978px + 0.7512520868vw, 15px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.92px;
}
@media (max-width: 900px) {
  .plan__head {
    font-size: 32px;
    line-height: 1.3;
    letter-spacing: 0.64px;
    margin-top: 2px;
  }
}
.plan__contents {
  overflow-x: auto;
  margin-bottom: 24px;
}
@media (max-width: 900px) {
  .plan__contents {
    margin-bottom: 15px;
  }
}
.plan__list {
  display: flex;
  align-items: stretch;
  justify-content: center;
  gap: 25px;
  width: 1100px;
  margin: 0 auto;
}
@media (max-width: 900px) {
  .plan__list {
    flex-direction: row-reverse;
  }
}
.plan__item {
  background-color: #fff;
  padding: 10px 0 30px;
  border-radius: 10px;
  box-shadow: 8px 8px 36px 0 rgba(0, 0, 0, 0.1);
  width: 256px;
}
.plan__item__head {
  height: 105px;
  margin: 0 10px 12px;
  padding: 33px 0 37px;
  background-color: #ebf3ff;
  border-radius: 6px;
  text-align: center;
}
.plan__item__head h3 {
  color: #2864f0;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.875px;
  text-align: center;
}
.plan__item__box {
  font-weight: 400;
  text-align: center;
  margin-bottom: 15px;
}
.plan__item__box .sub {
  font-size: 16px;
  margin-bottom: 4px;
}
.plan__item__box .price {
  color: #2864f0;
  font-size: 48px;
  font-weight: 600;
  line-height: 1;
  margin-bottom: 8px;
}
.plan__item__box .price span {
  font-size: 16px;
}
.plan__item__box .yearly {
  font-size: 16px;
  margin-bottom: 8px;
}
.plan__item__box .monthly {
  font-size: 12px;
  margin-bottom: 46px;
}
.plan__item__box .monthly:has(+ .lead) {
  margin-bottom: 8px;
}
.plan__item__box .lead {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: #2864f0;
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 8px;
}
.plan__item__box .lead .num {
  font-size: 21px;
}
.plan__item__box .button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 12px 0 13px;
  background-color: #fff;
  border: 1px solid #2864f0;
  border-radius: 40px;
  width: 211px;
}
.plan__item__box .button span {
  color: #2864f0;
  font-size: 16px;
  font-weight: 700;
}
.plan__item__box .button svg {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% + 1px));
  right: 18px;
}
.plan__item__lead {
  background-color: #ebf3ff;
  margin: 0 10px 12px;
  padding: 12px 0;
  border-radius: 1px;
  text-align: center;
}
.plan__item__lead p {
  font-size: 13px;
  font-weight: 700;
}
.plan__item__list {
  padding: 0 20px;
}
.plan__item__list li {
  display: flex;
  align-items: baseline;
  gap: 7px;
  font-size: 12px;
  font-weight: 400;
}
.plan__item__list li::before {
  content: "";
  background-image: url(../../assets/images/icon-check.svg);
  background-repeat: no-repeat;
  background-size: 9px;
  width: 10px;
  height: 8px;
}
.plan__item__list li:not(:last-child) {
  margin-bottom: 12px;
}
.plan__item__list li.highlight {
  color: #2864f0;
  font-weight: 700;
}
.plan__item.recommend {
  border: 1px solid #2864f0;
}
.plan__item.recommend .plan__item__head {
  background-color: #2864f0;
  padding: 20px 0;
}
.plan__item.recommend .plan__item__head span {
  position: relative;
  background-color: #fff;
  color: #2864f0;
  font-size: 14px;
  font-weight: 700;
  padding: 3px 16px;
  margin-bottom: 8px;
  border-radius: 35px;
}
.plan__item.recommend .plan__item__head span svg {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -7px;
}
.plan__item.recommend .plan__item__head h3 {
  color: #fff;
}
.plan__item.recommend .plan__item__box .button {
  background-color: #2864f0;
}
.plan__item.recommend .plan__item__box .button span {
  color: #fff;
}
.plan__note {
  font-size: 12px;
  font-weight: 400;
  margin-bottom: 30px;
  text-align: center;
}
@media (max-width: 900px) {
  .plan__note {
    text-align: left;
  }
}
.plan__cta {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  padding: 28px 0 31px;
  background-color: #2864f0;
  border: 1px solid #2864f0;
  border-radius: 120px;
  width: 398px;
}
@media (max-width: 900px) {
  .plan__cta {
    padding: 27px 0 29px;
    width: 100%;
    max-width: 335px;
  }
}
.plan__cta span {
  color: #fff;
  font-size: 23px;
  font-weight: 700;
}
@media (max-width: 900px) {
  .plan__cta span {
    font-size: 22px;
  }
}
.plan__cta svg {
  position: absolute;
  top: 50%;
  transform: translateY(calc(-50% + 1px));
  right: 28px;
}
@media (max-width: 900px) {
  .plan__cta svg {
    right: 18px;
  }
}

.g-header_sub_contentListItem a:not(.c-btn) img {
  width: 50%;
}

.target-cta__button {
  @include all.clamp-pc-auto(margin-top, 49px);
  @include all.clamp-pc-auto(width, 357px);
  @include all.clamp-pc-auto(height, 72px);
  border-radius: 7px 0 0 7px;
  @include all.sp {
    margin-top: 10px;
    width: 100%;
  }
  .header__cta__text {
    @include all.clamp-pc(font-size, 18px, 22px);
  }
  .header__cta__arrow {
    border-radius: 0 7px 7px 0;
    background: #fb8343;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 100%;
    @include all.sp {
      width: 16px;
      border-radius: 0 6px 6px 0;
    }
    svg {
      width: 13px;
      height: 13px;
    }
  }
}

.modal__signup {
  display: none;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
}

@media screen and (max-width: 767px) {
  .modal__signup {
    padding: 16px;
  }
}

.modal__signup .c-btn {
  padding: 10px 1em;
  font-size: 16px;
  line-height: 1.15;
  border-radius: 8px;
  border-width: 2px;
}

.modal__signup__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1;
}

.modal__signup__inner {
  padding: 40px 80px;
  border-radius: 16px;
  background-color: #fff;
  max-width: 568px;
  width: 100%;
  max-height: 100svh;
  overflow-y: auto;
  position: relative;
  z-index: 2;
}

@media screen and (max-width: 767px) {
  .modal__signup__inner {
    padding: 48px 16px 32px;
  }
}

.modal__signup__close {
  position: absolute;
  top: 24px;
  right: 24px;
}

@media screen and (max-width: 767px) {
  .modal__signup__close {
    top: 8px;
    right: 8px;
  }
}
.modal__signup__title {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0%;
  text-align: center;
}

.sign_up_notice {
  p {
    text-align: center;
  }
}
