@charset "UTF-8";
/* CSS Document */

.top_main {
  background-image: url(/company/assets/images/mv-bg_sp.webp);
  background-size: cover;
  background-repeat: no-repeat;
  aspect-ratio: 375/466;
  padding: 5vw;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  margin-top: min(10vw,10rem);
}
.top_main-title {
  width: min(100vw, 74.5rem);
  margin-bottom: auto;
}
.top_main-circle {
  width: min(100vw,68rem);
}
@media screen and (min-width:768px) {
  .top_main {
    background-image: url(/company/assets/images/mv-bg_pc.webp);
    aspect-ratio: 1440/870;
    justify-content: flex-end;
    align-items: flex-start;
    margin-top: 0;
  }
  .top_main-title {
    margin-bottom: 1.5vw;
    width: 50vw;
  }
  .top_main-circle {
    width: 50vw;
  }
}
  
.top_about {
  background-color: var(--color_glass);
  padding: min(10vw, 10rem) min(5vw, 5rem);
}
.top_about .section-inner {
  background-color: white;
  border: 5px solid var(--color_green);
  border-radius: 1.6rem;
  padding: min(5vw, 5rem);
  text-align: center;
}
.top_about-sub {
  background: var(--gradient1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  font-size: min(4vw, 2rem);
  line-height: 1.4;
  text-align: center;
}
.top_about-title {
  background: var(--gradient2);
  display: inline-block;
  margin: 1.2rem auto 2.2rem;
}
.top_about-title span {
  display: table-cell;
  border-left: 2.5px solid white;
  border-right: 2.5px solid white;
  color: white;
  aspect-ratio: 1 / 1;
  font-size: min(7vw, 4.5rem);
  width: min(5vw, 5rem);
  height: min(5vw, 5rem);
  line-height: 1;
  padding: .25rem .5rem .5rem;
}
.top_about-wrap {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: center;
  gap: min(5vw, 5rem);
}
.top_about-comment {
  background-color: #5B5B5B;
  display: inline-block;
  padding: min(1vw, 1rem) min(3vw, 3rem);
  border-radius: 5rem;
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  color: white;
  font-weight: 700;
  font-size: min(4.4vw, 2.2rem);
  transform: translateY(.3rem);
}
.top_about-comment span {
  color: #FFF10E;
  font-weight: 800;
}
.top_about-comment b {
  font-size: min(6vw, 3.5rem);
  display: inline-block;
  line-height: 1;
}
.top_about-comment::after {
  content:'';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%)translateY(95%);
  width: 1.6rem;
  border-top: 1rem solid #5B5B5B;
  border-left: .8rem solid transparent;
  border-right: .8rem solid transparent;
}
.top_about-movie {
  box-shadow: 0px 0px 17.6px #11111129;
  padding: min(3vw, 1.8rem);
  background-color: #D9F5ED;
  border-radius: 1.3rem;
  position: relative;
  z-index: 0;
}
.top_about-movie iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  display: block;
}
.top_about-catch {
  text-align: left;
  margin-bottom: 3rem;
  line-height: 1;
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 1rem;
}
.top_about-catch b {
  background: var(--gradient2);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(6vw, 3rem);
  font-weight: 800;
  line-height: 1;
}
.top_about-catch span {
  position: relative;
  width: min(4vw, 4rem);
  height: min(4vw, 4rem);
  display: inline-block;
}
.top_about-catch span::before, 
.top_about-catch span::after {
  content: '';
  position: absolute;
  left: -15%;
  top: 50%;
  width: min(5.5vw, 5.5rem);
  border-top: 1px solid gray;
}
.top_about-catch span::before {
  transform: rotate(45deg);
}
.top_about-catch span::after {
  transform: rotate(-45deg);
}
.top_about-text {
  text-align: left;
  font-size: min(3.6vw,1.8rem);
  line-height: 2;
}
.top_about-text b {
  color: var(--color_moss);
  font-weight: 900;
}
@media screen and (min-width:768px) {
  .top_about-catch {
    flex-direction: row;
  }
  
}
@media screen and (min-width:992px) {
  .top_about-wrap {
    flex-direction: row;
  }
  .top_about-inner {
    width: calc((100% - 5rem)/2);
  }
  
}

.top_worries {
  background-image: url(/company/assets/images/worries-bg.webp);
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
  z-index: 1;
  padding: min(15vw, 12rem) min(5vw, 5rem) min(25vw,12rem);
}
.top_worries-title {
  text-align: center;
  color: white;
  font-size: min(6vw, 3rem);
  font-weight: 700;
  line-height: 1.4;
}
.top_worries-list {
  margin: min(4vw, 2rem) auto;
}
.top_worries-list li {
  background-color: #F4F9FA;
  padding: min(1vw, 1rem);
  text-align: center;
  color: var(--color_steal);
  font-size: min(4vw, 2rem);
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: min(2vw, 1rem);
  border-radius: 1.2rem;
}
.top_worries-text {
  text-align: center;
  color: white;
  font-size: min(4vw, 2rem);
  font-weight: 700;
  line-height: 1.8;
}
.top_worries-text b {
  color: var(--color_yellow);
  font-size: min(6vw, 3rem);
  font-weight: 900;
  line-height: 1.4;
}

.top_hope {
  background-color: #F7FFE1;
  position: relative;
  z-index: 2;
}
.top_hope .section-inner {
  padding: 0 min(5vw, 5rem) 12rem;
  text-align: center;
}
.top_hope-comment {
  width: 90%;
  max-width: 95rem;
  margin: 0 auto;
  background-color: white;
  box-shadow: 0px 10px 20px #79A3001A;
  padding: min(1.6vw, 1.6rem) min(3vw, 3rem);
  border-radius: 10rem;
  position: relative;
  transform: translateY(-6rem);
  text-align: center;
}
.top_hope-comment span {
  font-size: min(6vw, 2.8rem);
  font-weight: 900;
  background: var(--gradient3);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}
.top_hope-comment::before {
  content:'';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: min(20vw, 12rem);
  transform: translateX(-50%) translateY(95%);
  border-top: min(5vw, 3rem) solid white;
  border-left: min(10vw, 6rem) solid transparent;
  border-right: min(10vw, 6rem) solid transparent;
}
.top_hope-sub {
  text-align: center;
  font-size: min(4vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  color: var(--color_darkgreen);
}
.top_hope-title {
  display: inline-block;
  background-color: var(--color_darkgreen);
  padding: .5rem;
  line-height: 1.2;
  font-size: min(7vw, 3.6rem);
  color: white;
  border-radius: .5rem;
  text-align: center;
  margin: 1rem auto 2rem;
  font-weight: 900;
}
.top_hope-title span {
  color: var(--color_yellow);
}
.top_hope-text {
  font-size: min(3.6vw,1.8rem);
  line-height: 1.8;
  margin-bottom: 1.5rem;
}
.top_hope-text b {
  font-weight: 900;
}
.top_hope-text b.red {
  color: #FF2626;
}
.top_hope-lead {
  font-size: min(5.2vw,2.6rem);
  line-height:1.6;
  margin: 3rem auto 0;
  text-align: center;
  font-weight: 700;
}
.top_hope-lead b {
  color: var(--color_darkgreen);
}
.top_hope-lead span {
  color: var(--color_darkgreen);
  font-size: min(8vw, 4rem);
}
@media screen and (max-width:767px) {
  .top_hope-title {
    padding-left: 1rem;
  }
  .top_hope-comment span {
    font-size: calc(32vw / 768 * 100);
  }
}

.top_value {
  background: linear-gradient(0deg, transparent 61%, #F7FFE1 60%);
  position: relative;
  z-index: 3;
}
.top_value::before, 
.top_value::after {
  content:'';
  width: 100vw;
  height: 110%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: #EDFEBE;
  z-index: 0;
}
.top_value::before {
  left: 0;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
.top_value::after {
  right: 0;
  clip-path: polygon(0% 50%, 100% 0%, 100% 100%);
}
.top_value-wrapper {
  width: 90%;
  max-width: 132rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  background-color: white;
  border-radius: min(5vw, 5rem);
  box-shadow: 0px 20px 30px #79A3001A;
  padding: 0 min(5vw, 5rem);
  padding-bottom: min(25vw,25rem);
}
.top_value-title {
  text-align: center;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  font-weight: 700;
  font-size: min(8vw, 4rem);
  line-height: 1;
  transform: translateY(-60%);
  -webkit-text-stroke: 1rem white;
  text-stroke: 1rem white;
  paint-order: stroke;
}
.top_value-title span {
  color: var(--color_darkgreen);
  font-weight: 800;
}
.top_value-title b {
  font-size: min(14vw, 7rem);
  display: inline-block;
  line-height: 1;
}
.top_value-wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  position: relative;
  z-index: 0;
  column-gap: 2rem;
  row-gap: 3rem;
}
.top_value-inner {
  width: 100%;
  background: var(--gradient3);
  border-radius: min(4vw, 2rem);
  padding: 1rem;
  position: relative;
}
.top_value-inner h3 {
  color: white;
  font-size: min(5.6vw, 2.8rem);
  text-align: center;
  font-weight: 900;
  margin: .5rem auto 1rem;
}
.top_value-inner p {
  background-color: white;
  border-radius: 1rem;
  padding: 1.5rem 1rem;
  text-align: center;
  font-size: min(3.2vw,1.3rem);
  line-height: 1.8;
  font-weight: 700;
}
.top_value-inner span {
  color: var(--color_darkgreen);
  position: absolute;
  top: -1.5rem;
  left: 1.5rem;
  -webkit-text-stroke: .8rem white;
  text-stroke: .8rem white;
  paint-order: stroke;
  font-size: min(6vw, 3rem);
  font-weight: 700;
  line-height: 1;
}
.top_value-illust {
  position: absolute;
  right: -1rem;
  bottom: -1rem;
  z-index: 1;
  width: min(40vw,39.8rem);
  aspect-ratio: 298/235;
}
@media screen and (min-width:768px) {
  .top_value::before, .top_value::after {
    width: 50vw;
    height: 160%;
  }
  .top_value-inner {
    width: calc((100% - 2rem) /2);
  }
  .top_value-wrapper {
    padding-bottom: min(5vw, 5rem);
  }
  .top_value-illust {
    width: min(24vw,29.8rem);
  }
}
@media screen and (min-width:992px) {
  .top_value-inner {
    width: calc((100% - 4rem) /3);
  }
}

.top_points {
  position: relative;
  z-index: 0;
  padding: min(10vw, 10rem) min(5vw, 5rem) 0;
  text-align: center;
}
.top_points-title {
  background: var(--gradient2);
  display: inline-block;
  margin: 1.2rem auto 2.2rem;
}
.top_points-title span {
  display: table-cell;
  border-left: 2.5px solid white;
  border-right: 2.5px solid white;
  color: white;
  aspect-ratio: 1 / 1;
  font-size: min(7vw, 4.5rem);
  width: min(5vw, 5rem);
  height: min(5vw, 5rem);
  line-height: 1;
  padding: .25rem .5rem .5rem;
}
.top_points-table {
  border: 3px solid var(--color_green);
  border-radius: 1rem;
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}
.top_points-table dt {
  width: min(25%, 17.5rem);
  background-color: var(--color_moss);
  color: white;
  padding: min(3vw,3rem) min(2vw,2rem);
  text-align: center;
  font-size: min(3.8vw,1.6rem);
  font-weight: 700;
}
.top_points-table dd {
  width: calc(100% - min(25%, 17.5rem));
  text-align: left;
  font-size: min(3.8vw,1.6rem);
  line-height: 1.6;
  font-weight: 500;
  padding: min(2vw,2rem) min(3vw,3rem);
}
.top_points-table dt:not(:last-of-type), 
.top_points-table dd:not(:last-of-type) {
  border-bottom: 1px solid #C0C3C1;
}
.top_points-table .big {
  color: var(--color_moss);
  font-size: min(4.4vw,2.2rem);
  font-weight: 700;
}
.top_points-table .active {
  color: #FF5900;
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: .5rem;
}
.top_points-table .btn {
  /* min-width: 25rem; */
  text-align: center;
  font-size: min(3.2vw,1.6rem);
}
.top_points-table .list {
  display: block;
  position: relative;
  padding-left: 2rem;
  font-size: min(3.2vw, 1.6rem);
}
.top_points-table .list::before {
  content:'・';
  font-weight: 900;
  position: absolute;
  left: 0;
  top: 0;
}
.top_points-table small {
  font-size: min(2.6vw,1.3rem);
  line-height: 1.6;
  display: inline-block;
}
.top_points-entry {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
.top_points-btns {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.top_points-entry small {
  width: 100%;
  display: block;
  margin-top: 1rem;
}
@media screen and (min-width:768px) {
  .top_points-table .active {
    margin-right: 1.5rem;
  }
  .top_points-table .btn {
    min-width: unset;
  }
}

.top_flow {
  padding: min(10vw,10rem) min(5vw,5rem);
  text-align: center;
}
.top_flow-title {
  text-align: center;
  margin: 0 auto min(5vw, 5rem);
  font-size: min(8vw,4rem);
  font-weight: 800;
  line-height: 1.4;
}
.top_flow-title img {
  display: block;
  margin: 0 auto;
  width: 30rem;
  aspect-ratio: 288.47/39.54;
}
.top_flow-wrapper {
  width: 100%;
  max-width: 132rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  gap: 4rem;
}
.top_flow-inner {
  border: 3px solid var(--color_green);
  border-radius: 1rem;
  padding: min(4vw, 2rem);
  position: relative;
}
.top_flow-inner:not(:last-child)::after {
  content:'';
  width: min(6.4vw, 3.2rem);
  height: min(3.2vw, 1.8rem);
  border-top: min(3.2vw, 1.8rem) solid #82C426;
  border-left: min(3.2vw, 1.8rem) solid transparent;
  border-right: min(3.2vw, 1.8rem) solid transparent;
  position: absolute;
}
.top_flow-num {
  position: absolute;
  top: -1.5rem;
  left: -1.5rem;
  width: min(14vw,7rem);
  height: min(14vw,7rem);
  aspect-ratio: 1/1;
  color: white;
  background: linear-gradient(141.11deg, #6AC819 16.01%, #10B35C 82.48%);
  border-radius: 10rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: var(--font_eng);
  font-size: min(3.2vw,2.2rem);
  font-weight: 500;
  line-height: 1;
}
.top_flow-num b {
  font-size: min(3.6vw,2.6rem);
  line-height: min(3.2vw,2.2rem);
}
.top_flow-num::after {
  content:'';
  width: 10px;
  height: 10px;
  border-top: 16px solid #10B35C;
  border-left: 8px solid transparent;
  border-right: 8px solid transparent;
  position: absolute;
  right: -7px;
  bottom: 10px;
  transform: rotate(-60deg);
}
.top_flow-step {
  text-align: center;
  color: var(--color_darkgreen);
  font-size: min(5.6vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  margin: min(5vw,5rem) auto min(2vw,2rem);
}
.top_flow-inner img {
  width: 90%;
  max-width: 24.2rem;
  aspect-ratio: 242/149;
  display: block;
  margin: 0 auto;
}
.top_flow-text p {
  font-size: min(3.2vw,1.6rem);
  font-weight: 500;
  line-height: 1.8;
  text-align: left;
  margin: 1.5rem auto;
}
.top_flow-text .phone {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-family: var(--font_eng);
  font-size: min(4.8vw,2.4rem);
  line-height: 1;
  font-weight: 600;
  margin-top: 2rem;
}
.top_flow-text .phone i {
  color: white;
  background: var(--gradient3);
  display: inline-flex;
  justify-content: center;
  align-items: center;
  font-size: 1.2rem;
  width: min(4.8vw, 2.4rem);
  height: min(4.8vw, 2.4rem);
  border-radius: 3rem;
  margin-right: .5rem;
}
.top_flow-text b {
  color: var(--color_darkgreen);
}

@media screen and (max-width:991px) {
  .top_flow-inner:not(:last-child)::after {
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)translateY(calc(100% + 1.5rem));
  }
  .top_points-table .active {
    margin-bottom: 0;
    margin-right: 1.5rem;
  }
}
@media screen and (min-width:992px) {
  .top_flow-wrapper {
    flex-direction: row;
  }
  .top_flow-inner {
    width: calc((100% - 8rem)/3);
  }
  .top_flow-inner:not(:last-child)::after {
    top: 50%;
  right: 0;
  transform: rotate(-90deg) translateX(-50%) translateY(calc(100% + 1.5rem));
  transform-origin: top;
  }
}

.top_faq {
  padding: min(10vw,10rem) min(5vw,5rem);
  background-color: var(--color_glass);
}
.top_faq-title {
  background: var(--gradient1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(7vw, 4rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: min(5vw, 5rem);
}
.top_faq-link {
  color: var(--color_dark);
  text-decoration: none;
  display: block;
  text-align: right;
  font-size: 1.6rem;
  font-weight: 700;
}
.top_faq-link .bi {
  margin-left: 1.5rem;
  color: var(--color_dark);
}
.top_faq-link:hover {
  color: ;
}
.faq-list {
  padding: 0;
  list-style: none;
  margin-bottom: min(5vw,5rem);
}
.faq-list li {
  margin-bottom: min(3vw, 3rem);
}
.faq-title {
  color: var(--color_darkgreen);
  font-size: min(4.5vw,2rem);
  font-weight: 700;
  line-height: 1.4;
  position: relative;
  padding: 1rem;
  padding-left: 4.5rem;
  border-bottom: 2px solid #09A552;
}
.faq-text {
  position: relative;
  padding: 1rem;
  padding-left: 4.5rem;
}
.faq-title::before, 
.faq-text::before {
  position: absolute;
  left: 1rem;
  font-family: var(--font_eng);
  font-weight: 500;
  font-size: 2rem;
  width: 2.6rem;
  height: 2.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.faq-title::before {
  top: 50%;
  transform: translateY(-50%);
  content:'Q';
  color: white;
  background: var(--gradient3);
  border-radius: 5rem;
}
.faq-text::before {
  position: absolute;
  top: 1rem;
  content:'A';
  color: #09A552;
}

.top_news {
  padding: min(10vw,10rem) min(5vw,5rem);
}
.top_news-title {
  background: var(--gradient1);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: min(7vw, 4rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  margin-bottom: min(5vw,5rem);
}
.top_news-list {
  height: 20rem;
  overflow-y: scroll;
  padding: 0;
  list-style: none;
  padding-right: 1rem;
}
.top_news-list::-webkit-scrollbar {
  display: block;
  width: 10px;
  background-color: #F2F2F2;
  border-radius: 10px;
}
.top_news-list::-webkit-scrollbar-thumb {
  background-color: #797979;
  border-radius: 10px;
}
.top_news-list li {
  background-color: #F4F9FA;
  padding: 1.5rem 2rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: min(2vw,2rem);
  margin-bottom: 1rem;
}
.top_news-list li span {
  color: #69B68D;
  font-family: var(--font_eng);
  font-size: min(3.2vw, 1.6rem);
  font-weight: 600;
}
.top_news-list li a {
  display: block;
  text-decoration: underline;
}
@media screen and (min-width:768px) {
  .top_news-list li span {
    width: min(100%,10rem);
  }
  .top_news-list li p {
    width: calc(100% - min(100%,12rem));
  }
}