@charset "UTF-8";
.c-buttonCommon, .c-button02, .c-button01, .c-buttonApply {
  border-radius: 25px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.04em;
  display: flex;
  align-items: center;
  justify-content: center;
  border: none;
  padding: 0 30px;
  margin: 0 auto;
  height: 40px;
  cursor: pointer;
  transition: all 0.3s;
}
.c-buttonApply {
  background-color: #E88D6A;
  border: 1px solid #E88D6A;
  color: #fff;
  position: fixed;
  width: 309px;
  height: 56px;
  border-radius: 120px;
  letter-spacing: 0.29em;
  bottom: 10px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  transition: all 0.3s;
}
.c-buttonApply::after {
  content: url("/assets/img/icon/icon_chevron02.svg");
  position: absolute;
  right: 22px;
  top: 50%;
  transform: translateY(-50%);
  width: 7px;
}
.c-buttonApply:hover {
  background-color: #fff;
  color: #E88D6A;
}
.c-buttonApply:hover::after {
  content: url("/assets/img/icon/icon_chevron01.svg");
}
.c-buttonTop {
  background-color: #E88D6A;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  position: fixed;
  bottom: 84px;
  right: 16px;
  cursor: pointer;
  border: none;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.c-buttonTop::after {
  content: "";
  background-image: url("/assets/img/icon/icon_chevron02.svg");
  background-repeat: no-repeat;
  position: absolute;
  transform: rotate(-90deg);
  top: 12px;
  left: 15px;
  height: 13px;
  width: 10px;
  background-size: contain;
  vertical-align: middle;
}
.c-buttonTop.is-visible {
  opacity: 1;
  visibility: visible;
}
.c-buttonTop:hover {
  background-color: #D8EBEE;
}
.c-button01 {
  background-color: #E88D6A;
  color: #fff;
  width: 270px;
  padding: 0;
}
.c-button02 {
  background-color: #fff;
  color: #585556;
}

.c-linkExternal01 {
  color: #9E9B9C;
  font-size: 11px;
  line-height: 1.63;
  text-decoration: underline;
  position: relative;
  transition: all 0.3s;
}
.c-linkExternal01:hover {
  color: #E88D6A;
}
.c-linkExternal01::after {
  content: url("/assets/img/icon/icon_link02.svg");
  width: 10px;
  height: 10px;
  position: absolute;
  right: -20px;
  top: 1px;
}
.c-linkExternal02 {
  position: relative;
}
.c-linkExternal02:after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 13px;
  background-image: url("/assets/img/icon/icon_link03.svg");
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.c-listNotice01__item, .c-listNotice02__item {
  position: relative;
  padding: 0 0 0 12px;
  color: #B2AFB0;
  font-size: 10px;
  line-height: 1.6;
}
.c-listNotice01__item:before, .c-listNotice02__item:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}
.c-listNotice02 {
  counter-reset: listnum;
}
.c-listNotice02__item {
  line-height: 2;
  padding: 0 0 0 18px;
  counter-increment: listnum;
  content: counter(listnum);
}
.c-listNotice02__item:before {
  content: "※" counter(listnum);
  position: absolute;
  left: 0;
  top: 0;
}

.c-text01, .c-text02 {
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.2em;
  line-height: 1.77;
  color: #585556;
  font-weight: 300;
}
.c-text02 {
  text-align: left;
}
.c-textNotice01 {
  color: #9E9B9C;
  font-size: 10px;
  letter-spacing: 0.05em;
  line-height: 2.2;
}

.c-title01 {
  font-family: "futura-pt", sans-serif;
  color: #E88D6A;
  font-size: 28px;
  font-weight: 300;
  letter-spacing: 0.29em;
  line-height: 1;
  margin: 0 auto 8px;
  text-align: center;
  text-transform: uppercase;
}
.c-title02 {
  font-family: "Noto Sans JP", serif;
  color: #9E9B9C;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.16em;
  margin: 0 auto 17px;
  text-align: center;
}

html {
  font-family: "Noto Sans JP", serif;
  font-weight: 400;
}

body.is-fixed {
  overflow-y: hidden;
}

p, h1, h2, h3, h4, h5, h6 {
  color: #585556;
  font-family: "Noto Sans JP", serif;
}

/* http://meyerweb.com/eric/tools/css/reset/
  v5.0.2 | 20191019
  License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
main, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
  display: block;
}

/* HTML5 hidden-attribute fix for newer browsers */
*[hidden] {
  display: none;
}

body {
  line-height: 1;
}

menu, ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a {
  text-decoration: none;
}

.l-footer {
  background-color: #FFFCFB;
  padding: 0 0 40px;
}
.l-footer__inner {
  max-width: 358px;
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.l-footer__list {
  margin: 0 auto 58px;
}
.l-footer__link {
  color: #978884;
  font-size: 11px;
  letter-spacing: 0.27em;
  font-weight: 300;
  line-height: 2.1;
  transition: all 0.3s;
}
.l-footer__link:hover {
  color: #E88D6A;
}
.l-footer__follow {
  color: #E88D6A;
  font-family: "futura-pt", sans-serif;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 400;
  margin: 0 auto 16px;
  text-align: center;
  letter-spacing: 0.29em;
}
.l-footer__sns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto 70px;
  gap: 0 15px;
}
.l-footer__sns-item {
  transition: all 0.3s;
}
.l-footer__sns-item:hover {
  opacity: 0.8;
}
.l-footer__sns-item:first-child {
  text-align: right;
}
.l-footer__sns-item img {
  width: 60px;
  height: 60px;
}
.l-footer__copy {
  font-family: "futura-pt", sans-serif;
  font-size: 10px;
  letter-spacing: 0.19em;
  text-align: center;
  color: #E88D6A;
}

.l-header {
  padding: 16px 0;
  position: fixed;
  width: 100%;
  display: flex;
  left: 50%;
  transform: translateX(-50%);
  z-index: 11;
}
.l-header__inner {
  padding: 0 16px;
  display: flex;
  justify-content: space-between;
  width: 100%;
  position: relative;
}
.l-header__logo {
  width: 153px;
}
@media screen and (min-width: 768px) {
  .l-header__logo.is-opacity {
    opacity: 0.2;
  }
}
.l-header__toggle {
  position: absolute;
  right: 16px;
  top: 0;
  cursor: pointer;
  width: 25px;
  height: 25px;
  z-index: 15;
}
.l-header__toggle span {
  cursor: pointer;
  display: block;
  width: 25px;
  height: 1px;
  background-color: #585556;
}
.l-header__toggle span:nth-child(2) {
  margin: 8px auto 0;
}
.l-header__toggle span:nth-child(3) {
  margin: 8px auto 0;
}
.l-header__toggle.is-active span:nth-child(1) {
  display: none;
}
.l-header__toggle.is-active span:nth-child(2) {
  transform: rotate(45deg);
  margin-top: 10px;
}
.l-header__toggle.is-active span:nth-child(3) {
  transform: rotate(-45deg);
  margin: 0;
}
.l-header-content {
  opacity: 0;
  visibility: hidden;
  width: 100%;
  height: 100%;
  z-index: 10;
  background-color: #fff;
  background-image: url("/assets/img/mv/bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  position: fixed;
  top: 0;
  left: 0;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .l-header-content {
    right: 0;
    width: 390px;
    left: unset;
  }
}
.l-header-content__inner {
  padding: 0 16px;
  width: 100%;
  overflow-y: scroll;
}
.l-header-content__list {
  margin: 100px auto 31px;
}
.l-header-content__item:not(:last-child) {
  border-bottom: 1px solid #F0F2F2;
}
.l-header-content__link {
  padding: 18px 18px 18px 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  position: relative;
}
.l-header-content__link-icon {
  width: 7px;
  position: absolute;
  right: 19px;
  top: 50%;
  transform: translateY(-50%);
}
.l-header-content__link-name {
  font-size: 25px;
  letter-spacing: 0.2em;
  color: #585556;
  font-weight: 300;
  line-height: 1.28;
  margin: 0 auto 1px;
  width: 100%;
  font-family: "futura-pt", sans-serif;
}
.l-header-content__link-name-ja {
  font-size: 12px;
  letter-spacing: 0.23em;
  color: #9E9B9C;
  line-height: 1.17;
}
.l-header-content__button {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 66px;
  font-size: 17px;
  background-color: #E88D6A;
  color: #fff;
  border-radius: 140px;
  letter-spacing: 0.29em;
  margin: 0 auto 57px;
  position: relative;
  bottom: unset;
  left: unset;
  transform: unset;
  z-index: unset;
  font-weight: 400;
}
.l-header-content__button:after {
  content: "";
  display: inline-block;
  width: 9px;
  height: 16px;
  background-image: url("/assets/img/icon/icon_chevron02.svg");
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  right: 26px;
  top: 50%;
  transform: translateY(-50%);
}
.l-header-content__other {
  margin: 0 auto 55px;
}
.l-header-content__other-title {
  color: #E88D6A;
  font-family: "futura-pt", sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.29em;
  margin: 0 auto 13px;
}
.l-header-content__other .other-item {
  background-color: #fff;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 94px;
  width: 100%;
  position: relative;
  transition: all 0.3s;
}
.l-header-content__other .other-item:hover {
  opacity: 0.8;
}
.l-header-content__other .other-item:first-child {
  margin: 0 auto 8px;
}
.l-header-content__other .other-banner:first-child {
  width: 173px;
}
.l-header-content__other .other-banner:last-child {
  width: 217px;
}
.l-header-content__other .other-icon {
  color: #E88D6A;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  width: 12px;
  height: 12px;
}
.l-header-content__sns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin: 0 auto 52px;
  gap: 0 15px;
}
.l-header-content__sns-item {
  transition: all 0.3s;
}
.l-header-content__sns-item:hover {
  opacity: 0.8;
}
.l-header-content__sns-item:first-child {
  text-align: right;
}
.l-header-content__sns-item img {
  width: 60px;
  height: 60px;
}
.l-header-content__follow {
  color: #E88D6A;
  font-family: "futura-pt", sans-serif;
  text-transform: uppercase;
  font-size: 14px;
  font-weight: 400;
  margin: 0 auto 16px;
  text-align: center;
  letter-spacing: 0.29em;
}
.l-header-content.is-visible {
  display: flex;
  opacity: 1;
  visibility: visible;
}

.l-top {
  margin: 0 auto;
  /* サービスの特徴 */
  /* 卵子凍結費用について */
  /* サービスの流れ */
  /* FAQ */
  /* お申し込み */
  /* EggUキット */
  /* OTHER SERVICE */
}
.l-top__main {
  margin: 0 auto;
}
.l-top__inner, .l-top .other__inner, .l-top .apply__inner, .l-top .faq__inner, .l-top .flow__inner, .l-top .price__inner, .l-top .about__inner, .l-top .mv__inner {
  max-width: 358px;
  width: 100%;
  margin: 0 auto;
  padding: 0 16px;
}
.l-top__overlay {
  display: none;
}
@media screen and (min-width: 768px) {
  .l-top__overlay.is-visible {
    display: block;
    background-color: rgba(0, 0, 0, 0.4);
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 2;
    transition: all 0.3s;
  }
}
.l-top .mv {
  padding: 55px 0 100px;
  background-color: #fff;
}
.l-top .mv__inner {
  position: relative;
}
.l-top .mv__index {
  display: flex;
  margin: 0 auto;
  position: absolute;
  right: 26px;
  top: 24px;
}
.l-top .mv__index01, .l-top .mv__index02 {
  color: #E88D6A;
  background-color: #fff;
  font-size: 18px;
  font-weight: 300;
  line-height: 2;
  letter-spacing: 0.29em;
  padding: 8px 0;
  width: 31px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
.l-top .mv__index02 {
  margin: 0 6px 0 0;
}
.l-top .mv__message {
  margin: 0 auto 36px;
}
.l-top .mv__img {
  height: 260px;
  border-radius: 10px;
  margin: 0 auto 47px;
  width: 100%;
  object-fit: cover;
  border-radius: 10px;
}
.l-top .mv__button {
  background-color: #E88D6A;
  border: 1px solid #E88D6A;
  text-align: center;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  position: absolute;
  right: 12px;
  bottom: -135px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  transition: all 0.3s;
}
.l-top .mv__button:hover {
  background-color: #FFFCFB;
}
.l-top .mv__button:hover .mv__buttonText {
  color: #E88D6A;
}
.l-top .mv__button:hover .mv__buttonCircle {
  background-color: #E88D6A;
}
.l-top .mv__buttonCircle {
  width: 8px;
  height: 8px;
  background-color: #fff;
  border-radius: 50%;
  position: absolute;
  top: 12%;
  left: 50%;
  transform: translateX(-50%);
}
.l-top .mv__buttonText {
  color: #fff;
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 1.33;
  width: 100%;
  margin: 10px auto 0;
}
.l-top .mv__scroll {
  position: relative;
}
.l-top .mv__scroll:before, .l-top .mv__scroll:after {
  content: "";
}
.l-top .mv__scroll:before {
  background-color: #E88D6A;
  width: 1px;
  height: 48px;
  position: absolute;
  left: 2px;
  bottom: -53px;
}
.l-top .mv__scroll:after {
  background-color: #E88D6A;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  position: absolute;
  left: 0;
  bottom: 0;
  opacity: 1;
  animation: scrollBar 2.5s infinite ease-in-out;
}
@keyframes scrollBar {
  0% {
    bottom: -10px;
  }
  100% {
    bottom: -55px;
  }
}
.l-top .mv__scrollText {
  color: #E88D6A;
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.l-top .about {
  padding: 80px 0 62px;
  background-color: #fff;
  background-image: url("/assets/img/about/bg01.png");
  background-repeat: no-repeat;
  background-size: cover;
}
@media screen and (min-width: 768px) {
  .l-top .about {
    background-image: url("/assets/img/about/bg02.png");
  }
}
.l-top .about__title02 {
  margin: 0 auto 60px;
}
.l-top .about__text {
  color: #585556;
  font-size: 13px;
  line-height: 2.07;
  text-align: center;
  letter-spacing: 0.1em;
  margin: 0 auto 40px;
  font-weight: 400;
}
.l-top .about__text02 {
  margin: 0 auto 40px;
}
.l-top .about__link {
  color: #585556;
  font-size: 13px;
  border-bottom: 1px solid #585556;
  transition: all 0.3s;
  position: relative;
}
.l-top .about__link:hover {
  opacity: 0.8;
}
.l-top .about__logo {
  background-color: #fff;
  margin: 0 auto 30px;
  border-radius: 10px;
  height: 110px;
  width: 210px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-top .about__logoImg {
  width: 174px;
}
.l-top .about__slider {
  margin: 0 auto 40px;
  max-width: 358px;
}
.l-top .about__slider .about-swiper {
  max-height: 226px;
  overflow: hidden;
}
.l-top .about__slider .about-swiper__slide {
  height: 226px;
  cursor: pointer;
}
.l-top .about__slider .about-swiper__img {
  max-width: 100%;
  width: 260px;
  margin: 0 auto 34px;
  border-radius: 4px;
  height: 152px;
  object-fit: cover;
}
.l-top .about__slider .about-swiper__text {
  font-size: 13px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.54;
}
.l-top .about__slider .swiper-pagination {
  top: unset;
  bottom: 55px;
}
.l-top .about__slider .swiper-pagination-bullet {
  width: 6px;
  height: 6px;
  background-color: #fff;
  background-color: #FEF6EF;
  opacity: 1;
}
.l-top .about__slider .swiper-pagination-bullet-active {
  background-color: #E88D6A;
}
.l-top .about .preparing {
  background-color: #fff;
  padding: 60px 6px 40px;
  margin: 60px auto 0;
}
.l-top .about .preparing__title {
  color: #E88D6A;
  font-size: 16px;
  letter-spacing: 0.2em;
  line-height: 1.62;
  text-align: center;
  font-weight: 400;
  margin: 0 auto 18px;
}
.l-top .about .preparing__titleEn {
  font-family: "futura-pt", sans-serif;
  color: #E88D6A;
  margin: 0 auto 18px;
  letter-spacing: 0.3em;
  font-size: 12px;
  text-align: center;
}
.l-top .about .preparing__text01 {
  margin: 0 auto 40px;
}
.l-top .about .preparing__img {
  width: 200px;
  text-align: center;
  display: block;
  margin: 0 auto 48px;
}
.l-top .about .preparing__list {
  display: grid;
  gap: 0 4px;
  grid-auto-flow: column;
  justify-content: center;
  margin: 0 auto 30px;
}
.l-top .about .preparing__listItem {
  border: 2px solid #F2D9C3;
  border-radius: 50%;
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #585556;
  text-align: center;
  font-weight: 300;
  line-height: 1.67;
}
.l-top .about .preparing__listItemText {
  font-size: 12px;
}
.l-top .about .preparing__listItemText span {
  font-size: 11px;
}
.l-top .about .preparing__button {
  margin: 0 auto 40px;
  transition: all 0.3s;
}
.l-top .about .preparing__button:hover {
  opacity: 0.8;
}
.l-top .about .preparing__button.c-linkExternal02:after {
  right: 34px;
}
.l-top .about .preparing__buttonText {
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  margin-right: 11px;
}
.l-top .service {
  background-color: #F8FAFA;
  padding: 80px 0;
}
.l-top .service .c-title02 {
  margin: 0 auto 60px;
}
.l-top .service__list {
  max-width: 358px;
  margin: 0 auto 40px;
}
.l-top .service__button {
  margin: 0 auto 70px;
  transition: all 0.3s;
}
.l-top .service__button:hover {
  opacity: 0.8;
}
.l-top .service__button.c-linkExternal02:after {
  right: 34px;
}
.l-top .service__buttonText {
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  font-size: 13px;
}
.l-top .service-swiper01 .swiper-slide, .l-top .service-swiper02 .swiper-slide, .l-top .service-swiper03 .swiper-slide {
  text-align: center;
  cursor: pointer;
}
.l-top .service-swiper01__img, .l-top .service-swiper02__img, .l-top .service-swiper03__img {
  width: 226px;
  height: 143px;
  margin: 0 auto 16px;
  object-fit: cover;
  border-radius: 4px;
}
.l-top .service-swiper01__img {
  margin: 0 auto 16px;
}
.l-top .service__index {
  color: #E88D6A;
  font-size: 15px;
  font-family: "futura-pt", sans-serif;
  font-weight: 300;
  line-height: 1.73;
  letter-spacing: 0.29em;
  margin: 0 auto 12px;
  text-align: center;
}
.l-top .service__text01 {
  margin: 0 auto 70px;
}
.l-top .service__text02 {
  margin: 0 auto 28px;
}
.l-top .service__recordList {
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  gap: 0 5px;
  margin: 0 auto 12px;
}
.l-top .service__recordImg {
  max-width: 100%;
}
.l-top .service__recordText {
  color: #585556;
  font-size: 11px;
  font-weight: 300;
  letter-spacing: 0.2em;
  text-align: center;
}
.l-top .price {
  padding: 80px 0;
  background-color: #FEF6EF;
  /* サービス料金 */
  /* 採卵から卵子凍結までの概算費用例 */
  /* 東京都の助成金について */
}
.l-top .price__index {
  color: #E88D6A;
  margin: 0 auto 16px;
  font-size: 17px;
  letter-spacing: 0.2em;
  line-height: 1.52;
  text-align: center;
  font-weight: 400;
}
.l-top .price__text, .l-top .price .price-grant__text, .l-top .price .price-service__text {
  font-size: 13px;
  color: #585556;
  letter-spacing: 0.1em;
  line-height: 2;
  font-weight: 300;
}
.l-top .price__text span, .l-top .price .price-grant__text span, .l-top .price .price-service__text span {
  color: #E88D6A;
  font-weight: 400;
  font-size: 14px;
}
.l-top .price__list {
  background-color: #fff;
  max-width: 100%;
  border-radius: 8px;
  margin: 0 auto 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #585556;
  padding: 0 18px;
  height: 39px;
}
.l-top .price__listTerm {
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 0.1em;
}
.l-top .price__listTerm span {
  font-size: 10px;
  letter-spacing: 0;
}
.l-top .price__listDescription {
  font-weight: 500;
  letter-spacing: 0.05em;
  font-size: 18px;
}
.l-top .price__listDescription span {
  font-size: 11px;
  font-weight: 300;
  margin: 0 0 0 6px;
}
.l-top .price__img {
  margin: 14px auto 60px;
  display: grid;
  gap: 0 7px;
  grid-auto-flow: column;
  align-items: center;
}
.l-top .price__imgHospital {
  background-color: #fff;
  font-size: 14px;
  color: #585556;
  letter-spacing: 0.31em;
  border-radius: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 102px;
  height: 55px;
}
.l-top .price__imgLogo {
  width: 219px;
}
.l-top .price .c-text02 {
  letter-spacing: 0.1em;
}
.l-top .price .price-service {
  margin: 0 auto 60px;
}
.l-top .price .price-service__text {
  margin: 0 auto 14px;
}
.l-top .price .price-example {
  margin: 0 auto 60px;
}
.l-top .price .price-example .example {
  background-color: #fff;
  border-radius: 10px;
  padding: 16px 12px;
  margin: 0 auto 8px;
}
.l-top .price .price-example .example__list {
  display: grid;
  grid-auto-flow: column;
  gap: 0 14px;
  margin: 0 auto 12px;
  grid-template-columns: 160px;
}
.l-top .price .price-example .example__listItem {
  background-color: #F5F5F5;
  border-radius: 10px;
  padding: 10px 12px;
}
.l-top .price .price-example .example__listItem:first-child .example__listItemText {
  margin: 0 auto 14px;
}
.l-top .price .price-example .example__listItem:first-child .example__listItemPrice span {
  text-align: right;
  display: block;
  margin: 3px auto 0;
}
.l-top .price .price-example .example__listItem:last-child .example__listItemText {
  margin: 0 auto 4px;
}
.l-top .price .price-example .example__listItem:last-child .example__listItemPrice {
  text-align: center;
}
.l-top .price .price-example .example__listItem:last-child .example__listItemPrice span {
  margin: 0 0 0 6px;
}
.l-top .price .price-example .example__listItemText {
  color: #585556;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 1.67;
}
.l-top .price .price-example .example__listItemText span {
  font-size: 10px;
  letter-spacing: 0;
}
.l-top .price .price-example .example__listItemPrice {
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.28;
  font-size: 14px;
}
.l-top .price .price-example .example__listItemPrice span {
  font-weight: 300;
  font-size: 10px;
  letter-spacing: 0;
}
.l-top .price .price-example .example__listItemImg {
  width: 100%;
}
.l-top .price .price-example .example__listItemEstimate {
  text-align: center;
  font-size: 13px;
  color: #585556;
  font-weight: 300;
  letter-spacing: 0.2em;
}
.l-top .price .price-example .example__listItemEstimateYen {
  font-size: 10px;
  letter-spacing: 0;
}
.l-top .price .price-example .example__listItemEstimatePrice {
  font-weight: 400;
  font-size: 19px;
  letter-spacing: 0.05em;
  margin: 0 4px;
}
.l-top .price .price-grant__text {
  margin: 0 auto 26px;
}
.l-top .price .price-grant__target {
  background-color: #fff;
  color: #585556;
  border-radius: 8px;
  margin: 0 auto 8px;
  height: 58px;
  max-width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
}
.l-top .price .price-grant__targetTerm {
  font-size: 15px;
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.73;
  font-weight: 400;
}
.l-top .price .price-grant__targetDescription {
  font-weight: 300;
  letter-spacing: 0.1em;
}
.l-top .price .price-grant__targetDescriptionText01 {
  font-size: 13px;
  margin: 0 auto 6px;
}
.l-top .price .price-grant__targetDescriptionText02 {
  font-size: 11px;
}
.l-top .flow {
  padding: 80px 0 117px;
  background-color: #fff;
}
.l-top .flow__item {
  background-color: #FAFAFA;
  border-radius: 16px;
  padding: 15px 42px 15px 12px;
  position: relative;
  cursor: pointer;
}
.l-top .flow__item:before, .l-top .flow__item:after {
  content: "";
  background-color: #E88D6A;
  position: absolute;
}
.l-top .flow__item:before {
  height: 18px;
  width: 1px;
  right: 29px;
  top: 17px;
}
.l-top .flow__item:after {
  width: 18px;
  height: 1px;
  right: 21px;
  top: 25px;
}
.l-top .flow__item:not(:last-child) {
  margin: 0 auto 12px;
}
.l-top .flow__item.is-show:before {
  display: none;
}
.l-top .flow__item.is-show .flow__boxText {
  display: block;
}
.l-top .flow__box {
  display: grid;
  grid-auto-flow: column;
  justify-content: flex-start;
}
.l-top .flow__boxNumber {
  background-color: #E88D6A;
  color: #fff;
  font-size: 18px;
  font-family: "futura-pt", sans-serif;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 11px 0 0;
}
.l-top .flow__boxIndex {
  color: #585556;
  font-size: 14px;
  letter-spacing: 0.21em;
  line-height: 1.71;
  font-weight: 400;
}
.l-top .flow__boxIndex span {
  font-size: 11px;
  display: block;
}
.l-top .flow__boxText {
  color: #585556;
  font-size: 12px;
  letter-spacing: 0.21em;
  line-height: 1.67;
  font-weight: 300;
  padding: 0 0 13px 38px;
  margin: 10px auto 0;
  display: none;
}
.l-top .flow__boxText:is-show {
  display: block;
}
.l-top .flow__img {
  display: block;
  text-align: center;
  margin: 0 auto 20px;
}
.l-top .faq {
  padding: 80px 0;
  background-color: #F7F7F7;
}
.l-top .faq__list {
  display: grid;
  gap: 8px 0;
}
.l-top .faq__item {
  position: relative;
  background-color: #fff;
  cursor: pointer;
  border-radius: 16px;
}
.l-top .faq__item:before, .l-top .faq__item:after {
  content: "";
  background-color: #E88D6A;
  position: absolute;
  z-index: 1;
}
.l-top .faq__item:before {
  height: 18px;
  width: 1px;
  right: 29px;
  top: 17px;
}
.l-top .faq__item:after {
  width: 18px;
  height: 1px;
  right: 21px;
  top: 25px;
}
.l-top .faq__item:not(:last-child) {
  margin: 0 auto 12px;
}
.l-top .faq__item.is-show:before {
  display: none;
}
.l-top .faq__item.is-show .faq__answer {
  display: grid;
  padding-bottom: 25px;
}
.l-top .faq__question {
  color: #585556;
  padding: 12px 18px 12px 12px;
  display: grid;
  grid-template-columns: 28px 1fr 21px;
  gap: 8px 12px;
  position: relative;
}
.l-top .faq__questionMark, .l-top .faq__answerMark {
  background-color: #E88D6A;
  color: #fff;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  font-family: "futura-pt", sans-serif;
}
.l-top .faq__questionQuestion {
  font-size: 14px;
  letter-spacing: 0.21em;
  color: #585556;
  line-height: 1.35;
  font-weight: 400;
}
.l-top .faq__answer {
  color: #585556;
  font-size: 12px;
  padding: 2px 48px 12px 12px;
  letter-spacing: 0.21em;
  line-height: 1.67;
  font-weight: 300;
  display: none;
  grid-template-columns: 28px 1fr;
  gap: 8px 12px;
}
.l-top .faq__answerMark {
  background-color: #D8EBEE;
}
.l-top .faq__answerText {
  font-size: 12px;
  letter-spacing: 0.21em;
  line-height: 1.54;
  font-weight: 300;
}
.l-top .faq__answerItem {
  font-size: 12px;
  letter-spacing: 0.21em;
  line-height: 1.54;
  font-weight: 300;
}
.l-top .faq .c-button01 {
  margin: 32px auto 0;
  transition: all 0.3s;
  border: 1px solid #E88D6A;
}
.l-top .faq .c-button01:hover {
  background-color: #fff;
  color: #E88D6A;
}
.l-top .apply {
  padding: 80px 0 30px;
}
.l-top .apply__flow {
  margin: 29px auto 36px;
}
.l-top .apply__flowItem {
  background-color: #FAFAFA;
  border-radius: 16px;
  padding: 12px 11px;
  display: grid;
  grid-auto-flow: column;
  justify-content: flex-start;
  gap: 0 12px;
}
.l-top .apply__flowItem:not(:last-child) {
  margin: 0 auto 16px;
}
.l-top .apply__flowItem:last-child {
  margin: 0 auto 36px;
}
.l-top .apply__flowItemNumber {
  background-color: #E88D6A;
  color: #fff;
  font-size: 18px;
  font-family: "futura-pt", sans-serif;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.l-top .apply__flowItemText {
  color: #585556;
  font-size: 14px;
  letter-spacing: 0.21em;
  line-height: 1.71;
  font-weight: 400;
}
.l-top .apply__button {
  margin: 0 auto 30px;
}
.l-top .apply__buttonText {
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  font-size: 13px;
}
.l-top .eggu-kit {
  margin: 0 32px;
  padding: 0 0 80px;
  background-color: #fff;
}
.l-top .eggu-kit__content {
  max-width: 358px;
  padding: 50px 0;
  margin: 0 auto;
  background-color: #F9F9F9;
  border-radius: 4px;
}
.l-top .eggu-kit__inner {
  margin: 0 auto;
  padding: 0 16px;
}
.l-top .eggu-kit__title {
  color: #E88D6A;
  text-transform: uppercase;
  font-size: 32px;
  letter-spacing: 0.3em;
  margin: 0 auto 15px;
  font-family: "futura-pt", sans-serif;
  font-weight: 300;
  text-align: center;
}
.l-top .eggu-kit__text01 {
  color: #585556;
  font-size: 12px;
  text-align: center;
  font-weight: 300;
  letter-spacing: 0.2em;
  margin: 0 auto 37px;
}
.l-top .eggu-kit__text02 {
  color: #E88D6A;
  text-align: center;
  font-size: 17px;
  letter-spacing: 0.2em;
  line-height: 1.88;
  margin: 0 auto 7px;
  font-weight: 400;
}
.l-top .eggu-kit__text03 {
  color: #585556;
  font-size: 12px;
  font-weight: 300;
  letter-spacing: 0.1em;
  line-height: 2;
  margin: 0 auto 34px;
  text-align: center;
}
.l-top .eggu-kit__img {
  margin: 0 auto 16px;
  display: block;
  text-align: center;
  width: 166px;
}
.l-top .eggu-kit__button.c-linkExternal02:after {
  right: 50px;
}
.l-top .eggu-kit__buttonText {
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #fff;
  font-size: 13px;
  margin-right: 8px;
}
.l-top .other {
  padding: 46px 0 54px;
  background-color: #FFFCFB;
}
.l-top .other__title {
  color: #E88D6A;
  font-family: "futura-pt", sans-serif;
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.29em;
  margin: 0 auto 13px;
}
.l-top .other__item {
  background-color: #fff;
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 94px;
  width: 100%;
  position: relative;
  transition: all 0.3s;
}
.l-top .other__item:hover {
  opacity: 0.8;
}
.l-top .other__item:first-child {
  margin: 0 auto 8px;
}
.l-top .other__banner:first-child {
  width: 173px;
}
.l-top .other__banner:last-child {
  width: 217px;
}
.l-top .other__icon {
  color: #E88D6A;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 12px;
  width: 12px;
  height: 12px;
}
.l-top .follow-us {
  padding: 0 0 23px;
  background-color: #FFFCFB;
}
.l-top .follow-us__title {
  text-align: center;
  margin: 0 auto 16px;
  font-family: "futura-pt", sans-serif;
  font-size: 14px;
  color: #E88D6A;
  font-weight: 300;
  letter-spacing: 0.29em;
}
.l-top .follow-us__list {
  display: grid;
  gap: 0 15px;
  grid-auto-flow: column;
  justify-content: center;
  margin: 0 auto 69px;
}
.l-top .follow-us__copy {
  text-align: center;
  font-family: "futura-pt", sans-serif;
  font-size: 10px;
  color: #E88D6A;
  font-weight: 300;
  letter-spacing: 0.19em;
}