@charset "utf-8";

:root {
  --main: #00AAB0;
  --text: #2D2E2E;
  --white: #fff;
  --black: #000;
  --yellow: #FAEB55;
  --red: #E50012;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  color: var(--text);
}

img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

a {
  display: block;
  color: var(--text);
}

.for-pc {
  display: block;
}

.for-sp {
  display: none;
}

@media screen and (max-width: 700px) {
  .for-pc {
    display: none;
  }

  .for-sp {
    display: block;
  }
}


.pageContainer {
  display: grid;
  grid-template-columns: minmax(0, 20.125rem) 1fr;
  position: relative;
  z-index: 10;
}

.pageBg {
  position: fixed;
  top: 0;
  right: 0;
  background-image: linear-gradient( to bottom, rgba(250, 235, 85, 0) 13.82%, rgba(131, 228, 126, 0.42) 48.61%, rgba(0, 170, 176, 0.42) 86.18%);
  width: calc(100vw - 20.125rem);
  height: 100vh;
  z-index: 1;
}

@media screen and (max-width: 700px) {
  .pageContainer {
    grid-template-columns: 1fr;
  }

  .pageBg {
    display: none;
  }
}

/* ========================
  aside
======================== */
.asideSpacer {
  height: 100dvh;
}

.asideArea {
  position: fixed;
  top: 0;
  left: 0;
  background-color: var(--white);
  background-image: url(/assets/images/img-aside-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  overflow: auto;
  line-height: 1.9;
  width: 20.125rem;
  height: 100dvh;
  z-index: 1;
}

.asideLogo {
  margin: 3.0625rem auto 0;
  width: 14.8125rem;
  height: 13.5625rem;
}

.asideLogo--sp {
  margin: 0 auto;
  width: 17.15625rem;
}

/* accord */
.js-accordHeading {
  position: relative;
  padding: 0;
  width: 100%;
}

.js-accordHeading::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.96125rem;
  transform: translateY(-50%);
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-accord.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transition: 0.3s ease-in-out;
  width: 1.375rem;
  height: 1.375rem;
}

.js-accordItem.open .js-accordHeading::after {
  transform: translateY(-50%) rotate(180deg);
}

.js-accordBody {
  overflow: hidden;
  transition: max-height 0.3s ease-out;
  max-height: 0;
}

.asideNav__list {
  padding-inline: 1.125rem;
  margin: 5rem auto 0;
}

.asideNav__list--sp {
  padding-inline: 2.708125rem;
  margin: 1.874375rem auto 0;
}

.asideNav__listItem {
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 700;
  gap: 0.5rem;
}

.asideNav__listItem:first-of-type {
  padding-left: 0.9rem;
}

.asideNav__listItem::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.8125rem;
  height: 0.8125rem;
}

.asideNav__listItem--sp {
  display: flex;
  align-items: center;
  font-size: 1.125rem;
  font-weight: 700;
  gap: 0.5rem;
}

.asideNav__listItem--sp::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.8125rem;
  height: 0.8125rem;
}

.asideNav__accord {
  display: block;
  margin-top: 0.5rem;
}

.asideNav__accord:nth-of-type(odd){
  margin-top: 1.1875rem;
}

.asideNav__accord::before {
  content: unset;
}

.asideNav__accord--sp {
  display: block;
  margin-top: 1.1875rem;
}

.asideNav__accord--sp::before {
  content: unset;
}

.asideNav__accordTitle {
  position: relative;
  display: flex;
  align-items: center;
  font-feature-settings: "palt";
  border-radius: 0.9375rem 0.9375rem 0 0;
  height: 3.6725rem;
}

.asideNav__accordTitle--sp {
  position: relative;
  display: flex;
  align-items: center;
  font-feature-settings: "palt";
  border-radius: 0.9375rem 0.9375rem 0 0;
  height: 3.6725rem;
}

.asideNav__accordTitleGeneral,
.asideNav__accordTitleGeneral--sp {
  background-color: #D5EDF2;
}

.asideNav__accordTitleConsulting,
.asideNav__accordTitleConsulting--sp {
  background-color: #FEF6CD;
}

.asideNav__accordImg {
  position: absolute;
  bottom: 0;
  left: 0.375rem;
}

.asideNav__accordImg--sp {
  position: absolute;
  bottom: 0;
  left: 0.375rem;
}

.asideNav__accordText,
.asideNav__accordText--sp {
  font-size: 0.64875rem;
  font-weight: 400;
  color: var(--black);
  line-height: 1.4;
  text-align: start;
  padding: 0.64875rem 0 0.27375rem 4.21125rem;
}

.asideNav__accordText--green {
  font-weight: 700;
  color: var(--main);
}

.asideNav__accordTitleGeneral .asideNav__accordText--green,
.asideNav__accordTitleGeneral--sp .asideNav__accordText--green {
  font-size: 1.295rem;
}

.asideNav__accordTitleConsulting .asideNav__accordText--green,
.asideNav__accordTitleConsulting--sp .asideNav__accordText--green {
  font-size: 1.1075rem;
}

.asideNav__accordText--large {
  font-weight: 700;
}

.asideNav__accordTitleGeneral .asideNav__accordText--large  {
  font-size: 0.838125rem;
}

.asideNav__accordTitleGeneral--sp .asideNav__accordText--large  {
  font-size: 0.838125rem;
}

.asideNav__accordTitleConsulting .asideNav__accordText--large  {
  font-size: 0.75rem;
}

.asideNav__accordTitleConsulting--sp .asideNav__accordText--large  {
  font-size: 0.75rem;
}

.asideNav__accordList,
.asideNav__accordList--sp {
  background-color: var(--white);
  padding: 1.08625rem 0.8125rem;
}

.asideNav__accordListItem,
.asideNav__accordListItem--sp {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 500;
  gap: 0.5rem;
}

.asideNav__accordListItem::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.8125rem;
  height: 0.8125rem;
}

.asideNav__accordListItem--sp::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.8125rem;
  height: 0.8125rem;
}

.asideNav__mail,
.asideNav__mail--sp {
  position: relative;
  background-color: var(--white);
  border-radius: 0.5625rem;
  box-shadow: 0 0.625rem 0.625rem -0.375rem rgba(0, 0, 0, 0.3);
  margin-top: 1.606875rem;
}

.asideNav__mail a,
.asideNav__mail--sp a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6875rem 0 0.581875rem 1rem;
}

.asideNav__mail::before,
.asideNav__mail--sp::before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.asideNav__mail::before {
  right: 0.5rem;
}

.asideNav__mail--sp::before {
  right: 0.625rem;
}

.asideNav__mailText,
.asideNav__mailText--sp {
  font-size: 1.1rem;
}

.headerNav {
  margin-block: 1.480625rem 0.6875rem;
}

.headerNav--sp {
  padding-bottom: 10rem;
  margin-block: 1.480625rem 0.6875rem;
}


.headerNav__list,
.headerNav__list--sp {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.8125rem;
  line-height: 1;
  gap: 0.5rem;
  padding-top: 0.3rem;
}

.headerNav__listItem:nth-of-type(odd),
.headerNav__listItem--sp:nth-of-type(odd) {
  border-right: 1px solid var(--black);
  padding-right: 0.5rem;
}

@media screen and (max-width: 700px) {
  .asideSpacer {
    display: none;
  }

  .asideArea {
    /* display: none; */
  }
}

/* hamburger */
@media screen and (max-width: 700px) {
  .hamburgerNav {
    position: fixed;
    top: -100%;
    right: 0;
    transition: 0.4s ease-out;
    opacity: 0;
  }

  .hamburgerNav.active {
    top: 0;
    line-height: 1.9;
    background-image: url(/assets/images/img-menu-sp01.png), url(/assets/images/img-menu-sp02.png);
    background-repeat: no-repeat, no-repeat;
    background-position: bottom, top;
    background-size: 100% 100%, cover;
    opacity: 1;
    overflow: scroll;
    padding-top: 3.4375rem;
    margin: 0 auto;
    width: 100%;
    height: 100dvh;
    z-index: 1000;
  }

  .hamburger {
    position: fixed;
    top: 0;
    right: 0;
    cursor: pointer;
    z-index: 2000;
    margin: 1.5rem;
  }

  .hamburger span {
    position: relative;
    display: block;
    width: 1.5rem;
    height: 1px;
    background: var(--black);
    margin: 0.5rem 0;
    transition: 0.3s ease-in-out;
  }

  .hamburger span::before,
  .hamburger span::after {
    content: "";
    position: absolute;
    display: block;
    background: var(--black);
    transition: 0.3s ease-in-out;
    width: 1.5rem;
    height: 1px;
  }

  .hamburger span::before {
    top: -0.5rem;
  }

  .hamburger span::after {
    top: 0.5rem;
  }

  .hamburger.active span {
    background-color: transparent;
  }

  .hamburger.active span::before {
    top: 50%;
    transform: rotate(45deg) translateY(-50%);
  }

  .hamburger.active span::after {
    top: 50%;
    transform: rotate(-45deg) translateY(-50%);
  }
}


/* ========================
  section
======================== */
.content {
  position: relative;
  background: #fff;
  margin: 0 auto;
  width: 23.4375rem;
  z-index: 5;
}

section {
  padding-inline: 1rem;
}

.section__titleGroup {
  position: relative;
  text-align: center;
  padding-block: 1.2rem 0.841875rem;
  margin: 0 auto;
  width: 15.67875rem;
}

.section__title--en {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.53rem;
  font-weight: 700;
  opacity: 0.7;
  white-space: nowrap;
  line-height: 0.7;
  z-index: 1;
}

.section__title {
  position: relative;
  font-size: 0.861875rem;
  border-left: 0.215625rem solid var(--main);
  border-right: 0.215625rem solid var(--main);
  line-height: 1.3;
  z-index: 2;
}

.section__title--large {
  font-size: 1.293125rem;
  font-weight: 700;
}

@media screen and (max-width: 1440px) {
  .content {
    margin: 0 22.45125rem 0 auto ;
  }
}

@media screen and (max-width: 1070px) {
  .content {
    margin: 0 auto;
  }
}

@media screen and (max-width: 700px) {

  section {
    padding-inline: 4.27vw;
  }
  .content {
    width: 100%;
  }
}

/* mainVisual */
.mainVisual {
  padding-inline: 0;
  width: 100%;
}

@media screen and (max-width: 700px) {
  .mainVisual__img img {
    width: 100%;
  }
}

/* totalSupport */
.totalSupport {
  background-image: linear-gradient(0deg, transparent, #ffffff), url(/assets/images/img-bg-white.jpg);
  background-position: top, center;
  background-repeat: no-repeat, repeat;
  background-size: 100% 3rem, contain;
  padding-block: 2.5rem 3.5975rem;
}

.totalSupport__titleText {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0625rem;
  font-weight: 700;
  text-align: center;
  gap: 0.375rem;
}

.totalSupport__titleText::before,
.totalSupport__titleText::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.745rem;
  height: 1.589375rem;
}

.totalSupport__titleText::before {
  background-image: url(/assets/images/icon-line-left.png);
}

.totalSupport__titleText::after {
  background-image: url(/assets/images/icon-line-right.png);
}

.totalSupport__titleImg {
  margin-top: 0.745625rem;
}

.totalSupport__leadText {
  font-size: 0.875rem;
  line-height: 1.6;
  letter-spacing: 3%;
  margin-top: 0.53875rem;
}

.totalSupport__img {
  margin-top: 0.488125rem;
}

.totalSupport__list {
  margin-top: 1.67rem;
}

.totalSupport__listItem {
  margin-top: 0.5925rem;
}

.totalSupport__itemTitleWrap {
  display: grid;
  grid-template-columns: 2.963125rem auto;
  align-items: center;
  gap: 0.53875rem;
}

.totalSupport__itemTitle {
  font-size: 1.0775rem;
  font-weight: 500;
  color: var(--main);
  line-height: 1.6;
  background: linear-gradient(transparent 57%, var(--yellow) 80%);
  width: fit-content;
}

.totalSupport__itemTitle--small {
  font-size: 0.754375rem;
  font-weight: 350;
  color: var(--main);
}

.totalSupport__itemText {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 3%;
  margin-top: 0.68rem;
}

/* cta */
.cta {
  background-image: url(/assets/images/img-cta-bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding: 1.0775rem 1rem 2.71rem;
}

.cta__listItem {
  border-bottom: 3px dotted var(--white);
  padding-bottom: 1.75rem;
  margin-top: 1.885625rem;
}

.cta__listItem:first-of-type {
  margin-top: 0;
}

.cta__listItem:last-of-type {
  border-bottom: none;
  padding-bottom: 0;
}

.cta__textWrap {
  display: flex;
  align-items: center;
}

.cta__listItemForm .cta__textWrap {
  gap: 1.34125rem;
}

.cta__listItemNote .cta__textWrap {
  gap: 0.5rem;
}

.cta__leadText {
  font-size: 1.400625rem;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 4%;
  text-shadow: 3px 0px 1px #ffffff, 3px 0.2px 1px #ffffff, 3px 0.3px 1px #ffffff, 3px 0.5px 1px #ffffff, 2.9px 0.6px 1px #ffffff, 2.9px 0.8px 1px #ffffff, 2.9px 0.9px 1px #ffffff, 2.8px 1.1px 1px #ffffff, 2.7px 1.2px 1px #ffffff, 2.7px 1.4px 1px #ffffff, 2.6px 1.5px 1px #ffffff, 2.5px 1.6px 1px #ffffff, 2.4px 1.8px 1px #ffffff, 2.3px 1.9px 1px #ffffff, 2.2px 2px 1px #ffffff, 2.1px 2.1px 1px #ffffff, 2px 2.2px 1px #ffffff, 1.9px 2.3px 1px #ffffff, 1.8px 2.4px 1px #ffffff, 1.6px 2.5px 1px #ffffff, 1.5px 2.6px 1px #ffffff, 1.4px 2.7px 1px #ffffff, 1.2px 2.7px 1px #ffffff, 1.1px 2.8px 1px #ffffff, 0.9px 2.9px 1px #ffffff, 0.8px 2.9px 1px #ffffff, 0.6px 2.9px 1px #ffffff, 0.5px 3px 1px #ffffff, 0.3px 3px 1px #ffffff, 0.2px 3px 1px #ffffff, 0px 3px 1px #ffffff, -0.2px 3px 1px #ffffff, -0.3px 3px 1px #ffffff, -0.5px 3px 1px #ffffff, -0.6px 2.9px 1px #ffffff, -0.8px 2.9px 1px #ffffff, -0.9px 2.9px 1px #ffffff, -1.1px 2.8px 1px #ffffff, -1.2px 2.7px 1px #ffffff, -1.4px 2.7px 1px #ffffff, -1.5px 2.6px 1px #ffffff, -1.6px 2.5px 1px #ffffff, -1.8px 2.4px 1px #ffffff, -1.9px 2.3px 1px #ffffff, -2px 2.2px 1px #ffffff, -2.1px 2.1px 1px #ffffff, -2.2px 2px 1px #ffffff, -2.3px 1.9px 1px #ffffff, -2.4px 1.8px 1px #ffffff, -2.5px 1.6px 1px #ffffff, -2.6px 1.5px 1px #ffffff, -2.7px 1.4px 1px #ffffff, -2.7px 1.2px 1px #ffffff, -2.8px 1.1px 1px #ffffff, -2.9px 0.9px 1px #ffffff, -2.9px 0.8px 1px #ffffff, -2.9px 0.6px 1px #ffffff, -3px 0.5px 1px #ffffff, -3px 0.3px 1px #ffffff, -3px 0.2px 1px #ffffff, -3px 0px 1px #ffffff, -3px -0.2px 1px #ffffff, -3px -0.3px 1px #ffffff, -3px -0.5px 1px #ffffff, -2.9px -0.6px 1px #ffffff, -2.9px -0.8px 1px #ffffff, -2.9px -0.9px 1px #ffffff, -2.8px -1.1px 1px #ffffff, -2.7px -1.2px 1px #ffffff, -2.7px -1.4px 1px #ffffff, -2.6px -1.5px 1px #ffffff, -2.5px -1.6px 1px #ffffff, -2.4px -1.8px 1px #ffffff, -2.3px -1.9px 1px #ffffff, -2.2px -2px 1px #ffffff, -2.1px -2.1px 1px #ffffff, -2px -2.2px 1px #ffffff, -1.9px -2.3px 1px #ffffff, -1.8px -2.4px 1px #ffffff, -1.6px -2.5px 1px #ffffff, -1.5px -2.6px 1px #ffffff, -1.4px -2.7px 1px #ffffff, -1.2px -2.7px 1px #ffffff, -1.1px -2.8px 1px #ffffff, -0.9px -2.9px 1px #ffffff, -0.8px -2.9px 1px #ffffff, -0.6px -2.9px 1px #ffffff, -0.5px -3px 1px #ffffff, -0.3px -3px 1px #ffffff, -0.2px -3px 1px #ffffff, 0px -3px 1px #ffffff, 0.2px -3px 1px #ffffff, 0.3px -3px 1px #ffffff, 0.5px -3px 1px #ffffff, 0.6px -2.9px 1px #ffffff, 0.8px -2.9px 1px #ffffff, 0.9px -2.9px 1px #ffffff, 1.1px -2.8px 1px #ffffff, 1.2px -2.7px 1px #ffffff, 1.4px -2.7px 1px #ffffff, 1.5px -2.6px 1px #ffffff, 1.6px -2.5px 1px #ffffff, 1.8px -2.4px 1px #ffffff, 1.9px -2.3px 1px #ffffff, 2px -2.2px 1px #ffffff, 2.1px -2.1px 1px #ffffff, 2.2px -2px 1px #ffffff, 2.3px -1.9px 1px #ffffff, 2.4px -1.8px 1px #ffffff, 2.5px -1.6px 1px #ffffff, 2.6px -1.5px 1px #ffffff, 2.7px -1.4px 1px #ffffff, 2.7px -1.2px 1px #ffffff, 2.8px -1.1px 1px #ffffff, 2.9px -0.9px 1px #ffffff, 2.9px -0.8px 1px #ffffff, 2.9px -0.6px 1px #ffffff, 3px -0.5px 1px #ffffff, 3px -0.3px 1px #ffffff, 3px -0.2px 1px #ffffff, 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25);
}

.cta__listItemTrial .cta__leadText {
  line-height: 1;
}

.cta__listItemNote .cta__leadText {
  line-height: 1;
}

.cta__leadText--green {
  font-weight: 700;
  color: var(--main);
}

.cta__leadText--large {
  font-size: 2.25rem;
}

.cta__itemLink {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  text-align: center;
  font-weight: 700;
  background-color: var(--white);
  border-radius: 1.71875rem;
  box-shadow: 0 0.525625rem 0.64rem 0 rgba(0, 0, 0, 0.27);
  height: 60.55px;
}

.cta__itemLink::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.02875rem;
  transform: translateY(-50%);
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.01875rem;
  height: 1.0525rem;
}

.cta__listItemTrial .cta__itemLink {
  font-size: 1.705rem;
}

.cta__listItemForm .cta__itemLink {
  font-size: 1.47rem;
  margin-top: 0.6725rem;
}

.cta__listItemNote .cta__itemLink {
  font-size: 1.47rem;
  margin-top: 0.71125rem;
}

.cta__link--green {
  color: var(--main);
}

.cta__listItemTrial .cta__link--large {
  font-size: 2.424735rem;
  font-weight: normal;
}

.cta__listItemTrial .cta__link--small {
  font-size: 0.769375rem;
  font-weight: 300;
}

.cta--fixed {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 1;
}

.cta--fixed .cta__listItemTrial .cta__itemLink {
  font-size: 1.47rem;
}

@media screen and (max-width: 1070px) {
  .cta--fixed.for-pc {
    display: none;
  }
}

@media screen and (max-width: 700px) {
  .cta__textWrap {
    justify-content: center;
  }

  .cta__itemLink {
    margin: 0 auto;
    max-width: 21.713125rem;
  }

  .cta--fixed.for-sp {
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--white);
    padding: 0;
    width: 100%;
    height: 4.25rem;
    z-index: 10;
  }

  .cta--fixed::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0.69125rem;
    transform: translateY(-50%);
    display: block;
    background-image: url(/assets/images/icon-arrow-yellow.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    width: 1.02375rem;
    height: 1.02375rem;
  }

  .cta--fixed .cta__textWrap {
    width: 100vw;
  }

  .cta--fixed .cta__itemImg {
    position: absolute;
    left: -0.5rem;
    bottom: -1rem;
  }

  .cta--fixed .cta__listItemTrial .cta__leadText {
    font-size: 1.58125rem;
    text-align: center;
    line-height: 0.8;
    padding-left: 2rem;
  }

  .cta--fixed .cta__listItemTrial .cta__link--small{
    text-align: center;
    -webkit-text-stroke: transparent;
    text-stroke: transparent;
  }
}

/* tab */
.tab__wrap {
  margin-top: 1.25rem;
}

.tab__buttonWrap {
  display: flex;
  justify-content: center;
  gap: 0.5rem;
}

.general__tab {
  background-color: #D5EDF2;
}

.consulting__tab {
  text-align: start;
  line-height: 1.2;
  background-color: #FEF6CD;
}

.tab__button {
  position: relative;
  color: rgba(45, 46, 46, 0.3);
  font-feature-settings: "palt";
  border-radius: 0.375rem 0.375rem 0 0;
  filter: grayscale(100%) brightness(0.88);
  overflow: hidden;
  width: 10.4375rem;
  height: 3.280625rem;
}

.tab__button.active {
  color: var(--black);
  filter: grayscale(0);
}

.general__icon {
  position: absolute;
  bottom: 0;
}

.general__tab .general__icon {
  left: 0;
}

.consulting__tab .general__icon {
  right: -0.4rem;
  bottom: -0.3rem;
}

.general__tab .tab__text {
  font-size: 0.775625rem;
  font-weight: 400;
  padding-left: 1.7rem;
}

.tab__text--green {
  font-weight: 700;
  color: var(--main);
}

.general__tab .tab__text--green {
  font-size: 1.133125rem;
  padding-left: 1.8rem;
}

.consulting__tab .tab__text--green {
  font-size: 0.8275rem;
  line-height: 1;
}

.general__tab .tab__text--small {
  font-size: 0.540625rem;
}

.consulting__tab .tab__text--small {
  display: flex;
  justify-content: end;
  font-size: 0.536875rem;
  padding-right: 2.3rem;
}

.consulting__tab .tab__text--tiny {
  font-size: 0.575625rem;
}

.general,
.consulting {
  display: none;
  overflow: hidden;
}

.general.active,
.consulting.active {
  display: block;
}

/* result */
.result {
  position: relative;
}

.result::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  clip-path: polygon(50% 2.263125rem, 0% 0%, 6.3575rem 0%);
  width: 6.3575rem;
  height: 2.263125rem;
}

.general .result {
  background-color: rgb(234 246 248);
  padding-block: 2.5rem 2.10125rem;
}

.general .result::after {
  background-color: rgb(234 246 248);
}

.consulting .result {
  background-color: rgb(254 250 230);
  padding-block: 2.5rem 1.455625rem;
}

.consulting .result::after {
  background-color: rgb(254 250 230);
}

.consulting .result__titleImg {
  margin-top: 1.455rem;
}

.result__titleTextImg {
  border-top: 1px solid var(--main);
  border-bottom: 1px solid var(--main);
  padding: 0.756875rem 1rem 0.541875rem;
  margin-top: 0.8125rem;
}

.result__leadText {
  font-size: 0.875rem;
  font-weight: 400;
  text-align: center;
  line-height: 1.6;
  margin-top: 0.8125rem;
}

.result__img {
  margin-top: 0.8125rem;
}

.result__img img {
  margin: 0 auto;
}

.result__textImg {
  margin-top: 0.8125rem;
}

.result__text {
  font-size: 0.861875rem;
  letter-spacing: 3%;
  line-height: 1.8;
  margin-top: 0.8125rem;
}

.result__note {
  font-size: 0.53875rem;
  margin-top: 0.8125rem;
}

/* support */
.support {
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding-block: 2.9375rem 1.38125rem;
}

.support__title {
  font-size: 1.239375rem;
  font-weight: normal;
  text-align: center;
  letter-spacing: 6%;
  line-height: 1.6;
}

.consulting .support__title:last-of-type {
  margin-top: 2rem;
}

.consulting .support__titleLine {
  margin: 0 auto;
  max-width: 17.78rem;
}

.support__title--marker {
  background: linear-gradient(transparent 50%, var(--yellow) 50%);
}

.support__title--green {
  font-size: 1.50875rem;
  font-weight: 700;
  color: var(--main);
}

.support__title--large {
  font-size: 1.239375rem;
  font-weight: 700;
}

.support__title--large .support__title--green {
  font-size: 1.5625rem;
}

.support__movie {
  margin: 0.8125rem auto 0;
  width: fit-content;
}

.support__movie video {
  margin: 0 auto;
  width: 21.713125rem;
  height: 14.44625rem;
}

.support__textWrap {
  text-align: center;
  margin-top: 0.8125rem;
}

.support__leadText {
  font-size: 1.0775rem;
  padding-block: 0.53875rem;
}

.support__listItem {
  margin-top: 0.8125rem;
}

.support__mainText {
  font-size: 2.33375rem;
  font-family: "Shippori Mincho B1", serif;
}

.support__mainText--green {
  font-size: 3.465rem;
  color: var(--main);
}

.support__text {
  font-size: 0.861875rem;
  line-height: 0.4;
  margin-block: 0.9375rem 1.67rem;
}

/* problem */
.problem {
  position: relative;
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding-block: 4.21rem 1.9594375rem;
  max-width: 100%;
}

.problem::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-size: cover;
  background-color: var(--white);
  clip-path: polygon(50% 2.5rem, 0% 0%, 100% 0%);
  width: 100%;
  height: 2.5rem;
  z-index: 2;
}

.problem__title {
  position: relative;
  font-size: 1.995625rem;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  line-height: 1.3;
  letter-spacing: 6%;
  padding-left: 1.7rem;
}

.problem__title::before,
.problem__title::after {
  content: "";
  position: absolute;
  background-image: url(/assets/images/icon-question.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.problem__title::before {
  bottom: -1.5rem;
  left: 0.625rem;
  width: 3.625rem;
  height: 3.125rem;
}

.problem__title::after {
  top: -1.5rem;
  right: 0.4rem;
  transform: rotate(52deg);
  width: 3.22875rem;
  height: 2.73625rem;
}

.problem__img img {
  margin-top: 1.770625rem;
  width: 100%;
}

.problem__leadTextWrap {
  position: relative;
  margin-block: 3rem 1.0625rem;
  height: 5rem;
}

.problem__leadText {
  font-size: 1.13125rem;
  font-weight: 700;
  color: var(--white);
  background-color: var(--main);
  line-height: 1.7;
  margin-top: 0.5rem;
}

.problem__leadText:first-of-type {
  transform: translateX(1rem) rotate(-3deg);
  text-align: start;
  padding-left: 1rem;
}

.problem__leadText:last-of-type {
  text-align: end;
  transform: translateX(-2rem) rotate(-3deg);
  padding-right: 1rem;
}

.problem__list {
  margin-top: 2.42125rem;
}

.problem__listItem {
  display: flex;
  align-items: flex-start;
  font-size: 0.875rem;
  line-height: 1.5;
  gap: 0.375rem;
  margin-top: 1.239375rem;
}

.problem__listItem::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-list-green.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.245625rem;
  height: 1.245625rem;
}

/* can */
.can {
  position: relative;
  background-color: #FEF6CD;
  padding-block: 3.625rem 2.5rem;
}

.can__leadText {
  font-size: 1.629375rem;
  font-family: "Shippori Mincho B1", serif;
  letter-spacing: 6%;
  line-height: 1.5;
  transform: rotate(-7deg);
  display: block;
  background-image: url(/assets/images/img-title-marker.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  padding-left: 1.3rem;
  margin-top: 2rem;
}

.can__logo {
  position: absolute;
  top: 1.5rem;
  right: 1rem;
  z-index: 3;
}

.can__titleImg {
  margin-top: 2rem;
}

.can__listItem {
  padding-top: 1.06375rem;
  margin-top: 0.64625rem;
}

.can__listItem:last-of-type {
  padding-bottom: 1.43625rem;
}

.can__itemTitle {
  display: flex;
  align-items: center;
  font-size: 1.1875rem;
  font-weight: 500;
  color: var(--main);
  line-height: 1.2;
  letter-spacing: 3%;
  gap: 0.319375rem;
}

.can__itemTitle::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.116875rem;
  height: 1.116875rem;
}

.can__itemTitle--small {
  font-size: 0.861875rem;
  font-weight: 400;
}

.can__itemText {
  font-size: 0.875rem;
  line-height: 1.8;
  letter-spacing: 3%;
  margin-top: 0.3125rem;
}

.can__text {
  font-size: 1.1875rem;
  font-weight: 500;
  line-height: 1.7;
  text-align: center;
}

.can__text--green {
  font-weight: 700;
  color: var(--main);
}

/* mode */
.mode {
  padding-top: 3.5rem;
  background-color: #FEF6CD;
}

.mode .section__title--en {
  color: var(--white);
}

.mode__content {
  margin-top: 2.325rem;
}

.mode__content hgroup {
  text-align: center;
  background-color: var(--main);
  border-radius: 1.5075rem 1.5075rem 0 0;
  padding-block: 0.75rem 0.728125rem;
}

.mode__contentIntro {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.913125rem;
  font-weight: normal;
  color: var(--white);
}

.mode__contentIntro::before,
.mode__contentIntro::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.745rem;
  height: 1.589375rem;
}

.mode__contentIntro::before {
  background-image: url(/assets/images/icon-line-left-black.png);
}

.mode__contentIntro::after {
  background-image: url(/assets/images/icon-line-right-black.png);
}

.mode__contentTitle {
  font-size: 1.293125rem;
  font-weight: 700;
  color: var(--white);
}

.mode__contentTitle--yellow {
  color: var(--yellow);
}

.mode__contentEasy {
  position: relative;
}

.mode__contentEasyIcon {
  position: absolute;
  top: -0.708125rem;
  left: 0;
}

.mode__list {
  background-color: var(--white);
  padding: 1.724375rem 0.875rem 2.5rem;
}

.mode__listItem {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 13.424375rem;
  gap: 1.375rem;
  margin-bottom: 2.478125rem;
}

.mode__listItem:last-of-type {
  margin-bottom: 0;
}

.mode__listItem::after {
  content: "";
  position: absolute;
  bottom: -0.485rem;
  left: 50%;
  transform: translate(-50%, 100%);
  display: block;
  background-image: url(/assets/images/icon-mode-arrow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.778125rem;
  height: 1.50875rem;
}

.mode__listItem:last-of-type:after {
  content: unset;
}

.mode__itemTextWrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 0.376875rem;
}

.mode__itemStep {
  display: grid;
  grid-template-columns: 4.095rem 1fr;
  align-items: center;
  gap: 0.97rem; 
}

.mode__itemStepNum {
  font-size: 0.91625rem;
  font-weight: 700;
  text-align: center;
  color: var(--white);
  line-height: 1.61625rem;
  background-color: var(--main);
  border-radius: 0.808125rem;
  height: 1.61625rem;
}

.mode__itemStepTitle {
  font-size: 1.13125rem;
  font-weight: 700;
  color: var(--main);
}

.mode__itemText {
  font-size: 0.861875rem;
  line-height: 1.5;
}

.mode__itemText--marker {
  background: linear-gradient(transparent 50%, var(--yellow) 50%);
}

.mode__itemText--red {
  font-weight: 700;
  color: var(--red);
}

.mode__movie video {
  width: 100%;
  height: auto;
}

/* function */
.function {
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding-block: 3rem 1.61625rem;
  max-width: 100%;
}

.consulting .function .section__titleGroup {
  width: 20.424375rem;
}

.function .section__title--en {
  color: #D5EDF2;
}

.function__list{
  margin-top: 2.5rem;
}

.function__listItem {
  margin-top: 2.25rem;
}

.function__itemTitleGroup {
  display: grid;
  grid-template-columns: 2.875rem 1fr;
  align-items: flex-end;
  gap: 0.7425rem;
}

.function__itemTitleNum {
  font-size: 2.8725rem;
  font-weight: 400;
  font-family: "Barlow Condensed", sans-serif;
  color: var(--main);
}

.function__itemTitle {
  font-size: 1.125rem;
  font-weight: 700;
}

.function__itemTitle::after {
  content: "";
  display: inline-block;
  background: radial-gradient(circle farthest-side, var(--main), var(--main) 30%, transparent 30%, transparent);
  background-size: 0.55rem;
  width: 100%;
  height: 0.6rem;
}

.function__itemText {
  font-size: 0.875rem;
  line-height: 1.6;
  padding-inline: 0.511875rem;
  margin-top: 0.3725rem;
}

.function__itemLeadText {
  display: flex;
  align-items: center;
  font-size: 0.9375rem;
  font-weight: 700;
  color: var(--main);
  line-height: 1.4;
  /* font-feature-settings: "palt"; */
  margin-top: 0.611875rem;
  gap: 0.47875rem;
}

.function__itemLeadText::before {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.489375rem;
  height: 1.489375rem;
}

.function__itemImg {
  margin-top: 0.5rem;
}

.function__itemImg img {
  width: 100%;
}

.function__itemNote {
  font-size: 0.616875rem;
  margin-top: 0.26625rem;
}

/* difference */
.difference {
  position: relative;
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  padding-bottom: 2.5rem;
  max-width: 100%;
}

.difference::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: cover;
  background-color: var(--white);
  clip-path: polygon(50% 3rem, 0% 0%, 100% 0%);
  width: 100%;
  height: 3rem;
  z-index: 2;
}

.difference__title {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.239375rem;
  font-weight: 500;
}

.difference__title::before,
.difference__title::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 3.404375rem;
  height: 2.863125rem;
}

.difference__title::before {
  background-image: url(/assets/images/icon-difference-title-left.png);
}

.difference__title::after {
  background-image: url(/assets/images/icon-difference-title-right.png);
}

.difference__list {
  margin-top: 1rem;
}

.difference__listItem {
  border-radius: 0.64625rem;
  background: linear-gradient(to right, #FAEB55, #00AAB0);
  padding: 0.3rem 0.3rem;
  margin-top: 0.5rem;
}

.difference__listItemWrap {
  background-color: var(--white);
  border-radius: 0.64625rem;
  padding: 0.64625rem 0.8125rem;
}

.difference__itemTitle {
  font-size: 1.0775rem;
  font-weight: 500;
  color: var(--main);
  text-align: center;
  line-height: 1.2;
}

.difference__itemTitle--large {
  font-size: 1.724375rem;
  font-weight: 700;
}

.difference__itemText {
  font-size: 0.875rem;
  line-height: 1.3;
  margin-top: 0.323125rem;
}

.difference__itemNoteWrap {
  font-size: 0.625rem;
  margin-top: 0.625rem;
}

.difference__itemNote {
  line-height: 1.3;
}

/* merit */
.merit {
  background-image: linear-gradient(to top, rgba(250, 235, 85, 0) 13.82%, rgba(131, 228, 126, 0.5) 60.61%, rgba(0, 170, 176, 0.6) 96.18%), url(/assets/images/img-bg-white.jpg);
  background-repeat: no-repeat, repeat;
  background-position: top, center;
  background-size: 100% 13rem, contain;
  padding-block: 5.9375rem 2.5rem;
}

.merit__title {
  font-size: 1.629375rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  transform: rotate(-7deg);
  text-align: center;
  line-height: 1.5;
  letter-spacing: 6%;
  display: block;
  background-image: url(/assets/images/img-title-marker.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  margin: 0.75rem auto 0;
  width: 20.828125rem;
  height: 4.95125rem;
}

.merit__textImg img {
  margin: 1.7075rem auto 0;
}

.merit__list {
  margin-top: 1.346875rem;
}

.merit__listItem {
  padding-block: 0.754375rem;
  margin-top: 1.5rem;
}

.merit__itemTitle {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.0625rem;
  font-weight: 700;
  color: var(--main);
  gap: 0.700625rem;
}

.merit__itemTitle::before,
.merit__itemTitle::after {
  content: "";
  display: block;
  flex-shrink: 0;
  background-image: url(/assets/images/icon-merit-list.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 1.13875rem;
  height: 1.13875rem;
}

.merit__itemText {
  font-size: 0.875rem;
  text-align: center;
  line-height: 1.5;
  margin-top: 0.75rem;
}

/* background */
.background {
  position: relative;
  background: linear-gradient(rgba(255, 255, 255, 0.6), rgba(255, 255, 255, 0.6) 20%, rgba(255, 255, 255, 1) 30%), url(/assets/images/img-background-bg.png);
  background-repeat: no-repeat;
  background-position: top, top;
  background-size: cover, contain;
  padding: 5.625rem 0 0;
  max-width: 100%;
  height: 100%;
}

.background__textWrap {
  position: relative;
  padding-bottom: 1.730625rem;
}

.background__textWrap::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background-color: var(--white);
  background-position: center;
  background-size: cover;
  background-color: var(--white);
  clip-path: polygon(50% 2.5rem, 0% 0%, 100% 0%);
  width: 100%;
  height: 2.5rem;
  z-index: 2;
}

.background__titleWrap {
  font-size: 1.5625rem;
  font-weight: 600;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  padding-inline: 1rem;
}

.background__title {
  font-size: 1.5625rem;
  font-weight: 600;
  line-height: 1.5;
}

.background__title--en {
  font-size: 0.861875rem;
}

.background__subTitle {
  font-size: 1.293125rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  border-bottom: 1px solid var(--black);
  padding-bottom: 0.5rem;
  margin: 9.9rem auto 0;
  width: fit-content;
}

.background__text {
  font-size: 0.875rem;
  line-height: 2.1;
  letter-spacing: 3%;
  padding-inline: 1rem;
  margin-top: 1.4rem;
}

.background__message {
  background-image: linear-gradient( to bottom, rgba(0, 170, 176, 0.11) 13.82%, rgba(0, 170, 176, 0.53) 86.18%);
  padding-block: 5rem 5.254375rem;
}

.background__leadText {
  font-size: 1.185625rem;
  font-weight: 500;
  font-family: "Shippori Mincho B1", serif;
  text-align: center;
  line-height: 1.8;
  letter-spacing: 6%;
  padding-inline: 1rem;
}

.background__leadText--large {
  font-size: 1.67rem;
}

.background__arrowImg img {
  margin: 0 auto;
}

.background__mainText {
  font-size: 1.0775rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 6%;
  padding-inline: 1rem;
}

.background__mainText--large {
  font-size: 1.61625rem;
  font-weight: 500;
  /* -webkit-text-stroke: 0.5rem var(--white);
  text-stroke: 0.5rem var(--white);
  paint-order: stroke; */
  text-shadow: 3px 0px 1px #ffffff, 3px 0.2px 1px #ffffff, 3px 0.3px 1px #ffffff, 3px 0.5px 1px #ffffff, 2.9px 0.6px 1px #ffffff, 2.9px 0.8px 1px #ffffff, 2.9px 0.9px 1px #ffffff, 2.8px 1.1px 1px #ffffff, 2.7px 1.2px 1px #ffffff, 2.7px 1.4px 1px #ffffff, 2.6px 1.5px 1px #ffffff, 2.5px 1.6px 1px #ffffff, 2.4px 1.8px 1px #ffffff, 2.3px 1.9px 1px #ffffff, 2.2px 2px 1px #ffffff, 2.1px 2.1px 1px #ffffff, 2px 2.2px 1px #ffffff, 1.9px 2.3px 1px #ffffff, 1.8px 2.4px 1px #ffffff, 1.6px 2.5px 1px #ffffff, 1.5px 2.6px 1px #ffffff, 1.4px 2.7px 1px #ffffff, 1.2px 2.7px 1px #ffffff, 1.1px 2.8px 1px #ffffff, 0.9px 2.9px 1px #ffffff, 0.8px 2.9px 1px #ffffff, 0.6px 2.9px 1px #ffffff, 0.5px 3px 1px #ffffff, 0.3px 3px 1px #ffffff, 0.2px 3px 1px #ffffff, 0px 3px 1px #ffffff, -0.2px 3px 1px #ffffff, -0.3px 3px 1px #ffffff, -0.5px 3px 1px #ffffff, -0.6px 2.9px 1px #ffffff, -0.8px 2.9px 1px #ffffff, -0.9px 2.9px 1px #ffffff, -1.1px 2.8px 1px #ffffff, -1.2px 2.7px 1px #ffffff, -1.4px 2.7px 1px #ffffff, -1.5px 2.6px 1px #ffffff, -1.6px 2.5px 1px #ffffff, -1.8px 2.4px 1px #ffffff, -1.9px 2.3px 1px #ffffff, -2px 2.2px 1px #ffffff, -2.1px 2.1px 1px #ffffff, -2.2px 2px 1px #ffffff, -2.3px 1.9px 1px #ffffff, -2.4px 1.8px 1px #ffffff, -2.5px 1.6px 1px #ffffff, -2.6px 1.5px 1px #ffffff, -2.7px 1.4px 1px #ffffff, -2.7px 1.2px 1px #ffffff, -2.8px 1.1px 1px #ffffff, -2.9px 0.9px 1px #ffffff, -2.9px 0.8px 1px #ffffff, -2.9px 0.6px 1px #ffffff, -3px 0.5px 1px #ffffff, -3px 0.3px 1px #ffffff, -3px 0.2px 1px #ffffff, -3px 0px 1px #ffffff, -3px -0.2px 1px #ffffff, -3px -0.3px 1px #ffffff, -3px -0.5px 1px #ffffff, -2.9px -0.6px 1px #ffffff, -2.9px -0.8px 1px #ffffff, -2.9px -0.9px 1px #ffffff, -2.8px -1.1px 1px #ffffff, -2.7px -1.2px 1px #ffffff, -2.7px -1.4px 1px #ffffff, -2.6px -1.5px 1px #ffffff, -2.5px -1.6px 1px #ffffff, -2.4px -1.8px 1px #ffffff, -2.3px -1.9px 1px #ffffff, -2.2px -2px 1px #ffffff, -2.1px -2.1px 1px #ffffff, -2px -2.2px 1px #ffffff, -1.9px -2.3px 1px #ffffff, -1.8px -2.4px 1px #ffffff, -1.6px -2.5px 1px #ffffff, -1.5px -2.6px 1px #ffffff, -1.4px -2.7px 1px #ffffff, -1.2px -2.7px 1px #ffffff, -1.1px -2.8px 1px #ffffff, -0.9px -2.9px 1px #ffffff, -0.8px -2.9px 1px #ffffff, -0.6px -2.9px 1px #ffffff, -0.5px -3px 1px #ffffff, -0.3px -3px 1px #ffffff, -0.2px -3px 1px #ffffff, 0px -3px 1px #ffffff, 0.2px -3px 1px #ffffff, 0.3px -3px 1px #ffffff, 0.5px -3px 1px #ffffff, 0.6px -2.9px 1px #ffffff, 0.8px -2.9px 1px #ffffff, 0.9px -2.9px 1px #ffffff, 1.1px -2.8px 1px #ffffff, 1.2px -2.7px 1px #ffffff, 1.4px -2.7px 1px #ffffff, 1.5px -2.6px 1px #ffffff, 1.6px -2.5px 1px #ffffff, 1.8px -2.4px 1px #ffffff, 1.9px -2.3px 1px #ffffff, 2px -2.2px 1px #ffffff, 2.1px -2.1px 1px #ffffff, 2.2px -2px 1px #ffffff, 2.3px -1.9px 1px #ffffff, 2.4px -1.8px 1px #ffffff, 2.5px -1.6px 1px #ffffff, 2.6px -1.5px 1px #ffffff, 2.7px -1.4px 1px #ffffff, 2.7px -1.2px 1px #ffffff, 2.8px -1.1px 1px #ffffff, 2.9px -0.9px 1px #ffffff, 2.9px -0.8px 1px #ffffff, 2.9px -0.6px 1px #ffffff, 3px -0.5px 1px #ffffff, 3px -0.3px 1px #ffffff, 3px -0.2px 1px #ffffff, 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25), 0px 6px 14px rgba(0, 0, 0, 0.25);
  line-height: 1.25;
}

.background__mainText--marker {
  background: linear-gradient(transparent 50%, var(--yellow) 50%);
  padding: 0 1rem 1rem;
}

/* plan */
.plan {
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding-block: 3rem 2.5rem;
}

.plan .section__titleGroup {
  width: 11rem;
}

.plan .section__title--en {
  color: #D5EDF2;
}

.plan__table {
  font-size: 0.53875rem;
  margin: 1.1rem auto 0;
}

.plan__table tr {
  border-bottom: 1px solid #E5E5E5;
}

.plan__table tr:last-of-type {
  border-bottom: none;
}

.plan__table th {
  font-size: 0.861875rem;
  font-weight: 400;
  border-radius: 1rem 1rem 0 0;
  height: 1.65625rem;
}

.plan__table th.entry {
  background-color: var(--yellow);
}

.plan__table th.standard {
  background-color: var(--main);
}

.plan__table td {
  position: relative;
  font-size: 0.8125rem;
  text-align: center;
  padding-block: 0.45rem;
  width: 6.125rem;
}

.plan__table .table__item {
  display: flex;
  align-items: flex-start;
  text-align: start;
  line-height: 1.05;
  gap: 0.123125rem;
  width: 9.1875rem;
}

.plan__table .table__item::before {
  content: "";
  display: block;
  background-color: var(--main);
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.2rem;
  width: 0.376875rem;
  height: 0.376875rem;
}

.plan__table td.entry {
  background-color: rgb(254 250 230);
}

.plan__table td.standard {
  background-color: rgb(234 246 248);
}

.plan__tableNote {
  position: absolute;
  font-size: 0.5625rem;
}

.table__price .table__item {
  display: block;
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--main);
}

.table__text--small {
  font-size: 0.700625rem;
  font-weight: 400;
}

.table__price .table__item::before {
  content: unset;
}

.table__priceNum {
  font-size: 1.4375rem;
  font-weight: 500;
  font-family: "Barlow Condensed", sans-serif;
}

.table__noteWrap {
  font-size: 0.625rem;
  font-weight: 300;
  margin-top: 1.5rem;
}

.table__note {
  line-height: 1.2;
  text-indent: -1rem;
  padding-left: 1rem;
}

.table__note::before {
  content: "※1";
}

.table__noteList {
  margin: 0.25rem 0 0 0.5rem;
}

.table__noteListItem {
  display: flex;
  align-items: baseline;
  line-height: 1.2;
  gap: 0.174375rem;
  margin-top: 0.25rem;
}

.table__noteListItem::before {
  content: "";
  flex-shrink: 0;
  display: block;
  background-color: var(--black);
  border-radius: 50%;
  width: 0.3125rem;
  height: 0.3125rem;
}

/* campaign */
.campaign {
  background: linear-gradient(89.2deg, rgba(250, 235, 85, 0.29) 13.82%, rgba(131, 228, 126, 0.29) 48.61%, rgba(0, 170, 176, 0.29) 86.18%);
  padding-block: 5rem 2.2rem;
}

.campaign____container {
  position: relative;
  background: linear-gradient(89.2deg, rgba(250, 235, 85, 0.7) 13.82%, rgba(131, 228, 126, 0.7) 48.61%, rgba(0, 170, 176, 0.7) 86.18%);
  border-radius: 1rem;
  padding: 0.269375rem;
}

.campaign____textWrap {
  background-color: #fff;
  border-radius: 1rem;
  padding: 1.875rem 0.53125rem 1.25rem;
}

.campaign____leadText {
  font-size: 1.346875rem;
  font-weight: 700;
  color: var(--main);
  text-align: center;
}

.campaign____leadText--small {
  font-size: 0.808125rem;
  font-weight: 400;
}

.campaign__titleImg {
  position: absolute;
  top: -0.5rem;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
}

.campaign____text--marker {
  font-size: 0.875rem;
  font-weight: 700;
  color: var(--main);
  text-align: center;
  line-height: 2;
  text-shadow: 1.5px 0px 1px #ffffff, 1.5px 0.2px 1px #ffffff, 1.4px 0.3px 1px #ffffff, 1.4px 0.5px 1px #ffffff, 1.3px 0.6px 1px #ffffff, 1.2px 0.8px 1px #ffffff, 1.1px 0.9px 1px #ffffff, 1px 1px 1px #ffffff, 0.9px 1.1px 1px #ffffff, 0.8px 1.2px 1px #ffffff, 0.6px 1.3px 1px #ffffff, 0.5px 1.4px 1px #ffffff, 0.3px 1.4px 1px #ffffff, 0.2px 1.5px 1px #ffffff, 0px 1.5px 1px #ffffff, -0.2px 1.5px 1px #ffffff, -0.3px 1.4px 1px #ffffff, -0.5px 1.4px 1px #ffffff, -0.6px 1.3px 1px #ffffff, -0.8px 1.2px 1px #ffffff, -0.9px 1.1px 1px #ffffff, -1px 1px 1px #ffffff, -1.1px 0.9px 1px #ffffff, -1.2px 0.8px 1px #ffffff, -1.3px 0.6px 1px #ffffff, -1.4px 0.5px 1px #ffffff, -1.4px 0.3px 1px #ffffff, -1.5px 0.2px 1px #ffffff, -1.5px 0px 1px #ffffff, -1.5px -0.2px 1px #ffffff, -1.4px -0.3px 1px #ffffff, -1.4px -0.5px 1px #ffffff, -1.3px -0.6px 1px #ffffff, -1.2px -0.8px 1px #ffffff, -1.1px -0.9px 1px #ffffff, -1px -1px 1px #ffffff, -0.9px -1.1px 1px #ffffff, -0.8px -1.2px 1px #ffffff, -0.6px -1.3px 1px #ffffff, -0.5px -1.4px 1px #ffffff, -0.3px -1.4px 1px #ffffff, -0.2px -1.5px 1px #ffffff, 0px -1.5px 1px #ffffff, 0.2px -1.5px 1px #ffffff, 0.3px -1.4px 1px #ffffff, 0.5px -1.4px 1px #ffffff, 0.6px -1.3px 1px #ffffff, 0.8px -1.2px 1px #ffffff, 0.9px -1.1px 1px #ffffff, 1px -1px 1px #ffffff, 1.1px -0.9px 1px #ffffff, 1.2px -0.8px 1px #ffffff, 1.3px -0.6px 1px #ffffff, 1.4px -0.5px 1px #ffffff, 1.4px -0.3px 1px #ffffff, 1.5px -0.2px 1px #ffffff;
  background: linear-gradient(transparent 50%, var(--yellow) 50%);
  paint-order: stroke;
  margin: 0 auto;
  width: fit-content;
}

.campaign____text {
  font-size: 0.875rem;
  font-weight: 350;
  line-height: 1.6;
  margin-top: 0.97rem;
}

.campaign__note {
  font-size: 0.625rem;
  font-weight: 300;
  letter-spacing: 6%;
  margin-top: 0.915625rem;
}

/* voice */
.voice {
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding-block: 3rem 2.5rem;
}

.voice .section__titleGroup {
  width: 12rem;
}

.consulting .voice .section__titleGroup {
  width: 15.67875rem;
}

.voice .section__title--en {
  color: #D5EDF2;
}

.voice__list {
  margin-top: 1.38125rem;
}

.voice__listItem {
  margin-top: 1rem;
}

.general .voice__listItemWrap {
  display: grid;
  grid-template-columns: 3.3125rem 1fr;
  align-items: center;
  gap: 0.531875rem;
}

.voice__itemTitleWrap {
  position: relative;
  border-bottom: 1.7px solid var(--main);
  padding-bottom: 0.798125rem;
}

.general .voice__itemTitleWrap::after {
  content: "";
  position: absolute;
  top: 100%;
  right: 0;
  transform: translateY(-55%);
  display: block;
  background-image: url(/assets/images/icon-gokaku.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 2.415625rem;
  height: 2.415625rem;
}

.voice__itemTitle {
  font-weight: 700;
  color: var(--main);
  line-height: 1.3;
}

.voice__itemPerson {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--main);
  margin-top: 0.3125rem ;
}

.voice__itemText {
  font-size: 0.875rem;
  font-weight: 350;
  line-height: 1.7;
  letter-spacing: 3%;
  margin-top: 0.53125rem;
}

.voice__itemText--red {
  color: var(--red);
}

.voice__note {
  font-size: 0.625rem;
  font-weight: 300;
  line-height: 1.6;
  letter-spacing: 6%;
  margin-top: 0.53875rem;
}

.voice__button {
  margin-top: 0.625rem;
}

.voice__button a {
  position: relative;
  font-size: 0.8125rem;
  font-weight: 500;
  text-align: center;
  background-color: #fff;
  border-radius: 1.99375rem;
  box-shadow: 0px 0.3125rem 0.9375rem 0px rgba(0, 0, 0, 0.35);
  padding-block: 0.43875rem 0.56125rem;
  margin: 0 auto;
  width: 20.9375rem;
}

.voice__button a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.02875rem;
  transform: translateY(-50%);
  display: block;
  background-image: url(/assets/images/icon-arrow-yellow.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  width: 0.875rem;
  height: 0.9375rem;
}

.voice__buttonText--green {
  font-size: 1rem;
  color: var(--main);
}

/* faq */
.faq {
  position: relative;
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-repeat: repeat;
  background-size: contain;
  padding-block: 3rem 2.5rem;
}

.faq::after {
  content: "";
  position: absolute;
  top: calc(100% - 1px);
  left: 50%;
  transform: translateX(-50%);
  display: block;
  background-image: url(/assets/images/img-bg-white.jpg);
  background-position: center;
  background-size: cover;
  background-color: var(--white);
  clip-path: polygon(50% 3rem, 0% 0%, 100% 0%);
  width: 100%;
  height: 3rem;
  z-index: 2;
}

.faq .section__title--en {
  color: #D5EDF2;
}

.faq__list {
  margin-top: 1rem;
}

.faq__item {
  margin-top: 1rem;
}

.faq__item:first-of-type {
  margin-top: 0;
}

.faq__question {
  display: flex;
  align-items: baseline;
  font-weight: 700;
  color: var(--main);
  line-height: 1.3;
  gap: 0.26625rem;
}

.faq__question::before {
  content: "Q.";
  font-size: 1.595625rem;
  font-weight: 400;
  font-family: "Gothic A1", sans-serif;
  color: var(--main);
}

.faq__answer {
  display: flex;
  align-items: baseline;
  font-size: 0.875rem;
  font-weight: 350;
  line-height: 1.6;
  letter-spacing: 3%;
  gap: 0.26625rem;
}

.faq__answer::before {
  content: "A.";
  font-size: 1.595625rem;
  font-weight: 400;
  font-family: "Gothic A1", sans-serif;
  color: #B5B6B7;
}

.faq__marker {
  background-color: var(--yellow);
}

.faq__note {
  font-size: 0.625rem;
  font-weight: 300;
  line-height: 2;
  padding-left: 1.80875rem;
}

/* message */
.message {
  text-align: center;
  background-image: linear-gradient(to top, rgba(250, 235, 85, 0) 13.82%, rgba(131, 228, 126, 0.5) 60.61%, rgba(0, 170, 176, 0.6) 96.18%), url(/assets/images/img-message-bg.png);
  background-repeat: no-repeat;
  background-position: top, 0 30%;
  background-size: 100% 13rem, contain;
  padding-block: 6.19625rem 2.69375rem;
}

.consulting .message {
  background-position: top, 0 74%;
}

.message__leadText {
  font-size: 1.293125rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 1.8;
  margin-bottom: 7.7rem;
}

.message__leadText--green {
  font-size: 1.885625rem;
  font-weight: 700;
  color: var(--main);
}

.message__text {
  font-size: 0.97rem;
  font-family: "Shippori Mincho B1", serif;
  line-height: 2;
  margin-top: 2rem;
}

@media screen and (max-width: 700px) {
  .message {
    background-size: 100% 13rem, cover;
  }
  
  .message__leadText {
    margin-bottom: max(43.29vw, 11.5rem);
  }
}

@media screen and (max-width: 575px) {
  .message {
    background-size: 100% 13rem, contain;
  }
}

@media screen and (max-width: 450px) {
  .message__leadText {
    margin-bottom: max(34.29vw, 8.5rem);
  }
}

/* footer */
.footer {
  padding: 1.25rem 1rem 0.5625rem;
}

.footerContent {
  margin-block: 3.125rem 2.25rem;
}

.footerContent__list {
  font-size: 0.8125rem;
  margin-top: 0.3rem;
}

.footerContent__list:first-of-type {
  margin-top: 0;
}

.footerContent__listItem {
  margin-top: 2.25rem;
}

.footerContent__listItem:first-of-type {
  margin-top: 0;
}

.footerContent__itemTitle {
  font-size: 0.861875rem;
  font-weight: 700;
  line-height: 2;
  border-left: 0.215625rem solid var(--main);
  border-right: 0.215625rem solid var(--main);
  padding-inline: 1.99375rem;
  margin: 0 auto;
  width: fit-content;
}

.footerContent__itemTextWrap {
  letter-spacing: 3%;
  border: 1px solid #E5E5E5;
  overflow-y: scroll;
  padding: 0.743125rem 0.8125rem;
  margin-top: 1.375rem;
  height: 8.125rem;
}

.footerContent__itemTextListTitle {
  font-size: 0.75rem;
  font-weight: 700;
  line-height: 1.3;
  margin-top: 1.375rem;
}

.footerContent__itemTextListTitle:first-of-type {
  margin-top: 0;
}

.footerContent__itemTextList,
.footerContent__itemTextList--unorder {
  line-height: 1.3;
  margin-top: 0.75rem;
}

.footerContent__itemText {
  font-size: 0.75rem;
  line-height: 1.3;
  margin-top: 0.75rem;
}

.footerContent__itemTextList .footerContent__itemText {
  list-style-type: auto;
  list-style-position: inside;
  text-indent: -0.5rem;
  padding-left: 0.5rem;
  margin-top: 0.1875rem;
}

.footerContent__itemTextList--unorder .footerContent__itemText {
  list-style-type: disc;
  list-style-position: inside;
  text-indent: -0.5rem;
  padding-left: 0.5rem;
  margin-top: 0.1875rem;
}

.footerContent__itemTextList .footerContent__itemText:first-of-type,
.footerContent__itemTextList--unorder .footerContent__itemText:first-of-type {
  margin-top: 0;
}

.copyright {
  font-size: 0.64625rem;
  font-weight: 300;
  text-align: center;
  line-height: 3;
}

@media screen and (max-width: 700px) {
  .footer {
    padding-bottom: 4.8125rem;
  }
}
