@charset "UTF-8";
.wrap {
  display: flex;
  flex-flow: column;
  justify-content: stretch;
  align-items: stretch;
  min-height: 100dvh;
  background: #F6F2EB;
}

body:not(.page--top) .main-contents-inner {
  display: flex;
  flex-flow: row-reverse wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
  padding-top: 4rem;
  padding-bottom: 8rem;
  max-width: 128rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 4rem;
  padding-right: 4rem;
}
@media only screen and (max-width: 767px) {
  body:not(.page--top) .main-contents-inner {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-top: 2rem;
  }
}

.page-hero {
  position: relative;
}
.page-hero .bg {
  width: 100%;
  position: relative;
}
.page-hero .bg img {
  width: 100%;
  height: 30rem;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .page-hero .bg img {
    height: 20rem;
  }
}
.page-hero-wrap {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  display: flex;
  align-items: stretch;
}
.page-hero-wrap > * {
  flex: 1;
}
.page-hero .inner {
  height: 30rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .page-hero .inner {
    height: 20rem;
  }
}
.page-hero .page-title {
  color: var(--themeColor);
}
.page-hero .page-title .en {
  font-size: 8rem;
  line-height: 1.2;
  color: var(--text);
}
@media only screen and (max-width: 767px) {
  .page-hero .page-title .en {
    font-size: 4rem;
  }
}
.page-hero .page-title .ja {
  font-size: 2rem;
  font-weight: 800;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .page-hero .page-title .ja {
    font-size: 1.6rem;
  }
}

.site-main {
  flex: 1;
}

.aside {
  width: 32rem;
  position: sticky;
  top: 12rem;
  left: 0;
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .aside {
    width: 100%;
  }
}
.aside-block {
  background: #fff;
  padding: 2rem;
  border-radius: 1rem;
}
.aside-title {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 0.5rem;
}
.aside-title + * {
  margin-top: 1.5rem;
}
.aside-title svg {
  width: 2.4rem;
  height: auto;
  max-width: 100%;
}
.aside-title h2 {
  font-size: 1.8rem;
}
.aside-category-list {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 1rem;
}
.aside-category-list__item a {
  color: var(--text-light);
  padding-right: 2rem;
  display: block;
  transition: 400ms;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .aside-category-list__item a:hover {
    padding-left: 2rem;
    padding-right: 0;
    color: var(--primary);
  }
  .aside-category-list__item a:hover::before {
    transform: translateX(0%);
    opacity: 1;
  }
}
.aside-category-list__item a::before {
  content: "";
  display: block;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10.485' height='8.339' viewBox='0 0 10.485 8.339'%3E%3Cg id='グループ_1516' data-name='グループ 1516' transform='translate(-358.757 -239.83)'%3E%3Cpath id='パス_880' data-name='パス 880' d='M14628.475-10139.367h-8.853a.817.817,0,0,1-.816-.816.817.817,0,0,1,.816-.816h8.853a.816.816,0,0,1,.816.816A.816.816,0,0,1,14628.475-10139.367Z' transform='translate(-14260.049 10384.184)' fill='%231ca2e4'/%3E%3Cpath id='パス_881' data-name='パス 881' d='M14631.049-10137.4a.81.81,0,0,1-.577-.239.815.815,0,0,1,0-1.154l2.776-2.775-2.776-2.777a.815.815,0,0,1,0-1.154.818.818,0,0,1,1.155,0l3.354,3.354a.821.821,0,0,1,.238.578.816.816,0,0,1-.238.576l-3.354,3.354A.814.814,0,0,1,14631.049-10137.4Z' transform='translate(-14265.977 10385.564)' fill='%231ca2e4'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  width: 1.05rem;
  aspect-ratio: 105/83;
  position: absolute;
  top: 0.7em;
  left: 0;
  z-index: 9;
  transition: 400ms;
  transform: translateX(-100%);
  opacity: 0;
}
@media only screen and (min-width: 768px) {
  .aside-entry a {
    transition: 200ms;
  }
  .aside-entry a:hover {
    opacity: 0.7;
  }
}

.en {
  font-family: "Montserrat", sans-serif;
}

.article-page.white {
  background: #fff;
  padding: 4rem;
  border-radius: 1rem;
}
@media only screen and (max-width: 767px) {
  .article-page.white {
    padding: 2rem 1.5rem;
  }
}

.article-block:not(:last-of-type) {
  margin-bottom: 8rem;
}
.article-block > * {
  margin-top: 2.4rem;
  margin-bottom: 2.4rem;
}
.article-block > *:first-child {
  margin-top: 0;
}
.article-block > *:last-child {
  margin-bottom: 0;
}

.search-form {
  position: relative;
}
.search-form input[type=text],
.search-form input[type=tel],
.search-form input[type=email] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none;
  font-family: inherit;
  font-size: 1em;
  background: #F7F7F7;
  width: 100%;
  border-radius: 50vw;
  padding: 1.1rem 2rem;
}
@media only screen and (max-width: 767px) {
  .search-form input[type=text],
  .search-form input[type=tel],
  .search-form input[type=email] {
    font-size: 1.6rem;
    padding: 1.5rem 2rem;
  }
}
.search-form button,
.search-form input[type=submit] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  border-radius: 0;
  font-family: inherit;
  font-size: 1em;
  color: inherit;
  background: #fff;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg id='グループ_1521' data-name='グループ 1521' transform='translate(-348 -228)'%3E%3Crect id='長方形_2045' data-name='長方形 2045' width='32' height='32' rx='16' transform='translate(348 228)' fill='rgba(255,255,255,0)'/%3E%3Cg id='グループ_1511' data-name='グループ 1511'%3E%3Cpath id='パス_880' data-name='パス 880' d='M14628.475-10139.367h-8.853a.817.817,0,0,1-.816-.816.817.817,0,0,1,.816-.816h8.853a.816.816,0,0,1,.816.816A.816.816,0,0,1,14628.475-10139.367Z' transform='translate(-14260.049 10384.184)' fill='%231ca2e4'/%3E%3Cpath id='パス_881' data-name='パス 881' d='M14631.049-10137.4a.81.81,0,0,1-.577-.239.815.815,0,0,1,0-1.154l2.776-2.775-2.776-2.777a.815.815,0,0,1,0-1.154.818.818,0,0,1,1.155,0l3.354,3.354a.821.821,0,0,1,.238.578.816.816,0,0,1-.238.576l-3.354,3.354A.814.814,0,0,1,14631.049-10137.4Z' transform='translate(-14265.977 10385.564)' fill='%231ca2e4'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  width: 3.2rem;
  height: 3.2rem;
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translate(0%, -50%);
  border-radius: 50vw;
  transition: 200ms;
}
@media only screen and (min-width: 768px) {
  .search-form button:hover,
  .search-form input[type=submit]:hover {
    background: var(--primary);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 32 32'%3E%3Cg id='グループ_1521' data-name='グループ 1521' transform='translate(-348 -228)'%3E%3Crect id='長方形_2045' data-name='長方形 2045' width='32' height='32' rx='16' transform='translate(348 228)' fill='rgba(255,255,255,0)'/%3E%3Cg id='グループ_1511' data-name='グループ 1511'%3E%3Cpath id='パス_880' data-name='パス 880' d='M14628.475-10139.367h-8.853a.817.817,0,0,1-.816-.816.817.817,0,0,1,.816-.816h8.853a.816.816,0,0,1,.816.816A.816.816,0,0,1,14628.475-10139.367Z' transform='translate(-14260.049 10384.184)' fill='%23fff'/%3E%3Cpath id='パス_881' data-name='パス 881' d='M14631.049-10137.4a.81.81,0,0,1-.577-.239.815.815,0,0,1,0-1.154l2.776-2.775-2.776-2.777a.815.815,0,0,1,0-1.154.818.818,0,0,1,1.155,0l3.354,3.354a.821.821,0,0,1,.238.578.816.816,0,0,1-.238.576l-3.354,3.354A.814.814,0,0,1,14631.049-10137.4Z' transform='translate(-14265.977 10385.564)' fill='%23fff'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E%0A");
  }
}
@media only screen and (max-width: 767px) {
  .search-form button,
  .search-form input[type=submit] {
    width: 4rem;
    height: 4rem;
  }
}

.headline-title {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
.headline-title .ja {
  font-size: 1.6rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary);
  display: inline-block;
  padding: 0.3rem 1.2rem;
  border-radius: 0.4rem;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .headline-title .ja {
    font-size: 1.2rem;
  }
}
.headline-title .en {
  font-size: 8rem;
  font-weight: 700;
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .headline-title .en {
    font-size: 4rem;
  }
}
.headline-title::after {
  content: "";
  display: block;
  width: 10rem;
  height: 0.5rem;
  background: var(--primary);
  margin-top: 1em;
  margin-bottom: 1em;
}
@media only screen and (max-width: 767px) {
  .headline-title::after {
    width: 5rem;
    height: 0.3rem;
  }
}
.headline-lead {
  margin-top: 1.2rem;
}
.headline-lead p {
  font-size: 1.8rem;
}
@media only screen and (max-width: 767px) {
  .headline-lead p {
    font-size: 1.6rem;
  }
}

@media only screen and (min-width: 768px) {
  .menu-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 2.4rem;
  }
}
.menu-list > li a {
  word-break: keep-all;
}

.blog-card {
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
  transition: transform 0.3s, box-shadow 0.3s;
}
.blog-card:hover {
  transform: translateY(-0.4rem);
  box-shadow: 0 0.8rem 3rem rgba(0, 0, 0, 0.1);
}
.blog-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3.2rem;
}
.blog-card-grid.column {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 2rem;
}
.blog-card-grid.column .blog-card {
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .blog-card-grid.column .blog-card-link {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
@media only screen and (min-width: 768px) {
  .blog-card-grid.column .blog-card-thumb {
    width: 30rem;
  }
}
@media only screen and (min-width: 768px) {
  .blog-card-grid.column .blog-card-body {
    flex: 1;
  }
}
.blog-card-link {
  display: block;
  text-decoration: none;
  color: inherit;
}
.blog-card-thumb {
  width: 100%;
  aspect-ratio: 16/9;
  overflow: hidden;
  background: var(--primary-light);
}
.blog-card-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s;
}
.blog-card:hover .blog-card-thumb img {
  transform: scale(1.05);
}
.blog-card-body {
  padding: 1.6rem 2.4rem 2.4rem;
}
@media only screen and (max-width: 767px) {
  .blog-card-body {
    padding: 1.5rem;
  }
}
.blog-card-meta {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  gap: 0 1.2rem;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .blog-card-meta {
    margin-bottom: 0.5rem;
  }
}
.blog-card-date {
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .blog-card-date {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}
.blog-card-category {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary);
  padding: 0.2rem 1rem;
  border-radius: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .blog-card-category {
    font-size: 1.2rem;
  }
}
.blog-card-title {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text);
  line-height: 1.6;
  margin: 0;
}

.search-hero {
  margin-bottom: 4rem;
}
@media only screen and (max-width: 767px) {
  .search-hero {
    margin-bottom: 2rem;
  }
}
.search-hero-title h2 {
  font-size: 4rem;
}
@media only screen and (max-width: 767px) {
  .search-hero-title h2 {
    font-size: 2rem;
  }
}
.search-hero-lead {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .search-hero-lead {
    font-size: 1.4rem;
  }
}

.entry-head .blog-page-title {
  font-size: 4rem;
  line-height: 1.5;
}
@media only screen and (max-width: 767px) {
  .entry-head .blog-page-title {
    font-size: 2rem;
  }
}
.entry-head .blog-page-thumbnail {
  border-radius: 1rem;
  overflow: hidden;
  margin-top: 3rem;
}
@media only screen and (max-width: 767px) {
  .entry-head .blog-page-thumbnail {
    margin-top: 1.5rem;
    border-radius: 0.5rem;
  }
}
.entry-head .blog-page-thumbnail img {
  width: 100%;
}

.section-cta.white {
  background: #fff;
}

.section-recommend {
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-recommend {
    padding-bottom: 4rem;
  }
}
.section-recommend .blog-card-grid {
  margin-top: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-recommend .blog-card-grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
}

.inview {
  opacity: 0;
}
.inview.slideIn {
  transform: translate(0px, 6rem);
  transition: all 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.inview.slideIn.bottom {
  transition: all 1600ms cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate(0px, 12rem);
}
.inview.slideIn.animate {
  opacity: 1;
  transform: translate(0, 0);
}
.inview.fadeIn {
  transition: opacity 1500ms cubic-bezier(0.25, 0.1, 0.25, 1);
}
.inview.fadeIn.animate {
  opacity: 1;
}

.entry {
  font-weight: 400;
  letter-spacing: 0;
}
.entry > * {
  margin: 2.4rem 0;
}
@media only screen and (max-width: 767px) {
  .entry > * {
    margin: 1.6rem 0;
  }
}
.entry > *:first-child {
  margin-top: 0;
}
.entry > *:last-child {
  margin-bottom: 0;
}
.entry.small > *:first-child {
  margin-top: -2em;
}
.entry small {
  font-size: 0.935em;
}
.entry img {
  display: block;
}
.entry a {
  text-decoration: underline;
  color: var(--themeColor);
}
@media only screen and (min-width: 768px) {
  .entry a:hover {
    text-decoration: none;
  }
}
.entry strong.bold {
  border-bottom: 4px solid #FFD800;
}
.entry ul {
  padding-left: 1em;
}
.entry ul li:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.entry ul li::before {
  margin-left: -1em;
  display: inline-block;
  content: "・";
}
.entry ul.color {
  padding-left: 1.5em;
}
.entry ul.color li:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.entry ul.color li::before {
  margin-left: -1.5em;
  display: inline-block;
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 50vw;
  background: var(--themeColor);
  margin-right: 1.5rem;
}
.entry ol {
  padding-left: 1.5em;
}
.entry ol li {
  counter-increment: entry-ol;
}
.entry ol li:not(:last-of-type) {
  margin-bottom: 1.6rem;
}
.entry ol li::before {
  text-indent: -1.5em;
  display: inline-block;
  content: counter(entry-ol);
  font-size: 1em;
  color: var(--themeColor);
  font-weight: 700;
}
.entry ol.def li::before {
  color: #333;
  font-weight: normal;
}

.headline-2,
.entry h2 {
  font-size: 3.6rem;
  font-weight: 700;
  margin: 4.8rem 0 2.4rem;
  border-bottom: 4px solid #CCCCCC;
  position: relative;
  padding-bottom: 1rem;
  letter-spacing: 0;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-2,
  .entry h2 {
    font-size: 2.2rem;
    margin: 3.6rem 0 1.6rem;
  }
}
.headline-2::after,
.entry h2::after {
  content: "";
  display: block;
  width: 4rem;
  height: 0.4rem;
  background: var(--themeColor);
  position: absolute;
  bottom: -0.4rem;
  left: 0;
}

.headline-3,
.entry h3 {
  font-size: 3rem;
  font-weight: 700;
  margin: 4.8rem 0 2.4rem;
  border-left: 0.4rem solid var(--themeColor);
  padding-bottom: 0.5rem;
  padding-left: 1.6rem;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-3,
  .entry h3 {
    font-size: 1.8rem;
    border-width: 0.3rem;
    padding-left: 1rem;
    padding-bottom: 0.3rem;
    line-height: 1.3;
    margin-bottom: 1.6rem;
  }
}

.headline-2 + .headline-3 {
  margin: 2.4rem 0;
}

.headline-4,
.entry h4 {
  font-size: 2.6rem;
  font-weight: 700;
  margin: 4.8rem 0 2.4rem;
  position: relative;
  padding-left: 2.4rem;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-4,
  .entry h4 {
    font-size: 1.6rem;
    padding-left: 1.6rem;
    margin-bottom: 1.6rem;
  }
}
.headline-4::before,
.entry h4::before {
  content: "";
  display: block;
  width: 1.6rem;
  height: 0.2rem;
  background: var(--themeColor);
  position: absolute;
  top: 2rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .headline-4::before,
  .entry h4::before {
    top: 1.2rem;
    width: 1rem;
  }
}

.headline-5,
.entry h5 {
  font-size: 2.2rem;
  font-weight: 700;
  margin: 1em 0 0.7em;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-5,
  .entry h5 {
    font-size: 1.5rem;
  }
}
.headline-5 + p,
.entry h5 + p {
  margin-top: -1rem;
}

.headline-6,
.entry h6 {
  font-size: 1.8rem;
  font-weight: 700;
  margin: 1em 0 0.5em;
  line-height: 1.4 !important;
}
@media only screen and (max-width: 767px) {
  .headline-6,
  .entry h6 {
    font-size: 1.4rem;
  }
}
.headline-6 + p,
.entry h6 + p {
  margin-top: 0;
}

.table-main,
.entry table {
  width: 100%;
  border-collapse: collapse;
}
@media only screen and (max-width: 767px) {
  .table-main,
  .entry table {
    display: block;
    overflow: auto;
    width: 100%;
  }
}
.table-main.bg-none tbody tr,
.entry table.bg-none tbody tr {
  background: none !important;
}
@media only screen and (min-width: 768px) {
  .table-main.fixed,
  .entry table.fixed {
    table-layout: fixed;
  }
}
.table-main.fixed tr > *:first-child,
.entry table.fixed tr > *:first-child {
  width: 13.8rem;
}
.table-main.equal tr > *:first-child,
.entry table.equal tr > *:first-child {
  width: auto;
}
@media only screen and (max-width: 767px) {
  .table-main.sp-nowrap,
  .entry table.sp-nowrap {
    white-space: nowrap;
  }
}
@media only screen and (max-width: 767px) {
  .table-main.sp-nowrap tbody td,
  .entry table.sp-nowrap tbody td {
    min-width: auto;
  }
}
.table-main.sp-nowrap,
.entry table.sp-nowrap {
  min-width: 24rem;
}
.table-main tr > *:first-child,
.entry table tr > *:first-child {
  padding-left: 2.4rem;
  padding-right: 1.2rem;
}
.table-main tr > *:last-child,
.entry table tr > *:last-child {
  padding-right: 2.4rem;
  padding-left: 1.2rem;
}
.table-main thead th,
.entry table thead th {
  text-align: left;
  padding: 2.4rem 1.8rem;
  background: #333;
  color: #fff;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .table-main thead th,
  .entry table thead th {
    padding: 1rem;
  }
}
.table-main thead + tbody,
.entry table thead + tbody {
  border-top: none;
}
@media only screen and (max-width: 767px) {
  .table-main thead + tbody,
  .entry table thead + tbody {
    display: table-row-group;
  }
}
.table-main tbody,
.entry table tbody {
  border-top: 1px solid #ccc;
}
@media only screen and (max-width: 767px) {
  .table-main tbody,
  .entry table tbody {
    display: table;
    width: 100%;
  }
}
.table-main tbody tr,
.entry table tbody tr {
  border-bottom: 1px solid #ccc;
}
.table-main tbody tr:nth-of-type(even),
.entry table tbody tr:nth-of-type(even) {
  background: #F1EFE8;
}
.table-main tbody th,
.entry table tbody th {
  vertical-align: top;
  text-align: left;
  padding: 2.4rem 1.8rem;
  padding-right: 0;
}
@media only screen and (min-width: 768px) {
  .table-main tbody th,
  .entry table tbody th {
    width: 13.8rem;
  }
}
@media only screen and (max-width: 767px) {
  .table-main tbody th,
  .entry table tbody th {
    padding: 1rem;
    white-space: nowrap;
  }
}
.table-main tbody td,
.entry table tbody td {
  padding: 2.4rem 1.8rem;
  vertical-align: top;
}
@media only screen and (max-width: 767px) {
  .table-main tbody td,
  .entry table tbody td {
    padding: 1rem;
    min-width: 18rem;
  }
}
@media only screen and (max-width: 767px) {
  .table-main tbody td:last-of-type,
  .entry table tbody td:last-of-type {
    width: 100%;
  }
}
.table-main tbody td > *:first-child,
.entry table tbody td > *:first-child {
  margin-top: 0;
}
.table-main tbody td > *:last-child,
.entry table tbody td > *:last-child {
  margin-bottom: 0;
}
.table-main tbody td a,
.entry table tbody td a {
  color: var(--themeColor);
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .table-main tbody td a:hover,
  .entry table tbody td a:hover {
    text-decoration: none;
  }
}
.table-main tbody td ul,
.entry table tbody td ul {
  padding-left: 1em;
}
.table-main tbody td ul li,
.entry table tbody td ul li {
  padding-left: 0;
}
.table-main tbody td ul li::before,
.entry table tbody td ul li::before {
  content: "・";
  display: inline-block;
  text-indent: -1em;
  margin-left: 0;
  width: auto;
  height: auto;
  border-radius: 50vw;
  background: none;
  margin-right: 0;
}

.section-hero {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
  background-image: url(../img/hero-bg.jpg);
  background-image: image-set(url(../img/hero-bg.webp) type("image/webp"), url(../img/hero-bg.jpg) type("image/jpg"));
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .section-hero {
    background-image: url(../img/hero-bg-sp.jpg);
    background-image: image-set(url(../img/hero-bg-sp.webp) type("image/webp"), url(../img/hero-bg-sp.jpg) type("image/jpg"));
    background-position: 50% 90%;
  }
}
.section-hero::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #FFFFFF 0%, #FFFFFF 35%, rgba(255, 255, 255, 0) 100%) 0% 0%;
  z-index: -1;
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .section-hero::after {
    width: 100%;
    background: linear-gradient(135deg, #FFFFFF 0%, #FFFFFF 35%, rgba(255, 255, 255, 0) 100%) 0% 0%;
    background: rgba(255, 255, 255, 0.8);
  }
}
@media only screen and (min-width: 768px) {
  .section-hero-wrapper {
    padding-top: 10rem;
    padding-bottom: 10rem;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-hero-wrapper {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-hero-left {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: flex-start;
    min-height: 20rem;
  }
}
.section-hero-band {
  background: var(--primary);
  color: #fff;
  padding: 0.5rem 1rem 0.5rem 1rem;
  display: inline-block;
  font-size: 1.8rem;
  margin-bottom: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .section-hero-band {
    font-size: 1.4rem;
  }
}
.section-hero-title {
  font-size: 6rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-feature-settings: "palt";
}
@media only screen and (max-width: 767px) {
  .section-hero-title {
    font-size: 3rem;
    line-height: 1.5;
  }
}
.section-hero-title span {
  color: var(--primary);
}
.section-hero-lead {
  margin-top: 2rem;
  line-height: 1.8;
  color: var(--text-light);
  letter-spacing: 0.05em;
  font-size: 2.2rem;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .section-hero-lead {
    font-size: 1.4rem;
    letter-spacing: 0;
  }
}
.section-hero-tags {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.5rem;
  margin-top: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-hero-tags {
    display: none;
  }
}
.section-hero-tags .tag {
  display: inline-block;
  padding: 0.6rem 1.4rem;
  background: #fff;
  box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1607843137);
  border-radius: 50vw;
  font-size: 1.6rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .section-hero-tags .tag {
    font-size: 1.3rem;
  }
}
.section-hero-btns {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.8rem;
  margin-top: 3.2rem;
}
@media only screen and (max-width: 767px) {
  .section-hero-btns {
    font-size: 1.4rem;
    margin-top: 2rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-hero-bottom {
    display: contents;
  }
}
.section-hero-note {
  font-size: 1.6rem;
  color: var(--text-light);
  margin-top: 1rem;
}
@media only screen and (max-width: 767px) {
  .section-hero-note {
    font-size: 1.2rem;
    color: inherit;
  }
}
.section-hero-note::before {
  content: "※";
}
.section-hero-info {
  background: rgba(255, 255, 255, 0.3);
  backdrop-filter: blur(0.8rem);
  border-radius: 1.6rem;
  padding: 3.2rem;
  border: 0.1rem solid rgba(255, 255, 255, 0.18);
  width: 100%;
}
.section-hero-info-title {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 1.6rem;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
.section-hero-info-title::before {
  content: "";
  display: inline-block;
  width: 0.8rem;
  height: 0.8rem;
  background: #ffd54f;
  border-radius: 50%;
}
.section-hero-info-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.section-hero-info-list__item {
  font-size: 1.8rem;
  line-height: 1.6;
  position: relative;
  padding-left: 1.5em;
}
.section-hero-info-list__item::before {
  content: "";
  display: block;
  width: 1.2rem;
  height: 0.6rem;
  border-left: 0.2rem solid #fff;
  border-bottom: 0.2rem solid #fff;
  position: absolute;
  top: 0.5em;
  left: 0;
  transform: translate(10%) rotate(-45deg);
}
.section-hero-info-list__item span {
  font-size: 1.6rem;
  display: block;
  opacity: 0.8;
}
.section-hero-info-list__item span:first-of-type {
  margin-top: 0.5rem;
}

.section-issue {
  background: var(--primary);
  padding-top: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-issue {
    padding-top: 6rem;
  }
}
.section-issue-grid {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
}
@media only screen and (min-width: 768px) {
  .section-issue .headline {
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
    gap: 5rem;
    width: 45%;
  }
}
@media only screen and (min-width: 768px) {
  .section-issue .headline .img {
    width: 50rem;
  }
}
.section-issue-title {
  color: #fff;
  font-size: 4.4rem;
}
@media only screen and (max-width: 767px) {
  .section-issue-title {
    font-size: 3rem;
    text-align: center;
    margin-bottom: 2rem;
  }
}
.section-issue .img {
  text-align: center;
}
.section-issue .img img {
  width: 80%;
}
.section-issue-list {
  padding-bottom: 4rem;
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .section-issue-list {
    padding-bottom: 6rem;
  }
}
.section-issue-list__item {
  padding: 1rem 1.5rem;
  font-size: 1.8rem;
  background: #fff;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .section-issue-list__item {
    font-size: 1.6rem;
  }
}
.section-issue-list__item em {
  color: var(--primary);
  font-size: 1.2em;
  font-weight: bold;
}
.section-issue-list__item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg id='グループ_1356' data-name='グループ 1356' transform='translate(-560 -1319)'%3E%3Ccircle id='楕円形_3' data-name='楕円形 3' cx='12' cy='12' r='12' transform='translate(560 1319)' fill='%23e1f0fa'/%3E%3Cpath id='パス_820' data-name='パス 820' d='M2.9,0H0L3.131,11.388H5.954Z' transform='translate(569.024 1325.306)' fill='%231CA3E5'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
.section-issue-list__item:not(:last-child) {
  margin-bottom: 1rem;
}

.section-answer {
  padding-top: 12rem;
  padding-bottom: 8rem;
  background: #fff;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .section-answer {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-answer-title {
  font-size: 3rem;
  text-align: center;
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .section-answer-title {
    font-size: 1.8rem;
  }
}
.section-answer-title span {
  border-bottom: 0.3rem solid var(--primary);
}
.section-answer-title svg {
  width: 31rem;
  height: auto;
  vertical-align: top;
  margin-top: 1rem;
  margin-right: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .section-answer-title svg {
    width: 24rem;
  }
}
.section-answer .lead {
  font-size: 2rem;
  line-height: 1.8;
  margin-top: 2rem;
  margin-bottom: 5rem;
  font-weight: 600;
}
@media only screen and (min-width: 768px) {
  .section-answer .lead {
    text-align: center;
  }
}
@media only screen and (max-width: 767px) {
  .section-answer .lead {
    font-size: 1.4rem;
    line-height: 1.8;
  }
}
.section-answer .lead .en.font-large {
  font-size: 4rem;
  font-style: italic;
}
@media only screen and (max-width: 767px) {
  .section-answer .lead .en.font-large {
    font-size: 2.4rem;
    margin-top: -0.5rem;
    display: inline-block;
  }
}
.section-answer-body {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .section-answer-body {
    flex-flow: column;
    gap: 2rem;
  }
}
.section-answer-body .img {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .section-answer-body .img {
    width: 40%;
  }
}
.section-answer-body .img img {
  width: 100%;
  max-width: none;
}
.section-answer-body .text {
  flex: 1;
  background: var(--primary-bg);
  padding: 4rem;
  border-radius: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .section-answer-body .text {
    padding: 1.6rem;
  }
}
.section-answer-body .text p {
  font-size: 1.8rem;
  line-height: 1.8;
  font-weight: 600;
}
@media only screen and (max-width: 767px) {
  .section-answer-body .text p {
    font-size: 1.4rem;
  }
}
.section-answer-body .text p:not(:last-of-type) {
  margin-bottom: 1rem;
}

.section-title {
  display: flex;
}
.section-title .en {
  color: var(--primary);
  font-size: 3rem;
}
@media only screen and (max-width: 767px) {
  .section-title .en {
    font-size: 2rem;
  }
}
.section-title .ja {
  font-size: 4.8rem;
  line-height: 1.2;
}
@media only screen and (max-width: 767px) {
  .section-title .ja {
    font-size: 3rem;
  }
}
.section-title .ja i {
  font-size: 1.5em;
  color: var(--primary);
  line-height: 0.5;
}
.section-title.right {
  justify-content: flex-end;
}

.section-reason {
  padding-top: 8rem;
  padding-bottom: 8rem;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .section-reason {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-reason .section-title {
    justify-content: flex-start;
  }
}
.section-reason-list {
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .section-reason-list {
    margin-top: 3rem;
  }
}
.section-reason-list__item {
  padding: 6rem 3rem;
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item {
    padding: 1.5rem;
  }
}
.section-reason-list__item::before {
  content: "";
  display: block;
  width: 100vw;
  height: 100%;
  top: 0;
  right: 0;
  position: absolute;
  background: #fff;
  z-index: -1;
}
.section-reason-list__item:nth-of-type(even)::before {
  right: auto;
  left: 0;
}
.section-reason-list__item:not(:last-of-type) {
  margin-bottom: 4rem;
}
.section-reason-list__item .inner {
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .inner {
    flex-flow: column;
    gap: 0rem;
  }
}
.section-reason-list__item .count {
  position: relative;
  overflow: hidden;
}
@media only screen and (min-width: 768px) {
  .section-reason-list__item .count {
    width: 26rem;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    align-items: flex-end;
  }
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .count {
    padding-top: 3.6rem;
  }
}
.section-reason-list__item .count .en {
  display: flex;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-end;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .count .en {
    position: absolute;
    top: 0;
    right: 0;
    z-index: 0;
  }
}
.section-reason-list__item .count .en i {
  line-height: 1;
  color: var(--primary);
}
.section-reason-list__item .count .en i.reason {
  font-size: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .count .en i.reason {
    font-size: 1.8rem;
  }
}
.section-reason-list__item .count .en i.number {
  font-size: 8rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .count .en i.number {
    font-size: 6rem;
  }
}
.section-reason-list__item .count .img img {
  width: 100%;
}
.section-reason-list__item .body {
  flex: 1;
}
.section-reason-list__item .body .subtitle {
  font-size: 2.6rem;
  margin-bottom: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .body .subtitle {
    font-size: 1.6rem;
  }
}
.section-reason-list__item .body .title {
  font-size: 4.8rem;
  font-weight: 900;
  line-height: 1.35;
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .body .title {
    font-size: 2.3rem;
  }
}
.section-reason-list__item .body .text {
  font-size: 2rem;
  margin-top: 2rem;
  color: var(--text-light);
}
@media only screen and (max-width: 767px) {
  .section-reason-list__item .body .text {
    font-size: 1.4rem;
  }
}

.section-service {
  background: #fff;
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-service {
    padding-top: 6rem;
    padding-bottom: 2rem;
  }
}
.section-service-list {
  margin-top: 4.8rem;
}
@media only screen and (min-width: 768px) {
  .section-service-list {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-service-list {
    margin-top: 2rem;
  }
}
.section-service-list {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2rem;
}
.section-service-list__item {
  background: #fff;
  border: 0.1rem solid var(--border);
  border-radius: 1.2rem;
  padding: 2.8rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item {
    padding: 1.5rem;
  }
}
.section-service-list__item.full {
  grid-column: 1/-1;
}
.section-service-list__item:nth-of-type(1) .title::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%3e%3cpath%20id='service-icon-seisaku'%20d='M24,28H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H24a4,4,0,0,1,4,4V24A4,4,0,0,1,24,28ZM11.794,15.593h0L6.715,20.682a1.372,1.372,0,0,0-.064,1.483,1.84,1.84,0,0,0,1.521,1.072,1.764,1.764,0,0,0,1.311-.8c.11-.124.213-.24.324-.346,1.585-1.5,2.975-2.857,4.248-4.155l-.041-.212L11.8,15.591ZM9,11.143H9l11.937,11.92a1.019,1.019,0,0,0,.552.158,1.863,1.863,0,0,0,1.521-1.079,1.19,1.19,0,0,0-.1-1.305c-1.839-1.97-3.827-3.873-5.75-5.713-1.945-1.862-3.956-3.787-5.811-5.779-.05-.054-.272-.327-.245-.391,1.03-1.04,1.919-1.938,3.449-1.938.082,0,.166,0,.25.008a1.916,1.916,0,0,1,.307.061,1.72,1.72,0,0,0,.356.065c.065,0,.1-.016.122-.049.032-.062-.019-.183-.155-.372a3.586,3.586,0,0,0-3-1.49A4.508,4.508,0,0,0,9.555,6.306,26.37,26.37,0,0,0,7.5,8.355c-.608.651-1.237,1.323-1.888,1.9a.37.37,0,0,1-.156.038.5.5,0,0,1-.331-.188.511.511,0,0,0-.339-.19.479.479,0,0,0-.259.092c-.139.09-1.435,1.379-1.475,1.467a.329.329,0,0,0-.046.2l3.065,3.158.248.081A6.983,6.983,0,0,0,7.95,13.434.487.487,0,0,0,7.8,12.78c-.106-.107-.2-.2-.164-.325A9.264,9.264,0,0,1,9,11.143ZM20.768,5a3.748,3.748,0,0,0-3.035,1.526,4.207,4.207,0,0,0-.631,3.709l-1.578,1.688,2.219,2.236L19.436,12.5a3.874,3.874,0,0,0,1.423.273,3.987,3.987,0,0,0,3.267-1.758,3.577,3.577,0,0,0,.337-3.4L22.131,9.986l-1.889-.548-.51-1.766a.7.7,0,0,1,.327-.39,1.579,1.579,0,0,0,.209-.174c.089-.094.177-.2.261-.3.1-.118.2-.24.31-.348s.27-.244.429-.376a3.729,3.729,0,0,0,.718-.7.262.262,0,0,1,.047-.051c.017-.015.03-.027.029-.041s-.023-.04-.076-.076A3.863,3.863,0,0,0,20.768,5ZM7.9,6.08c-.18,0-.353.154-.554.333-.057.051-.116.1-.178.156l-.125.1c-.464.381-1.162.954-.982,1.528.062.2.183.318.325.318a.342.342,0,0,0,.188-.065,6.179,6.179,0,0,0,1.016-1,7.65,7.65,0,0,1,.868-.9C8.257,6.229,8.081,6.08,7.9,6.08Z'%20fill='%231ca3e5'/%3e%3c/svg%3e");
}
.section-service-list__item:nth-of-type(2) .title::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%3e%3cpath%20id='service-icon-unnyou'%20d='M24,28H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H24a4,4,0,0,1,4,4V24A4,4,0,0,1,24,28ZM10.344,20.055h0l1.879.783.251,2.479h3.317a.271.271,0,0,0,.127-.21,7.773,7.773,0,0,0,.051-.836,4.394,4.394,0,0,1,.157-1.39,3.805,3.805,0,0,0,1.031-.446,3.813,3.813,0,0,1,.777-.359.426.426,0,0,1,.1-.018.142.142,0,0,1,.112.062l1.693,1.507L22.2,19.309c.061-.235-.431-.715-.865-1.138a2.947,2.947,0,0,1-.623-.71,1.929,1.929,0,0,1,.3-.854,2.536,2.536,0,0,0,.368-1.1l2.433-.172V12.02a.275.275,0,0,0-.21-.126,6.98,6.98,0,0,0-.768-.032,4.147,4.147,0,0,1-1.417-.135l-.7-1.873L22.177,8.2l.03-.192L19.823,5.677a4.408,4.408,0,0,0-.921.778c-.4.385-.807.783-.961.783h-.012l-1.8-.8a4.273,4.273,0,0,1-.157-1.387,7.974,7.974,0,0,0-.051-.84A.272.272,0,0,0,15.791,4H12.474l-.2,2.44a12.8,12.8,0,0,0-1.281.483,1.866,1.866,0,0,0-.273.168,1.046,1.046,0,0,1-.25.147h-.019c-.167,0-.592-.407-1-.8a4.319,4.319,0,0,0-.89-.747L6.092,8.073,7.675,9.855l-.7,1.873a8.474,8.474,0,0,1-1.914.17H4.58v3.443l2.34.179c.058.156.115.317.169.472.071.2.144.407.221.608a2.31,2.31,0,0,0,.135.263c.13.232.278.494.2.659a6.062,6.062,0,0,1-.723.785c-.248.247-.481.481-.58.6-.046.059-.09.122-.132.183s-.071.1-.107.151l2.39,2.38h.013c.163,0,.647-.473,1.075-.891a5.812,5.812,0,0,1,.759-.68Zm3.745-2.713A3.6,3.6,0,0,1,11.5,16.181a3.342,3.342,0,0,1-.771-3.771,4,4,0,0,1,3.547-2.47A3.494,3.494,0,0,1,16.727,11a3.415,3.415,0,0,1,.916,3.863,3.968,3.968,0,0,1-3.554,2.479Z'%20fill='%231ca3e5'/%3e%3c/svg%3e");
}
.section-service-list__item:nth-of-type(3) .title::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%3e%3cpath%20id='service-icon-design'%20d='M24,28H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H24a4,4,0,0,1,4,4V24A4,4,0,0,1,24,28ZM6.987,16.8a.037.037,0,0,0-.022.006l-1.6,6.214,6.046-1.764a.04.04,0,0,0,.009-.031c-.014-.177-.718-.793-.818-.875a5.9,5.9,0,0,0-1.141.343,5.649,5.649,0,0,1-1.4.4.422.422,0,0,1-.116-.014,3.193,3.193,0,0,1-.8-.851,7.189,7.189,0,0,1,.289-.993A4.6,4.6,0,0,0,7.8,17.613C7.782,17.46,7.153,16.8,6.987,16.8ZM16,7.578h0L7.722,15.845l4.593,4.568,8.333-8.191ZM19.175,5c-.71,0-1.367.711-1.894,1.282-.142.153-.275.3-.4.42l4.57,4.634.181-.149c.7-.578,1.5-1.233,1.556-2.015a1.536,1.536,0,0,0-.464-1.15A30.78,30.78,0,0,0,19.9,5.261,1.208,1.208,0,0,0,19.175,5Z'%20fill='%231ca3e5'/%3e%3c/svg%3e");
}
.section-service-list__item:nth-of-type(4) .title::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='28'%20height='28'%20viewBox='0%200%2028%2028'%3e%3cpath%20id='service-icon-kousinn'%20d='M24,28H4a4,4,0,0,1-4-4V4A4,4,0,0,1,4,0H24a4,4,0,0,1,4,4V24A4,4,0,0,1,24,28ZM13.1,4h0A10.336,10.336,0,0,0,6.9,6.039a9.772,9.772,0,0,0-3.678,6A9.847,9.847,0,0,0,5.2,20.369a10.476,10.476,0,0,0,8.021,3.8,10.023,10.023,0,0,0,7.651-3.631c.434-.5.653-.837.635-.958L19.033,18.1A7.171,7.171,0,0,1,7.119,18a7.074,7.074,0,0,1-.3-7.325,7.147,7.147,0,0,1,6.244-3.8,7.244,7.244,0,0,1,5.206,2.206,6.105,6.105,0,0,1,1.721,3.231H17.552l4.073,5.207,3.991-5.207H23.137a2.175,2.175,0,0,1-.255-.748c-.029-.137-.059-.278-.1-.409A9.958,9.958,0,0,0,13.1,4Z'%20fill='%231ca3e5'/%3e%3c/svg%3e");
}
.section-service-list__item .title {
  font-size: 2.4rem;
  font-weight: 700;
  margin-bottom: 0.8rem;
  line-height: 1.5;
  color: var(--primary);
  position: relative;
  padding-left: 3.6rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .title {
    font-size: 1.8rem;
    padding-left: 2.8rem;
  }
}
.section-service-list__item .title::before {
  content: "";
  width: 2.8rem;
  height: 2.8rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: center;
  align-items: center;
  color: #fff;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  border-radius: 0.4rem;
  line-height: 1;
  margin-right: 1rem;
  position: absolute;
  top: 0.6rem;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .title::before {
    width: 2rem;
    height: 2rem;
    margin-right: 0.5rem;
  }
}
.section-service-list__item .title span {
  font-size: 1.2rem;
  color: var(--text-light);
  font-weight: 400;
}
.section-service-list__item .lead {
  font-size: 1.8rem;
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .lead {
    font-size: 1.4rem;
  }
}
.section-service-list__item .list {
  margin-top: 1.4rem;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.section-service-list__item .list li {
  font-size: 1.8rem;
  line-height: 1.7;
  position: relative;
  padding-left: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .list li {
    font-size: 1.4rem;
  }
}
.section-service-list__item .list li::before {
  content: "";
  display: block;
  width: 1rem;
  height: 1rem;
  border-right: 0.3rem solid var(--primary);
  border-bottom: 0.3rem solid var(--primary);
  position: absolute;
  top: 0.7em;
  left: 0;
  transform: translate(10%) rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .list li::before {
    top: 0.5em;
  }
}
@media only screen and (min-width: 768px) {
  .section-service-list__item .column {
    margin-top: 1.6rem;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column {
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: stretch;
    gap: 1rem;
    margin-top: 2rem;
  }
}
.section-service-list__item .column-item {
  border-radius: 1rem;
  padding: 2rem;
  border: 0.1rem solid var(--border);
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column-item {
    padding: 1rem;
  }
}
.section-service-list__item .column-title {
  font-weight: bold;
  position: relative;
  padding-left: 2rem;
  font-size: 1.8rem;
  color: #fff;
  border-radius: 1rem 1rem 0 0;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column-title {
    font-size: 1.4rem;
    border-radius: 0.8rem 0.8rem 0 0;
  }
}
.section-service-list__item .column-title.ok {
  background: var(--primary);
  padding: 2rem 2rem 2rem 4rem;
  margin: -2rem -2rem 1rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column-title.ok {
    padding: 1rem 1rem 1rem 4rem;
    margin: -1.1rem -1.1rem 1rem;
  }
}
.section-service-list__item .column-title.ok::before {
  content: "";
  display: block;
  width: 1.4rem;
  height: 0.8rem;
  border-left: 0.3rem solid #fff;
  border-bottom: 0.3rem solid #fff;
  position: absolute;
  top: 1.75em;
  left: 2rem;
  transform: translate(10%) rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column-title.ok::before {
    top: 1.15em;
    left: 1.5rem;
  }
}
.section-service-list__item .column-title.ng {
  background: var(--text-light);
  padding: 2rem 2rem 2rem 4.5rem;
  margin: -2rem -2rem 1rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column-title.ng {
    padding: 1rem 1rem 1rem 4rem;
    margin: -1.1rem -1.1rem 1rem;
  }
}
.section-service-list__item .column-title.ng::before, .section-service-list__item .column-title.ng::after {
  content: "";
  display: block;
  width: 1.7rem;
  height: 0.3rem;
  background: #fff;
  position: absolute;
  top: 1.95em;
  left: 2rem;
  transform: translate(10%) rotate(-45deg);
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column-title.ng::before, .section-service-list__item .column-title.ng::after {
    top: 1.55em;
    left: 1.5rem;
  }
}
.section-service-list__item .column-title.ng::after {
  transform: translate(10%) rotate(45deg);
}
.section-service-list__item .column ul {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  margin-top: 0.5rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column ul {
    gap: 0.2rem;
  }
}
.section-service-list__item .column ul li {
  font-size: 1.6rem;
  line-height: 1.7;
  position: relative;
  padding-left: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .section-service-list__item .column ul li {
    font-size: 1.3rem;
  }
}
.section-service-list__item .column ul li::before {
  content: "・";
  position: absolute;
  top: 0.1em;
  left: 0;
}

.section-works {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-works {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-works-list {
  margin-top: 4.8rem;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: stretch;
  gap: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-works-list {
    margin-top: 2rem;
    flex-flow: column;
  }
}
.section-works-list__item {
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  flex: 1;
  padding: 2rem 2.4rem;
  gap: 3rem;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item {
    padding: 1.5rem 2rem;
  }
}
.section-works-list__item .img {
  margin: -2rem -2.4rem 0;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .img {
    margin: -1.5rem -2rem 0;
  }
}
.section-works-list__item .txt {
  flex: 1;
  margin-top: 2rem;
}
.section-works-list__item .txt .category {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary);
  padding: 0.2rem 1rem;
  border-radius: 0.2rem;
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .txt .category {
    font-size: 1.2rem;
  }
}
.section-works-list__item .txt .title {
  font-size: 2rem;
  font-weight: 500;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .txt .title {
    font-size: 1.8rem;
  }
}
.section-works-list__item .txt .meta {
  display: flex;
  flex-flow: column wrap;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.5rem;
  margin-top: 1rem;
}
.section-works-list__item .txt .meta dl {
  font-size: 1.6rem;
  display: flex;
  flex-flow: column;
  align-items: flex-start;
  gap: 0.4rem;
  color: var(--text-light);
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .txt .meta dl {
    font-size: 1.2rem;
  }
}
.section-works-list__item .txt .meta dl + dl {
  margin-top: 1rem;
}
.section-works-list__item .txt .meta dl dt {
  font-weight: 700;
  color: var(--text);
  background: var(--primary-light);
  text-align: center;
  font-size: 1.6rem;
  padding: 0.1rem 0.8rem;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .txt .meta dl dt {
    font-size: 1.2rem;
  }
}
.section-works-list__item .txt .meta dl dd {
  font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .txt .meta dl dd {
    font-size: 1.2rem;
  }
}
.section-works-list__item .txt .desc {
  margin-top: 1rem;
  color: var(--text-light);
  font-weight: 500;
}
.section-works-list__item .txt .desc p {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  .section-works-list__item .txt .desc p {
    font-size: 1.4rem;
  }
}
.section-works .small {
  text-align: center;
  margin-top: 2.8rem;
  font-size: 1.6rem;
  color: var(--text-light);
}
@media only screen and (max-width: 767px) {
  .section-works .small {
    font-size: 1.2rem;
    margin-top: 1.6rem;
  }
}

.section-chatbot {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .section-chatbot {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
@media only screen and (min-width: 768px) {
  .section-chatbot .section-chatbot-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4.8rem;
    align-items: center;
  }
}
@media only screen and (max-width: 767px) {
  .section-chatbot .section-chatbot-inner {
    display: flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
    gap: 2rem;
  }
}
.section-chatbot .section-chatbot-head .meta {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary);
  padding: 0.3rem 1.2rem;
  border-radius: 10rem;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .section-chatbot-head .meta {
    font-size: 1.2rem;
    margin-bottom: 1rem;
  }
}
.section-chatbot .section-chatbot-head .title {
  font-size: 4rem;
  font-weight: 900;
  line-height: 1.5;
  margin-bottom: 1.2rem;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .section-chatbot-head .title {
    font-size: 2.4rem;
  }
}
.section-chatbot .section-chatbot-head .lead {
  font-size: 1.8rem;
  color: var(--text-light);
  line-height: 1.8;
  margin-bottom: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .section-chatbot-head .lead {
    font-size: 1.4rem;
  }
}
.section-chatbot .section-chatbot-body .list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 2.4rem;
}
.section-chatbot .section-chatbot-body .list .item {
  position: relative;
  padding-left: 3.6rem;
  font-size: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .section-chatbot-body .list .item {
    font-size: 1.4rem;
    padding-left: 2.4rem;
  }
}
.section-chatbot .section-chatbot-body .list .item strong {
  color: var(--primary);
}
.section-chatbot .section-chatbot-body .list .item::before {
  content: "";
  display: block;
  flex-shrink: 0;
  width: 2.8rem;
  height: 2.8rem;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg id='グループ_1356' data-name='グループ 1356' transform='translate(-560 -1319)'%3E%3Ccircle id='楕円形_3' data-name='楕円形 3' cx='12' cy='12' r='12' transform='translate(560 1319)' fill='%231CA3E5'/%3E%3Cpath id='パス_820' data-name='パス 820' d='M2.9,0H0L3.131,11.388H5.954Z' transform='translate(569.024 1325.306)' fill='%23ffffff'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .section-chatbot-body .list .item::before {
    width: 2rem;
    height: 2rem;
    top: 0.2em;
  }
}
.section-chatbot .section-chatbot-body .price-block {
  display: inline-flex;
  align-items: baseline;
  gap: 0.4rem;
  background: #fff;
  border: 0.2rem solid var(--primary);
  border-radius: 1rem;
  padding: 1.2rem 2rem;
  margin-bottom: 0.8rem;
}
.section-chatbot .section-chatbot-body .price-label {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--text-light);
}
.section-chatbot .section-chatbot-body .price-amount {
  font-size: 3rem;
  font-weight: 700;
  color: var(--primary);
}
.section-chatbot .section-chatbot-body .price-unit {
  font-size: 1.6rem;
  color: var(--text-light);
}
.section-chatbot .section-chatbot-body .price-small {
  font-size: 1.4rem;
  color: var(--text-light);
}
.section-chatbot .section-chatbot-body .price-small::before {
  content: "※";
}
.section-chatbot .chatbot-demo {
  background: #fff;
  border-radius: 1.6rem;
  box-shadow: 0 0.8rem 3.2rem rgba(212, 114, 140, 0.1);
  overflow: hidden;
  border: 0.1rem solid var(--border);
}
.section-chatbot .chatbot-demo-header {
  background: var(--primary);
  color: #fff;
  padding: 1.4rem 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  gap: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .chatbot-demo-header {
    font-size: 1.6rem;
  }
}
.section-chatbot .chatbot-demo-dot {
  width: 0.8rem;
  height: 0.8rem;
  background: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}
.section-chatbot .chatbot-demo-dot.active {
  background: #4caf50;
}
.section-chatbot .chatbot-demo-body {
  padding: 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .chatbot-demo-body {
    gap: 1rem;
  }
}
.section-chatbot .chat-row {
  display: flex;
  gap: 1rem;
}
.section-chatbot .chat-row.user {
  justify-content: flex-end;
}
.section-chatbot .chat-bubble {
  max-width: 75%;
  padding: 1.2rem 1.6rem;
  border-radius: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .chat-bubble {
    font-size: 1.1rem;
  }
}
.section-chatbot .chat-bubble.bot {
  background: var(--primary-light);
  color: var(--text);
  border-bottom-left-radius: 0.4rem;
}
.section-chatbot .chat-bubble.user {
  background: var(--primary);
  color: #fff;
  border-bottom-right-radius: 0.4rem;
}
.section-chatbot .chat-bot-icon {
  width: 3.6rem;
  height: 3.6rem;
  background: var(--primary);
  color: #fff;
  border-radius: 50%;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5rem;
  font-weight: 700;
}
@media only screen and (max-width: 767px) {
  .section-chatbot .chat-bot-icon {
    width: 2.8rem;
    height: 2.8rem;
    font-size: 1.3rem;
  }
}
.section-chatbot .chatbot-demo-input {
  padding: 1.4rem 2rem;
  border-top: 0.1rem solid var(--border);
  display: flex;
  align-items: center;
  gap: 1rem;
}
.section-chatbot .chatbot-demo-input-field {
  flex: 1;
  padding: 1rem 1.4rem;
  border: 0.1rem solid #ddd;
  border-radius: 10rem;
  font-size: 1.3rem;
  color: #aaa;
}
.section-chatbot .chatbot-demo-send {
  width: 3.6rem;
  height: 3.6rem;
  background: var(--primary);
  color: #fff;
  border: none;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  cursor: pointer;
}

.section-plan {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-plan {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-plan .plan-card {
  flex: 1;
  background: #fff;
  border-radius: 1.2rem;
  padding: 3.2rem 1.6rem;
  text-align: center;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
  position: relative;
  border: 0.2rem solid transparent;
  transition: transform 0.3s, box-shadow 0.3s;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-card {
    padding: 2.4rem 1.5rem;
  }
}
.section-plan .plan-card.highlight {
  border-color: var(--primary);
  box-shadow: 0 0.4rem 2.4rem rgba(212, 114, 140, 0.15);
}
.section-plan .plan-card-grid {
  display: flex;
  gap: 2.4rem;
  margin: 4.8rem 0 4rem;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-card-grid {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
.section-plan .plan-card-badge {
  position: absolute;
  top: -1.2rem;
  left: 50%;
  transform: translateX(-50%);
  background: var(--primary);
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 0.5rem 1.9rem;
  border-radius: 2rem;
  letter-spacing: 0.05em;
}
.section-plan .plan-card-name {
  font-size: 1.76rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 1rem;
}
.section-plan .plan-card-price {
  font-size: 4rem;
  font-weight: 800;
  color: var(--primary);
  margin-bottom: 1.3rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-card-price {
    font-size: 3rem;
    line-height: 1;
  }
}
.section-plan .plan-card-price span {
  font-weight: 700;
}
.section-plan .plan-card-price span:not([class]) {
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-card-price span:not([class]) {
    font-size: 1.6rem;
  }
}
.section-plan .plan-card-desc {
  font-size: 1.6rem;
  color: var(--text-light);
  line-height: 1.7;
  margin: 0;
  letter-spacing: 0;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-card-desc {
    font-size: 1.4rem;
  }
}
.section-plan .plan-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 64rem;
  background: #fff;
  border-radius: 1.2rem;
  overflow: hidden;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
  letter-spacing: 0;
}
.section-plan .plan-table-wrap {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin: 0 0 3.2rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-table-wrap {
    margin-bottom: 1.6rem;
  }
}
.section-plan .plan-table thead th {
  padding: 2.24rem 1.92rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  vertical-align: middle;
  border-bottom: 0.2rem solid #eee;
  color: var(--text);
}
.section-plan .plan-table-label {
  width: 25%;
  background: #fff;
}
.section-plan .plan-table-light {
  width: 25%;
  background: #fff;
}
.section-plan .plan-table-standard {
  width: 25%;
  background: var(--primary-light);
  color: var(--primary-dark);
}
.section-plan .plan-table-premium {
  width: 25%;
  background: #fff;
}
.section-plan .plan-table tbody td {
  padding: 1.6rem 1.92rem;
  text-align: center;
  font-size: 2rem;
  color: var(--text);
  border-bottom: 0.1rem solid #f0f0f0;
  vertical-align: middle;
  line-height: 1.6;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-table tbody td {
    line-height: 1.4;
  }
}
.section-plan .plan-table tbody td .plan-link {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
}
.section-plan .plan-table tbody td .plan-link:hover {
  text-decoration: none;
}
.section-plan .plan-table tbody td:first-child {
  text-align: left;
  font-weight: 900;
  color: var(--text);
}
.section-plan .plan-table tbody td:first-child small {
  display: block;
  font-weight: 400;
  color: var(--text-light);
  margin-top: 0.3rem;
}
.section-plan .plan-table tbody td:nth-child(3) {
  background: rgba(28, 163, 229, 0.04);
}
.section-plan .plan-table tbody td small {
  display: block;
  color: var(--text-light);
  font-size: 1.28rem;
  margin-top: 0.3rem;
}
.section-plan .plan-table-cta-row td {
  padding: 2.56rem 1.92rem;
  border-bottom: none;
}
.section-plan .plan-table-btn {
  display: inline-block;
  padding: 1.04rem 2.56rem;
  background: #fff;
  color: var(--primary);
  font-size: 1.8rem;
  font-weight: 700;
  border: 0.2rem solid var(--primary);
  border-radius: 3rem;
  text-decoration: none;
  transition: all 0.3s;
}
.section-plan .plan-table-btn:hover {
  background: var(--primary-bg);
  transform: translateY(-0.2rem);
}
.section-plan .plan-table-btn.primary {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary);
}
.section-plan .plan-table-btn.primary:hover {
  background: var(--primary-dark);
  border-color: var(--primary-dark);
  transform: translateY(-0.2rem);
}
.section-plan .plan-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  background: var(--primary);
  border-radius: 50%;
  font-size: 0;
  line-height: 1;
  position: relative;
}
.section-plan .plan-check::after {
  content: "";
  display: block;
  width: 0.9rem;
  height: 1.4rem;
  border-right: 0.3rem solid #fff;
  border-bottom: 0.3rem solid #fff;
  position: absolute;
  top: calc(50% - 0.2rem);
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.section-plan .plan-cross {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  background: #ddd;
  border-radius: 50%;
  font-size: 0;
  line-height: 1;
  position: relative;
}
.section-plan .plan-cross::before, .section-plan .plan-cross::after {
  content: "";
  display: block;
  position: absolute;
  width: 1.4rem;
  height: 0.2rem;
  background: #fff;
  top: 50%;
  left: 50%;
}
.section-plan .plan-cross::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.section-plan .plan-cross::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.section-plan .plan-notes {
  margin-top: 3.2rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.28rem 3.2rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-notes {
    margin-top: 1.6rem;
    gap: 0.5rem;
  }
}
.section-plan .note {
  font-size: 2rem;
  text-align: center;
  background: var(--primary-bg);
  border-radius: 1rem;
  padding: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .note {
    font-size: 1.6rem;
    padding: 1rem;
  }
}
.section-plan .plan-note-item {
  font-size: 1.6rem;
  color: var(--text-light);
  display: flex;
  align-items: center;
  gap: 0.64rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-note-item {
    font-size: 1.4rem;
  }
}
.section-plan .plan-note-item a {
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .section-plan .plan-note-item a:hover {
    text-decoration: none;
  }
}
.section-plan .plan-note-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.92rem;
  height: 1.92rem;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 1.12rem;
  font-weight: 700;
  border-radius: 50%;
  flex-shrink: 0;
}
.section-plan .plan-option {
  margin-top: 4rem;
  padding: 3.2rem;
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
}
.section-plan .plan-option-title {
  font-size: 2rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 1.92rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-option-title {
    font-size: 1.8rem;
    margin-bottom: 1rem;
  }
}
.section-plan .plan-option-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 1.6rem;
}
.section-plan .plan-option-item {
  flex: 1 1 28rem;
  padding: 1.92rem 2.24rem;
  background: var(--primary-bg);
  border-radius: 0.8rem;
  display: flex;
  align-items: baseline;
  gap: 0.96rem;
  flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-option-item {
    flex-flow: column;
    gap: 0;
  }
}
.section-plan .plan-option-name {
  font-weight: 700;
  font-size: 1.8rem;
  color: var(--text);
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-option-name {
    font-size: 1.4rem;
  }
}
.section-plan .plan-option-price {
  font-weight: 800;
  color: var(--primary-dark);
  font-size: 2rem;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-option-price {
    font-size: 1.6rem;
  }
}
.section-plan .plan-option-unit {
  font-size: 1.4rem;
  color: var(--text-light);
}
.section-plan .plan-option-note {
  margin-top: 1.6rem;
  font-size: 1.6rem;
  color: var(--text-light);
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-option-note {
    font-size: 1.4rem;
  }
}
.section-plan .plan-option-note a {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
}
.section-plan .plan-option-note a:hover {
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .section-plan .plan-card {
    max-width: 100%;
    width: 100%;
  }
  .section-plan .plan-card-grid {
    flex-direction: column;
    align-items: center;
  }
  .section-plan .plan-table thead th {
    padding: 1.6rem 0.96rem;
    font-size: 1.36rem;
  }
  .section-plan .plan-table tbody td {
    padding: 1.28rem 0.96rem;
    font-size: 1.31rem;
  }
  .section-plan .plan-table-btn {
    padding: 0.8rem 1.6rem;
    font-size: 1.28rem;
  }
  .section-plan .plan-option {
    padding: 2rem;
  }
  .section-plan .plan-option-item {
    flex: 1 1 100%;
  }
}

.section-flow {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .section-flow {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-flow .flow-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 4.8rem;
  position: relative;
}
.section-flow .flow-step {
  display: flex;
  align-items: center;
  gap: 2.4rem;
  padding: 3.2rem 0;
  position: relative;
  border-bottom: 0.1rem solid #eee;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-flow .flow-step {
    align-items: flex-start;
  }
}
.section-flow .flow-step:last-child {
  border-bottom: none;
}
.section-flow .flow-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  background: var(--primary);
  color: #fff;
  font-size: 2.8rem;
  font-weight: 700;
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
  z-index: 1;
  font-family: "Montserrat", sans-serif;
}
.section-flow .flow-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: calc(50% + 3rem);
  left: 2.8rem;
  width: 2px;
  height: 100%;
  background: var(--primary-light);
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .section-flow .flow-step:not(:last-child)::after {
    top: 3rem;
    left: 2.2rem;
  }
}
.section-flow .flow-step .img {
  width: 13rem;
}
@media only screen and (max-width: 767px) {
  .section-flow .flow-step .img {
    width: 10rem;
  }
}
.section-flow .flow-step-body {
  flex: 1;
  display: flex;
  flex-flow: row wrap;
  justify-content: flex-start;
  align-items: center;
  gap: 4rem;
}
@media only screen and (max-width: 767px) {
  .section-flow .flow-step-body {
    gap: 1rem;
  }
}
.section-flow .flow-step-title {
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0.8rem;
}
.section-flow .flow-step-desc {
  font-size: 1.8rem;
  color: var(--text-light);
  line-height: 1.8;
  margin: 0;
}
.section-flow .flow-step-desc a {
  color: var(--primary);
  text-decoration: underline;
}
@media only screen and (min-width: 768px) {
  .section-flow .flow-step-desc a:hover {
    text-decoration: none;
  }
}
@media only screen and (max-width: 767px) {
  .section-flow .flow-step {
    gap: 1.6rem;
    padding: 2.4rem 0;
  }
  .section-flow .flow-step-number {
    width: 4.4rem;
    height: 4.4rem;
    font-size: 1.6rem;
  }
  .section-flow .flow-step:not(:last-child) .flow-step-number::after {
    height: calc(100% + 2.4rem);
  }
  .section-flow .flow-step-title {
    font-size: 1.6rem;
  }
  .section-flow .flow-step-desc {
    font-size: 1.36rem;
  }
}

.section-blog {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-blog {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-blog .blog-card-grid {
  margin-top: 4.8rem;
}
@media only screen and (max-width: 767px) {
  .section-blog .blog-card-grid {
    margin-top: 3rem;
  }
}
.section-blog .blog-more {
  text-align: center;
  margin-top: 4rem;
}
@media only screen and (max-width: 767px) {
  .section-blog .blog-more {
    margin-top: 2rem;
  }
}
.section-blog .blog-more-btn {
  display: inline-block;
  padding: 1.2rem 4rem;
  background: #fff;
  color: var(--primary);
  border: 0.2rem solid var(--primary);
  border-radius: 3rem;
  text-decoration: none;
  transition: all 0.3s;
}
.section-blog .blog-more-btn:hover {
  background: var(--primary);
  color: #fff;
  transform: translateY(-0.2rem);
}
@media only screen and (max-width: 767px) {
  .section-blog .blog-card-grid {
    grid-template-columns: 1fr;
    gap: 2.4rem;
  }
  .section-blog .blog-card-body {
    padding: 1.2rem 1.6rem 2rem;
  }
  .section-blog .blog-card-title {
    font-size: 1.4rem;
  }
  .section-blog .blog-more-btn {
    padding: 1rem 3.2rem;
    font-size: 1.4rem;
  }
}

.section-faq {
  padding-top: 8rem;
  padding-bottom: 8rem;
  background: #fff;
}
@media only screen and (max-width: 767px) {
  .section-faq {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-faq .faq-list {
  display: flex;
  flex-direction: column;
  gap: 2rem;
  margin-top: 4.8rem;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-list {
    margin-top: 3rem;
  }
}
.section-faq .faq-item {
  background: #fff;
  border-radius: 1.2rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
  overflow: hidden;
}
.section-faq .faq-item.is-open .faq-question {
  background: var(--primary-bg);
}
.section-faq .faq-item.is-open .faq-toggle::before {
  transform: translate(-50%, -50%) rotate(0deg);
  opacity: 0;
}
.section-faq .faq-item.is-open .faq-answer {
  max-height: 50rem;
  opacity: 1;
}
.section-faq .faq-question {
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--text);
  cursor: pointer;
  transition: background 0.3s;
  user-select: none;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-question {
    font-size: 1.4rem;
  }
}
.section-faq .faq-question__inner {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 2rem 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-question__inner {
    padding: 1rem 1.5rem;
    gap: 1rem;
  }
}
.section-faq .faq-question:hover {
  background: var(--primary-bg);
}
.section-faq .faq-question-text {
  flex: 1;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-question-text {
    padding-top: 0.2em;
  }
}
.section-faq .faq-toggle {
  position: relative;
  width: 3.6rem;
  height: 3.6rem;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-toggle {
    width: 3rem;
    height: 3rem;
  }
}
.section-faq .faq-toggle::before, .section-faq .faq-toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: var(--primary);
  transition: transform 0.3s, opacity 0.3s;
}
.section-faq .faq-toggle::after {
  width: 1.6rem;
  height: 0.3rem;
  transform: translate(-50%, -50%);
}
.section-faq .faq-toggle::before {
  width: 0.3rem;
  height: 1.6rem;
  transform: translate(-50%, -50%);
}
.section-faq .faq-answer {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.4s ease, padding 0.4s ease, opacity 0.3s ease;
}
.section-faq .faq-answer__inner {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem;
  padding: 2rem 2.4rem;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-answer__inner {
    padding: 1rem 1.5rem;
    gap: 1rem;
  }
}
.section-faq .faq-answer p {
  font-size: 1.8rem;
  color: var(--text-light);
  line-height: 1.8;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-answer p {
    font-size: 1.4rem;
  }
}
.section-faq .faq-q-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  background: var(--primary);
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  border-radius: 50%;
  flex-shrink: 0;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-q-badge {
    width: 3rem;
    height: 3rem;
    font-size: 1.6rem;
  }
}
.section-faq .faq-a-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  background: var(--primary-light);
  color: var(--primary);
  font-size: 2rem;
  font-weight: 700;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 0.2rem;
}
@media only screen and (max-width: 767px) {
  .section-faq .faq-a-badge {
    width: 3rem;
    height: 3rem;
    font-size: 1.6rem;
  }
}
.section-faq .faq-link {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
}
.section-faq .faq-link:hover {
  text-decoration: none;
}

.section-cta {
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-cta {
    padding-bottom: 6rem;
  }
}
.section-cta .cta-box {
  background: linear-gradient(135deg, var(--primary), var(--primary-dark));
  border-radius: 1.6rem;
  padding: 6rem 4rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
@media only screen and (max-width: 767px) {
  .section-cta .cta-box {
    padding: 4rem 1.6rem;
  }
}
.section-cta .cta-box::before {
  content: "";
  position: absolute;
  top: -20%;
  right: -10%;
  width: 40rem;
  height: 40rem;
  background: rgba(255, 255, 255, 0.06);
  border-radius: 50%;
}
.section-cta .cta-box::after {
  content: "";
  position: absolute;
  bottom: -15%;
  left: -8%;
  width: 30rem;
  height: 30rem;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 50%;
}
.section-cta .cta-body {
  position: relative;
  z-index: 1;
}
.section-cta .cta-title {
  font-size: 4rem;
  font-weight: 800;
  color: #fff;
  line-height: 1.5;
  margin: 0 0 2rem;
}
@media only screen and (max-width: 767px) {
  .section-cta .cta-title {
    font-size: 2rem;
  }
}
.section-cta .cta-text {
  font-size: 1.8rem;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1.8;
  margin: 0 0 3.2rem;
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 767px) {
  .section-cta .cta-text {
    font-size: 1.4rem;
  }
}
.section-cta .cta-actions {
  display: flex;
  justify-content: center;
}
.section-cta .cta-btn {
  display: inline-block;
  padding: 1.6rem 5.6rem;
  background: #fff;
  color: var(--primary);
  font-size: 1.7rem;
  font-weight: 700;
  border-radius: 5rem;
  text-decoration: none;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.15);
  transition: all 0.3s;
}
.section-cta .cta-btn:hover {
  transform: translateY(-0.3rem);
  box-shadow: 0 0.8rem 3rem rgba(0, 0, 0, 0.2);
}

.section-contact {
  padding-top: 8rem;
  padding-bottom: 8rem;
}
@media only screen and (max-width: 767px) {
  .section-contact {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}
.section-contact .contact-grid {
  display: flex;
  gap: 4rem;
  margin-top: 4.8rem;
  align-items: flex-start;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-grid {
    margin-top: 3rem;
    flex-flow: column-reverse;
  }
}
.section-contact .contact-form-wrap {
  flex: 1;
  background: #fff;
  border-radius: 1.6rem;
  padding: 4.8rem 4rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-form-wrap {
    padding: 3.2rem 2.4rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  .section-contact .contact-form-wrap {
    width: 100%;
  }
}
.section-contact .contact-form-group {
  margin-bottom: 2.4rem;
}
.section-contact .contact-label {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 2rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 0.8rem;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-label {
    font-size: 1.4rem;
  }
}
.section-contact .contact-required {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 700;
  color: #fff;
  background: var(--primary);
  padding: 0.1rem 0.8rem;
  border-radius: 0.4rem;
  line-height: 1.6;
}
.section-contact .contact-input,
.section-contact .contact-textarea,
.section-contact .contact-select {
  width: 100%;
  font-size: 1.8rem;
  color: var(--text);
  background: var(--gray-bg);
  border: 0.2rem solid transparent;
  border-radius: 0.8rem;
  padding: 1.4rem 1.6rem;
  transition: border-color 0.3s, box-shadow 0.3s;
  outline: none;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-input,
  .section-contact .contact-textarea,
  .section-contact .contact-select {
    font-size: 1.6rem;
    padding: 1.2rem 1.4rem;
  }
}
.section-contact .contact-input::placeholder,
.section-contact .contact-textarea::placeholder,
.section-contact .contact-select::placeholder {
  color: #bbb;
}
.section-contact .contact-input:focus,
.section-contact .contact-textarea:focus,
.section-contact .contact-select:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.4rem rgba(212, 114, 140, 0.1);
}
.section-contact .contact-textarea {
  resize: vertical;
  min-height: 16rem;
}
.section-contact .contact-select-wrap {
  position: relative;
}
.section-contact .contact-select-wrap::after {
  content: "";
  position: absolute;
  top: 2.6rem;
  right: 1.6rem;
  width: 1rem;
  height: 1rem;
  border-right: 0.2rem solid var(--text-light);
  border-bottom: 0.2rem solid var(--text-light);
  transform: translateY(-60%) rotate(45deg);
  pointer-events: none;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-select-wrap::after {
    top: 2.2rem;
  }
}
.section-contact .contact-select {
  appearance: none;
  cursor: pointer;
  padding-right: 4rem;
}
.section-contact .contact-form-privacy {
  margin: 3.2rem 0;
  text-align: center;
}
.section-contact .contact-privacy-label {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-size: 1.8rem;
  color: var(--text-light);
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-privacy-label {
    font-size: 1.4rem;
  }
}
.section-contact .contact-privacy-check {
  width: 1.8rem;
  height: 1.8rem;
  cursor: pointer;
}
.section-contact .contact-privacy-link {
  color: var(--primary);
  font-weight: 700;
  text-decoration: underline;
}
.section-contact .contact-privacy-link:hover {
  text-decoration: none;
}
.section-contact .contact-form-submit {
  text-align: center;
}
.section-contact .contact-btn {
  display: inline-block;
  padding: 1.6rem 6.4rem;
  background: var(--primary);
  color: #fff;
  font-size: 1.7rem;
  font-weight: 700;
  border: none;
  border-radius: 5rem;
  cursor: pointer;
  box-shadow: 0 0.4rem 2rem rgba(212, 114, 140, 0.3);
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-btn {
    width: 100%;
    padding: 1.4rem;
    font-size: 1.5rem;
  }
}
.section-contact .contact-btn:hover {
  background: var(--primary-dark);
  transform: translateY(-0.3rem);
  box-shadow: 0 0.8rem 3rem rgba(212, 114, 140, 0.4);
}
.section-contact .contact-info {
  width: 50rem;
  flex-shrink: 0;
  position: sticky;
  top: 10rem;
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
}
@media only screen and (min-width: 768px) {
  .section-contact .contact-info {
    padding-bottom: 10rem;
  }
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info {
    width: 100%;
    position: static;
    gap: 2rem;
  }
}
.section-contact .contact-info-block {
  background: #fff;
  border-radius: 1.2rem;
  padding: 3.2rem 2.4rem;
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.06);
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-block {
    padding: 2.4rem 2rem;
  }
}
.section-contact .contact-info-title {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: var(--text);
  margin: 0 0 2rem;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-title {
    font-size: 1.8rem;
  }
}
.section-contact .contact-info-icon {
  font-size: 2.8rem;
  line-height: 1;
}
.section-contact .contact-info-icon::before {
  content: "";
  display: block;
  width: 3rem;
  height: 3rem;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-icon::before {
    width: 2.4rem;
    height: 2.4rem;
  }
}
.section-contact .contact-info-icon.comment::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3cclipPath%20id='clip-path'%3e%3crect%20id='長方形_1993'%20data-name='長方形%201993'%20width='24'%20height='24'%20transform='translate(3619%2014071)'%20fill='%23fff'%20stroke='%23707070'%20stroke-width='1'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20id='マスクグループ_66'%20data-name='マスクグループ%2066'%20transform='translate(-3619%20-14071)'%20clip-path='url(%23clip-path)'%3e%3cpath%20id='パス_867'%20data-name='パス%20867'%20d='M88,75.25c0,6.211-5.372,11.25-12,11.25a12.623,12.623,0,0,1-4.88-.97l-5.55,2.381a1.126,1.126,0,0,1-1.439-1.561l2.288-4.322A10.766,10.766,0,0,1,64,75.25C64,69.039,69.372,64,76,64S88,69.039,88,75.25Z'%20transform='translate(3555%2014007)'%20fill='%231ca3e5'/%3e%3c/g%3e%3c/svg%3e");
}
.section-contact .contact-info-icon.clock::before {
  background-image: url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%3e%3cdefs%3e%3cclipPath%20id='clip-path'%3e%3crect%20id='長方形_1992'%20data-name='長方形%201992'%20width='24'%20height='24'%20transform='translate(3502%2014071)'%20fill='%23fff'%20stroke='%23707070'%20stroke-width='1'/%3e%3c/clipPath%3e%3c/defs%3e%3cg%20id='マスクグループ_65'%20data-name='マスクグループ%2065'%20transform='translate(-3502%20-14071)'%20clip-path='url(%23clip-path)'%3e%3cpath%20id='パス_868'%20data-name='パス%20868'%20d='M76,64A12,12,0,1,1,64,76,12,12,0,0,1,76,64Zm-1.125,5.625V76a1.13,1.13,0,0,0,.5.938l4.5,3a1.126,1.126,0,1,0,1.247-1.875l-4-2.663V69.625a1.125,1.125,0,1,0-2.25,0Z'%20transform='translate(3438%2014007)'%20fill='%231ca3e5'/%3e%3c/g%3e%3c/svg%3e");
}
.section-contact .contact-info-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
.section-contact .contact-info-list li {
  font-size: 1.8rem;
  line-height: 1.7;
  padding-left: 2.4rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-list li {
    font-size: 1.4rem;
    padding-left: 2rem;
  }
}
.section-contact .contact-info-list li::before {
  content: "";
  position: absolute;
  top: 0.6rem;
  left: 0;
  width: 1rem;
  aspect-ratio: 1/1.6;
  border-right: 0.3rem solid var(--primary);
  border-bottom: 0.3rem solid var(--primary);
  transform: rotate(45deg);
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-list li::before {
    top: 0.4rem;
    width: 0.8rem;
  }
}
.section-contact .contact-info-text {
  font-size: 1.8rem;
  color: var(--text-light);
  line-height: 1.8;
  margin: 0 0 1.2rem;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-text {
    font-size: 1.4rem;
  }
}
.section-contact .contact-info-note {
  font-size: 1.4rem;
  color: var(--text-light);
  line-height: 1.7;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .section-contact .contact-info-note {
    font-size: 1.2rem;
  }
}
.entry-content {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 2;
}
.entry-content * > :first-child {
  margin-top: 0;
}
.entry-content [id^=heading-] {
  scroll-margin-top: 18rem;
}
.entry-content p > a {
  text-decoration: underline;
  color: rgb(0, 0, 238);
}
.entry-content p > a:visited {
  color: rgb(85, 26, 139);
}
@media only screen and (min-width: 768px) {
  .entry-content p > a:hover {
    text-decoration: none;
  }
}
.entry-content > * {
  margin-top: 0;
  margin-bottom: 2.4rem;
}
@media only screen and (max-width: 767px) {
  .entry-content > * {
    margin-bottom: 1.6rem;
  }
}
.entry-content > *:last-child {
  margin-bottom: 0;
}
.entry-content .wp-block-column > *,
.entry-content .wp-block-group:not(.is-layout-flex, .is-layout-grid) > *,
.entry-content .wp-block-cover__inner-container > *,
.entry-content .wp-block-details > *,
.entry-content .wp-block-media-text__content > * {
  margin-top: 0;
  margin-bottom: 1.6rem;
}
@media only screen and (max-width: 767px) {
  .entry-content .wp-block-column > *,
  .entry-content .wp-block-group:not(.is-layout-flex, .is-layout-grid) > *,
  .entry-content .wp-block-cover__inner-container > *,
  .entry-content .wp-block-details > *,
  .entry-content .wp-block-media-text__content > * {
    margin-bottom: 1.6rem;
  }
}
.entry-content .wp-block-column > *:last-child,
.entry-content .wp-block-group:not(.is-layout-flex, .is-layout-grid) > *:last-child,
.entry-content .wp-block-cover__inner-container > *:last-child,
.entry-content .wp-block-details > *:last-child,
.entry-content .wp-block-media-text__content > *:last-child {
  margin-bottom: 0;
}
.entry-content h2 {
  margin-top: 2.15em;
}
.entry-content h3 {
  margin-top: 2.15em;
}
.entry-content h4 {
  margin-top: 2.15em;
}
.entry-content > h2 + h3,
.entry-content > h2 + h4,
.entry-content > h3 + h4,
.entry-content > h3 + h5,
.entry-content > h4 + h5,
.entry-content > h4 + h6 {
  margin-top: 1.6rem;
}
.entry-content > :first-child {
  margin-top: 0;
}
.entry-content h1 {
  font-size: 3.6rem;
}
.entry-content h2 {
  font-size: 3.2rem;
}
.entry-content h3 {
  font-size: 2.8rem;
}
.entry-content h4 {
  font-size: 2.4rem;
}
.entry-content h5 {
  font-size: 1.8rem;
}
.entry-content h6 {
  font-size: 1.6rem;
}
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
  font-weight: 700;
  line-height: 1.4;
}
.entry-content .wp-block-image.is-style-rounded img {
  border-radius: 9999px;
}
.entry-content .wp-block-gallery {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  list-style: none;
  padding: 0;
}
.entry-content .wp-block-gallery .wp-block-image {
  flex-grow: 1;
  margin-bottom: 0;
}
.entry-content .wp-block-gallery .wp-block-image img {
  width: 100%;
  object-fit: cover;
}
.entry-content .wp-block-gallery.columns-2 .wp-block-image {
  width: calc(50% - 0.4rem);
}
.entry-content .wp-block-gallery.columns-3 .wp-block-image {
  width: calc(33.333% - 0.54rem);
}
.entry-content .wp-block-gallery.columns-4 .wp-block-image {
  width: calc(25% - 0.6rem);
}
.entry-content ul,
.entry-content ol {
  padding-left: 1.5em;
}
.entry-content ul li:last-child,
.entry-content ol li:last-child {
  margin-bottom: 0;
}
.entry-content ul ul,
.entry-content ul ol,
.entry-content ol ul,
.entry-content ol ol {
  margin-bottom: 0;
}
.entry-content ul {
  list-style-type: disc;
}
.entry-content ol {
  list-style-type: decimal;
}
.entry-content .wp-block-quote cite {
  display: block;
  margin-top: 1.2rem;
  font-size: 0.75em;
  font-style: normal;
}
.entry-content .wp-block-quote cite::before {
  content: "— ";
}
.entry-content .wp-block-quote.is-style-large {
  border-left: none;
  padding: 4.8rem;
  text-align: center;
  font-size: 1.2em;
}
.entry-content .wp-block-pullquote {
  border-top: 0.4rem solid currentColor;
  border-bottom: 0.4rem solid currentColor;
  padding: 3.6rem 0;
  text-align: center;
}
.entry-content .wp-block-pullquote blockquote {
  margin: 0;
}
.entry-content .wp-block-pullquote p {
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.5;
}
.entry-content .wp-block-pullquote cite {
  display: block;
  margin-top: 1.6rem;
  font-size: 0.75em;
  font-style: normal;
}
.entry-content .wp-block-code code {
  padding: 2.4rem;
  display: block;
}
@media only screen and (max-width: 767px) {
  .entry-content .wp-block-code code {
    padding: 1.6rem;
  }
}
.entry-content code {
  font-size: 0.875em;
  background: #333;
  color: #fff;
  padding: 0.5em;
}
.entry-content .wp-block-table table {
  background: #fff;
}
.entry-content .wp-block-table th {
  font-weight: 700;
}
.entry-content .wp-block-table figcaption {
  margin-top: 0.8rem;
  font-size: 0.75em;
  text-align: center;
}
.entry-content .wp-block-table.is-scrollable {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.entry-content .wp-block-table.is-scrollable table {
  word-break: keep-all;
}
.entry-content .wp-block-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
}
.entry-content .wp-block-buttons.is-content-justification-center {
  justify-content: center;
}
.entry-content .wp-block-buttons.is-content-justification-right {
  justify-content: flex-end;
}
.entry-content .wp-block-button .wp-block-button__link {
  display: inline-block;
  padding: 1.2rem 2.4rem;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  text-decoration: none;
  border-radius: 0.4rem;
  border: 0.2rem solid transparent;
  cursor: pointer;
  transition: opacity 0.2s;
}
.entry-content .wp-block-button .wp-block-button__link:hover, .entry-content .wp-block-button .wp-block-button__link:focus {
  opacity: 0.8;
}
.entry-content .wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent;
  border-color: currentColor;
}
.entry-content .wp-block-group.has-background {
  padding: 2.4rem;
}
.entry-content .wp-block-group.is-layout-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4rem;
}
.entry-content .wp-block-group.is-layout-grid {
  display: grid;
  gap: 2.4rem;
}
.entry-content .wp-block-cover {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 43rem;
  padding: 4.8rem;
  overflow: hidden;
}
.entry-content .wp-block-cover .wp-block-cover__image-background,
.entry-content .wp-block-cover video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.entry-content .wp-block-cover .wp-block-cover__inner-container {
  position: relative;
  z-index: 1;
  width: 100%;
}
.entry-content .wp-block-media-text {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: 0;
}
.entry-content .wp-block-media-text.has-media-on-the-right {
  grid-template-columns: 1fr 50%;
}
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media {
  order: 2;
}
.entry-content .wp-block-media-text.has-media-on-the-right .wp-block-media-text__content {
  order: 1;
}
.entry-content .wp-block-media-text .wp-block-media-text__media img,
.entry-content .wp-block-media-text .wp-block-media-text__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.entry-content .wp-block-media-text .wp-block-media-text__content {
  padding: 2.4rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .entry-content .wp-block-media-text .wp-block-media-text__content {
    padding: 1.6rem;
  }
}
@media only screen and (max-width: 767px) {
  .entry-content .wp-block-media-text.is-stacked-on-mobile {
    grid-template-columns: 1fr;
  }
  .entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media,
  .entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    order: unset;
  }
  .entry-content .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
    padding: 1.6rem 0 0;
  }
}
.entry-content .wp-block-embed .wp-block-embed__wrapper {
  position: relative;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
.entry-content .wp-block-embed .wp-block-embed__wrapper iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.entry-content .wp-block-embed figcaption {
  margin-top: 0.8rem;
  font-size: 0.75em;
  text-align: center;
}
.entry-content .wp-block-video video,
.entry-content .wp-block-video audio,
.entry-content .wp-block-audio video,
.entry-content .wp-block-audio audio {
  width: 100%;
}
.entry-content .wp-block-video figcaption,
.entry-content .wp-block-audio figcaption {
  margin-top: 0.8rem;
  font-size: 0.75em;
  text-align: center;
}
.entry-content .wp-block-details {
  border: 0.2rem solid;
  border-radius: 0.4rem;
  padding: 1em;
}
.entry-content .wp-block-details summary {
  font-weight: 700;
  cursor: pointer;
  list-style: none;
  position: relative;
  margin-bottom: 0;
  padding: 1em;
  margin: -1em;
}
.entry-content .wp-block-details summary + * {
  margin-top: 0.5em;
}
.entry-content .wp-block-details summary::-webkit-details-marker {
  display: none;
}
.entry-content .wp-block-details summary::before, .entry-content .wp-block-details summary::after {
  content: "";
  display: block;
  width: 1em;
  height: 0.15em;
  background: #333;
  position: absolute;
  top: 1.85em;
  right: 1.5em;
}
.entry-content .wp-block-details summary::before {
  transform: rotate(90deg);
  transition: 400ms;
}
.entry-content .wp-block-details[open] summary::before {
  transform: rotate(0deg);
}
.entry-content .wp-block-file {
  display: flex;
  align-items: center;
  gap: 1.6rem;
}
.entry-content .wp-block-file .wp-block-file__content-wrapper {
  flex-grow: 1;
}
.entry-content .wp-block-file a:not(.wp-block-file__button) {
  text-decoration: underline;
  word-break: break-all;
}
.entry-content .wp-block-file .wp-block-file__button {
  display: inline-block;
  padding: 0.8rem 1.6rem;
  font-size: 0.75em;
  font-weight: 700;
  border-radius: 0.4rem;
  text-decoration: none;
  white-space: nowrap;
  background: var(--themeColor);
}
.entry-content .wp-block-file .wp-block-file__button:hover {
  opacity: 0.8;
}
.entry-content .wp-block-search {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
.entry-content .wp-block-search .wp-block-search__label {
  width: 100%;
  font-weight: 700;
  margin-bottom: 0.4rem;
}
.entry-content .wp-block-search .wp-block-search__input {
  flex: 1;
  padding: 0.7em 1em;
  font-size: 1em;
  border: 0.1rem solid;
  border-radius: 0.4rem;
  min-width: 20rem;
}
.entry-content .wp-block-search .wp-block-search__button {
  padding: 1rem 2rem;
  font-size: 1em;
  font-weight: 700;
  border: none;
  border-radius: 0.4rem;
  cursor: pointer;
  background: var(--themeColor);
  color: #fff;
}
.entry-content .wp-block-search .wp-block-search__button:hover {
  opacity: 0.8;
}
.entry-content figcaption {
  width: 100%;
  text-align: center;
}
.entry-content .has-text-align-left {
  text-align: left;
}
.entry-content .has-text-align-center {
  text-align: center;
}
.entry-content .has-text-align-right {
  text-align: right;
}
@media only screen and (max-width: 767px) {
  .entry-content {
    font-size: 1.4rem;
  }
  .entry-content h1 {
    font-size: 2.8rem;
  }
  .entry-content h2 {
    font-size: 2.2rem;
  }
  .entry-content h3 {
    font-size: 1.8rem;
  }
  .entry-content h4 {
    font-size: 1.6rem;
  }
  .entry-content h5 {
    font-size: 1.5rem;
  }
  .entry-content h6 {
    font-size: 1.4rem;
  }
  .entry-content h2 {
    margin-top: 4.8rem;
  }
  .entry-content h3 {
    margin-top: 4rem;
  }
  .entry-content h4 {
    margin-top: 3.6rem;
  }
  .entry-content .wp-block-columns.is-layout-flex {
    flex-direction: column;
  }
  .entry-content .wp-block-gallery.columns-3 .wp-block-image, .entry-content .wp-block-gallery.columns-4 .wp-block-image {
    width: calc(50% - 0.4rem);
  }
  .entry-content .wp-block-cover {
    min-height: 28rem;
    padding: 2.4rem;
  }
  .entry-content .wp-block-pullquote {
    padding: 2.4rem 0;
  }
  .entry-content .wp-block-pullquote p {
    font-size: 1.8rem;
  }
  .entry-content .wp-block-quote.is-style-large {
    padding: 2.4rem;
    font-size: 1.8rem;
  }
  .entry-content .wp-block-button {
    width: 100%;
  }
  .entry-content .wp-block-button .wp-block-button__link {
    width: 100%;
    text-align: center;
  }
  .entry-content .wp-block-group.has-background {
    padding: 1.6rem;
  }
  .entry-content .wp-block-group.is-layout-grid {
    grid-template-columns: 1fr;
  }
  .entry-content .wp-block-search .wp-block-search__input {
    min-width: 0;
    width: 100%;
  }
}
.entry-content .memo-inner {
  margin: 0;
  padding: 2rem;
  background: #fff;
  border: 0.3rem solid var(--themeColor);
  border-radius: 0 0.5rem 0.5rem 0.5rem;
}
@media only screen and (max-width: 767px) {
  .entry-content .memo-inner {
    padding: 1rem;
  }
}
.entry-content .memo .ttl {
  display: inline-block;
  color: #fff;
  font-weight: bold;
  background: var(--themeColor);
  margin-bottom: -0.3rem;
  border-radius: 0.5rem 0.5rem 0 0;
}
@media only screen and (max-width: 767px) {
  .entry-content .memo .ttl {
    padding: 0.5rem 1.5rem 0.3rem;
  }
}
@media only screen and (min-width: 768px) {
  .entry-content .memo .ttl {
    padding: 0.5rem 1.5rem 0.3rem;
  }
}
.entry-content .link-card {
  margin: 2rem 0;
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
}
.entry-content .link-card a {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  background: #f5f4f2;
  text-decoration: none;
}
@media only screen and (min-width: 768px) {
  .entry-content .link-card a:hover img {
    transform: scale(1.05);
  }
}
.entry-content .link-card a[target=_blank]::after {
  content: "";
  display: block;
  width: 1em;
  height: 1em;
  background-image: url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' width='20.414' height='20.414' viewBox='0 0 20.414 20.414'%3E%3Cg id='グループ_128' data-name='グループ 128' transform='translate(-2 -1.586)'%3E%3Cpath id='パス_17' data-name='パス 17' d='M21,3H15m6,0-9,9m9-9V9' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3Cpath id='パス_18' data-name='パス 18' d='M21,13v6a2,2,0,0,1-2,2H5a2,2,0,0,1-2-2V5A2,2,0,0,1,5,3h6' fill='none' stroke='%23000' stroke-linecap='round' stroke-width='2'/%3E%3C/g%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  bottom: 1rem;
  right: 1rem;
}
.entry-content .link-card .link-card-thumbnail {
  width: 30%;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .entry-content .link-card .link-card-thumbnail {
    width: 10rem;
    padding-top: 7.5rem;
  }
}
.entry-content .link-card .link-card-thumbnail img {
  transition: 400ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media only screen and (max-width: 767px) {
  .entry-content .link-card .link-card-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    top: 0;
    left: 0;
  }
}
.entry-content .link-card .link-card-content {
  padding: 2rem;
}
@media only screen and (min-width: 768px) {
  .entry-content .link-card .link-card-content {
    width: 70%;
  }
}
@media only screen and (max-width: 767px) {
  .entry-content .link-card .link-card-content {
    flex: 1;
    padding-left: 0.7rem;
    padding: 1rem;
  }
}
.entry-content .link-card .link-card-title {
  font-weight: 600;
  font-size: 1.1em;
  margin-bottom: 0 !important;
  margin-top: 0 !important;
}
@media only screen and (max-width: 767px) {
  .entry-content .link-card .link-card-title {
    font-size: 1.2rem !important;
    letter-spacing: 0;
    line-height: 1.5 !important;
  }
}
.entry-content .toc {
  background: #F7F7F7;
  border-radius: 1rem;
  overflow: hidden;
}
.entry-content .toc__title {
  color: #fff;
  background: var(--themeColor);
  padding: 1rem 2rem;
}
@media only screen and (max-width: 767px) {
  .entry-content .toc__title {
    padding: 0.5rem 1rem;
  }
}
.entry-content .toc__list {
  padding: 2rem 2rem 2rem 4.5rem;
}
@media only screen and (max-width: 767px) {
  .entry-content .toc__list {
    padding: 1rem 1rem 1rem 4rem;
  }
}
@media only screen and (min-width: 768px) {
  .entry-content .toc__list li a {
    transition: 200ms;
  }
  .entry-content .toc__list li a:hover {
    color: var(--themeColor);
  }
}
.entry-content .toc__list li > ol {
  color: var(--text-light);
  font-size: 90%;
}

ul.check {
  position: relative;
  list-style: none;
  padding-left: 0;
}
ul.check li {
  padding-left: 3rem;
  position: relative;
}
@media only screen and (max-width: 767px) {
  ul.check li {
    padding-left: 2rem;
  }
}
ul.check li::before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 0.6em;
  border-left: 0.2em solid var(--themeColor);
  border-bottom: 0.2em solid var(--themeColor);
  transform: rotate(-45deg);
  position: absolute;
  top: 0.5em;
  left: 0;
}

.is-style-bg-fill {
  background: var(--themeColor);
  color: #fff;
  padding: 0.35em 0.6em;
  border-radius: 0.1em;
}

.is-style-square-dot {
  display: flex;
  align-items: center;
  gap: 0.4em;
}
.is-style-square-dot::before {
  content: "";
  display: block;
  width: 0.55em;
  height: 0.55em;
  background: var(--themeColor);
  flex-shrink: 0;
}

.is-style-border-left {
  padding-left: 0.5em;
  border-left: 0.2em solid var(--themeColor);
}

.is-style-border-bottom {
  padding-bottom: 0.35em;
  border-bottom: 0.08em solid var(--themeColor);
}

.is-style-center-line {
  text-align: center;
}
.is-style-center-line::after {
  content: "";
  display: block;
  width: 2em;
  height: 0.1em;
  background: var(--themeColor);
  margin: 0.8em auto 0;
  border-radius: 0.05em;
}

.text-underline {
  text-decoration: underline;
  text-decoration-color: var(--themeColor);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.text-marker {
  background: linear-gradient(transparent 60%, #fef08a 60%);
  padding: 0 2px;
}

.font-large {
  font-size: 1.25em;
}

.font-small {
  font-size: 0.75em;
}

.en {
  font-family: "Montserrat", sans-serif;
}

.theme_color {
  color: var(--themeColor);
}

.custom-button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
}

.custom-button {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.5em 1em;
  min-height: 2.4em;
  font-weight: 600;
  line-height: 1.5;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
  transition: opacity 0.2s, background-color 0.2s, color 0.2s;
}
.custom-button--fill {
  background-color: var(--wp--preset--color--theme);
  border-color: var(--wp--preset--color--theme);
  color: #fff;
}
.custom-button--fill .custom-button__icon svg path {
  fill: #fff;
  transition: 200ms;
}
.custom-button--fill:hover {
  background: #fff;
  color: var(--wp--preset--color--theme);
}
.custom-button--fill:hover svg path {
  fill: var(--wp--preset--color--theme);
}
.custom-button--outline {
  background-color: transparent;
  border-color: var(--wp--preset--color--theme);
  color: var(--wp--preset--color--theme);
}
.custom-button--outline .custom-button__icon svg path {
  fill: var(--wp--preset--color--theme);
  transition: 200ms;
}
.custom-button--outline:hover {
  color: #fff;
  background: var(--wp--preset--color--theme);
}
.custom-button--outline:hover svg path {
  fill: #fff;
}
.custom-button--radius-none {
  border-radius: 0;
}
.custom-button--radius-small {
  border-radius: 0.5rem;
}
.custom-button--radius-pill {
  border-radius: 9999px;
}
.custom-button--icon-left {
  padding-left: 0.3em;
}
.custom-button__icon {
  display: inline-flex;
  align-items: center;
  width: 1.5em;
  height: 1.5em;
}
.custom-button__icon svg {
  width: 100%;
  height: 100%;
}
.custom-button__text {
  line-height: 1.2;
}