@charset "UTF-8";
@import url(//cdn.jsdelivr.net/npm/yakuhanjp@4.1.1/dist/css/yakuhanjp.css);
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap");
/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Remove gray overlay on links for iOS.
 */
html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
  -webkit-tap-highlight-color: transparent; /* 3*/
}

/* Sections */
/* ============================================ */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: bold;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  text-decoration: underline; /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: inherit; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
 * Prevent vertical alignment issues.
 */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
 * Reset form fields to make them styleable
 */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
 * Reset radio and checkbox appearance to preserve their look in iOS.
 */
[type=checkbox] {
  -webkit-appearance: checkbox;
  appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  appearance: radio;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Remove arrow in IE10 & IE11
 */
select::-ms-expand {
  display: none;
}

/**
 * Remove padding
 */
option {
  padding: 0;
}

/**
 * Reset to invisible
 */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the outline style in Safari.
 */
[type=search] {
  outline-offset: -2px; /* 1 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Clickable labels
 */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/*
 * Remove outline for editable content.
 */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: bold;
}

/* Misc */
/* ============================================ */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none;
}

/* 全体
**************************************************/
html {
  font-size: 62.5%;
  overflow: auto;
}
@media only screen and (min-width: 640px) and (max-width: 1199px) {
  html {
    font-size: 0.8333333333vw;
  }
}
@media only screen and (max-width: 639px) {
  html {
    font-size: 2.6666666667vmin;
  }
}

body {
  background: white !important;
  overflow-x: clip;
  font-size: 1.4rem;
  color: #0C0B0B;
  font-family: "YakuHanJP", "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 639px) {
  body {
    font-size: 1.4rem;
    line-height: 1.7;
  }
}

a {
  text-decoration: underline;
  transition: opacity 0.4s ease;
}
@media only screen and (min-width: calc(640 * 1px)) {
  a:hover {
    text-decoration: none;
    opacity: 0.7;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  a:focus, a:active {
    text-decoration: none;
    opacity: 0.7;
  }
}
a:active, a:focus {
  outline: none !important;
}

p {
  margin-bottom: 1.5em;
}

img:not([src*=icon_]) {
  height: auto;
}
@media only screen and (min-width: 640px) {
  img {
    max-width: 100%;
  }
}
@media only screen and (max-width: 639px) {
  img {
    width: 100%;
  }
  img[src*=icon_] {
    width: inherit;
  }
}

h1, h2, h3, h4, h5, p, ul, ol, dl, table {
  margin-bottom: 1rem;
}

input, select, textarea {
  display: inline-block;
  background: white;
}

input, textarea {
  border: solid 1px gray;
  padding: 0.4em 0.5em;
}

input[type=submit],
input[type=button],
button {
  font-size: inherit;
  line-height: 1;
  background: #ddd;
  border: solid 1px #bbb;
  padding: 0.5em 1em;
}

textarea {
  height: 10rem;
  overflow-y: auto;
}

select {
  -webkit-appearance: auto;
          appearance: auto;
}

label {
  cursor: pointer;
}

button[disabled], input[disabled] {
  pointer-events: none;
  opacity: 0.5;
}

.btnReset {
  border: none;
  background: none;
  padding: 0;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}

/* 汎用
**************************************************/
.container > *:last-child {
  margin-bottom: 0;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: var(--headerHgt, 10rem);
}

body {
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}

@media only screen and (min-width: 640px) {
  body.is-open {
    position: fixed;
    overflow-y: scroll;
  }
}
@media only screen and (max-width: 639px) {
  body.is-open {
    position: relative;
    overflow: hidden;
  }
}

/* ヘッダー
**************************************************/
.wrapper {
  position: relative;
  background: #EFF4F3;
}

.header {
  background: #EFF4F3;
  border-bottom: 1px solid #4ecdac;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 100;
}
.header__inner {
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}
.header__logo {
  position: relative;
  z-index: 102;
}
.header__logo img {
  width: 27rem;
}
@media only screen and (max-width: 639px) {
  .header__logo img {
    width: 18rem;
  }
}
.header__logo > * {
  display: block;
  margin: 2rem 0 2rem 3rem;
}
@media only screen and (max-width: 639px) {
  .header__logo > * {
    margin: 1.5rem 0 1.5rem 2rem;
  }
}
.header__menuBtn {
  position: relative;
  z-index: 102;
  text-decoration: none;
  background: #1ACFB1;
  background: linear-gradient(90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
}
.header__menuBtn > span {
  display: block;
  width: 7rem;
  height: calc(7rem + 1px);
  padding: 1.5rem;
  margin-bottom: -1px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: relative;
}
.header__menuBtn > span:before, .header__menuBtn > span:after {
  content: "";
  display: block;
  width: 4rem;
  height: 1px;
  background: white;
  position: absolute;
  left: 50%;
  -webkit-transform-origin: center center;
          transform-origin: center center;
  transition: -webkit-transform 0.4s;
  transition: transform 0.4s;
  transition: transform 0.4s, -webkit-transform 0.4s;
}
.header__menuBtn > span:before {
  top: 2.5rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header__menuBtn > span:after {
  top: 3rem;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.header__menuBtn > span > span {
  display: inline-block;
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 150%;
  letter-spacing: 0.1em;
  color: #FFFFFF;
}
.header__menuBtn.is-open > span:before {
  top: 2.75rem;
  -webkit-transform: translate(-50%, -50%) rotate(15deg);
          transform: translate(-50%, -50%) rotate(15deg);
}
.header__menuBtn.is-open > span:after {
  top: 2.75rem;
  -webkit-transform: translate(-50%, -50%) rotate(-15deg);
          transform: translate(-50%, -50%) rotate(-15deg);
}
@media only screen and (min-width: 640px) {
  .header__nav {
    display: contents;
  }
}
@media only screen and (max-width: 639px) {
  .header__nav {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 101;
    -webkit-transform: translateX(110%);
            transform: translateX(110%);
    transition: all 0.4s;
    background: #EFF4F3;
    margin-top: 7rem;
    border-top: 1px solid #3D3D3D;
    padding: 0 2rem 0;
  }
  .header__nav.is-open {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media only screen and (min-width: 640px) {
  .header__navInner {
    display: contents;
  }
}
@media only screen and (max-width: 639px) {
  .header__navInner {
    padding-top: 6rem;
    padding-bottom: 6rem;
    overflow-y: auto;
    max-height: var(--100vh, 70vh);
    height: calc(100vh - 7rem);
  }
}
.header__navList {
  margin-bottom: 0;
  display: flex;
  align-items: center;
  gap: 4rem;
}
@media only screen and (min-width: 640px) {
  .header__navList {
    padding-right: 6rem;
  }
}
@media only screen and (max-width: 639px) {
  .header__navList {
    flex-wrap: wrap;
    gap: 2.1rem 1.9rem;
    margin-bottom: 6rem;
  }
}
@media only screen and (max-width: 639px) {
  .header__navList > li {
    width: calc(50% - 0.95rem);
  }
}
.header__navList > li > a {
  text-decoration: none;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 640px) {
  .header__navList > li > a.is-current {
    color: #1FB590;
  }
}
@media only screen and (max-width: 639px) {
  .header__navList > li > a {
    text-decoration: none;
    display: inline-flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    align-items: center;
    background: #4ECDAC;
    padding: 1.8rem 1.5rem 1.5rem;
    border-radius: 1.6rem;
    font-weight: 500;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
    letter-spacing: 0.1em;
    color: #FFFFFF;
  }
  .header__navList > li > a img {
    width: 12.7rem;
  }
}
@media only screen and (max-width: 639px) {
  .header__contact {
    margin-top: 6rem;
  }
}
.header__btns {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}
@media only screen and (max-width: 639px) {
  .header__btns {
    align-items: center;
  }
}
.header__btn {
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  padding: 1.5rem 2rem;
  height: 100%;
  min-width: 24rem;
  font-weight: 400;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.1em;
  color: #FFFFFF;
  background: #1ACFB1;
  background: linear-gradient(90deg, #1acfb1 0%, #0e8dc7 45%, #0e8dc7 55%, #1acfb1 100%);
  background-size: 220% 100%;
  background-position: 0 0;
  transition: background-position 0.4s ease, border-radius 0.4s ease;
}
@media only screen and (max-width: 639px) {
  .header__btn {
    border-radius: 0.4rem;
  }
}
@media only screen and (min-width: calc(640 * 1px)) {
  .header__btn:hover {
    opacity: 1;
    background-position: 110% 0;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .header__btn:focus, .header__btn:active {
    opacity: 1;
    background-position: 110% 0;
  }
}

/* フッター
**************************************************/
.footer {
  background: #1ACFB1;
  background: linear-gradient(90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
  color: white;
}
@media only screen and (min-width: 640px) {
  .wrapper:not(:has(.p-top)) .footer {
    margin-top: 16rem;
  }
}

.footer * {
  margin-bottom: 0;
}
.footer__inner {
  text-align: center;
}
@media only screen and (min-width: 640px) {
  .footer__inner {
    max-width: 1920px;
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: content-box;
  }
}
@media only screen and (max-width: 639px) {
  .footer__inner {
    padding: 0 !important;
  }
}
.footer__primary {
  padding: 4rem 2rem;
}
@media only screen and (min-width: 640px) {
  .footer__primary {
    padding: 8rem 2rem;
  }
}
.footer__primary > .inner {
  display: flex;
  gap: 4rem;
}
@media only screen and (max-width: 639px) {
  .footer__primary > .inner {
    flex-direction: column;
  }
}
@media only screen and (min-width: 640px) {
  .footer__contact {
    width: calc(50% - 2rem);
  }
}
.footer__copy {
  background: #EFF4F3;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 700;
  font-size: 1rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #1FB590;
  padding: 2rem 2rem;
}

/* コンテンツ
**************************************************/
.inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 2rem;
  box-sizing: content-box;
}
@media only screen and (min-width: 640px) {
  .inner {
    padding: 0 4rem;
  }
}
.inner:last-child,
.inner > *:last-child {
  margin-bottom: 0;
}

main {
  padding-top: 7rem;
  padding-bottom: 8rem;
}
main:has(.section) {
  padding-bottom: 0;
}
@media only screen and (min-width: 640px) {
  main {
    padding-top: 10rem;
    padding-bottom: 12rem;
  }
}
main > *:not(.section):last-child {
  margin-bottom: 0;
}

/* パンくず
**************************************************/
.breadCrumb {
  margin-top: 1rem;
  margin-bottom: 12rem;
}
@media only screen and (max-width: 639px) {
  .breadCrumb {
    margin-bottom: 8rem;
  }
}
.breadCrumb .inner {
  max-width: 960px;
}
.breadCrumb ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 0.5rem;
}
.breadCrumb ul > li {
  font-weight: 700;
  font-size: 1rem;
  line-height: 150%;
  letter-spacing: 0.15em;
}
.breadCrumb ul > li:not(:last-child) {
  display: flex;
  align-items: center;
  gap: 1rem 0.5rem;
}
.breadCrumb ul > li:not(:last-child):after {
  content: "/";
  display: inline-block;
  width: auto;
  height: auto;
}
.breadCrumb ul > li:not(:last-child) a {
  color: #ec852b;
}

.pageTopBtnWrap {
  height: 0;
  position: relative;
}

.pageTopBtn {
  border: none;
  position: fixed;
  bottom: 2rem;
  right: 2rem;
  background: #1ACFB1;
  background: linear-gradient(90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
  color: white;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.4rem;
  text-align: center;
  letter-spacing: 0.2em;
  display: flex;
  flex-direction: column;
  gap: 2px;
  justify-content: center;
  align-items: center;
  text-align: center;
  min-width: 4.8rem;
  min-height: 4.8rem;
  text-decoration: none;
  transition: all 0.4s;
  z-index: 90;
}
@media only screen and (min-width: calc(640 * 1px)) {
  .pageTopBtn:hover {
    background: #0E8DC7;
    background: linear-gradient(-90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
    opacity: 1;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .pageTopBtn:focus, .pageTopBtn:active {
    background: #0E8DC7;
    background: linear-gradient(-90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
    opacity: 1;
  }
}

@media only screen and (max-width: 639px) {
  .is-pc {
    display: none !important;
  }
}

@media only screen and (min-width: 640px) {
  .is-sp {
    display: none !important;
  }
}

.only-sr {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.fw-l {
  font-weight: lighter !important;
}
.fw-n {
  font-weight: normal !important;
}
.fw-m {
  font-weight: 500 !important;
}
.fw-b {
  font-weight: 700 !important;
}

.fz-n {
  font-size: inherit !important;
}
.fz-s {
  font-size: 0.8em;
}
.fz-m {
  font-size: 1.4em;
}
.fz-l {
  font-size: 1.8em;
}
.fz-ll {
  font-size: 2em;
}

.nobr {
  display: inline-block;
}

.is-hide {
  display: none !important;
}

.lts-n {
  letter-spacing: -0.04em;
}
.lts-ss {
  letter-spacing: -0.08em;
}

.fz-ss {
  font-size: 0.6em !important;
}
.fz-s {
  font-size: 0.85em !important;
}
.fz-l {
  font-size: 1.2em !important;
}
.fz-ll {
  font-size: 1.4em !important;
}
.fz-lll {
  font-size: 1.6em !important;
}

.ta-c {
  text-align: center !important;
}
.ta-r {
  text-align: right !important;
}
.ta-l {
  text-align: left !important;
}
.ta-j {
  text-align: justify !important;
  text-justify: inter-ideograph !important;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media only screen and (min-width: 640px) {
  .ta-pc-c {
    text-align: center !important;
  }
  .ta-pc-r {
    text-align: right !important;
  }
  .ta-pc-l {
    text-align: left !important;
  }
  .ta-pc-j {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}
@media only screen and (max-width: 639px) {
  .ta-sp-c {
    text-align: center !important;
  }
  .ta-sp-r {
    text-align: right !important;
  }
  .ta-sp-l {
    text-align: left !important;
  }
  .ta-sp-j {
    text-align: justify !important;
    text-justify: inter-ideograph !important;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
  }
}

.flx-l {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start !important;
}
.flx-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center !important;
}
.flx-r {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end !important;
}
@media only screen and (min-width: 640px) {
  .flx-pc-l {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start !important;
  }
  .flx-pc-c {
    display: flex;
    flex-wrap: wrap;
    justify-content: center !important;
  }
  .flx-pc-r {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end !important;
  }
}
@media only screen and (max-width: 639px) {
  .flx-sp-l {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start !important;
  }
  .flx-sp-c {
    display: flex;
    flex-wrap: wrap;
    justify-content: center !important;
  }
  .flx-sp-r {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end !important;
  }
}

.va-m, .va-t, .va-b {
  display: table-cell !important;
}
.va-m {
  vertical-align: middle !important;
}
.va-t {
  vertical-align: top !important;
}
.va-b {
  vertical-align: bottom !important;
}
@media only screen and (max-width: 639px) {
  .va-sp-m, .va-sp-t, .va-sp-b {
    display: table-cell !important;
  }
  .va-sp-m {
    vertical-align: middle !important;
  }
  .va-sp-t {
    vertical-align: top !important;
  }
  .va-sp-b {
    vertical-align: bottom !important;
  }
}

/*  margin
================================================== */
.mt-auto, .mh-auto, .ma-auto {
  margin-top: auto !important;
}

.mr-auto, .mw-auto, .ma-auto {
  margin-right: auto !important;
}

.mb-auto, .mh-auto, .ma-auto {
  margin-bottom: auto !important;
}

.ml-auto, .mw-auto, .ma-auto {
  margin-left: auto !important;
}

.mt-0, .mh-0, .ma-0 {
  margin-top: 0rem !important;
}

.mr-0, .mw-0, .ma-0 {
  margin-right: 0rem !important;
}

.mb-0, .mh-0, .ma-0 {
  margin-bottom: 0rem !important;
}

.ml-0, .mw-0, .ma-0 {
  margin-left: 0rem !important;
}

.pt-0, .ph-0, .pa-0 {
  padding-top: 0rem !important;
}

.pr-0, .pw-0, .pa-0 {
  padding-right: 0rem !important;
}

.pb-0, .ph-0, .pa-0 {
  padding-bottom: 0rem !important;
}

.pl-0, .pw-0, .pa-0 {
  padding-left: 0rem !important;
}

.mt-pc-0, .mh-pc-0, .ma-pc-0 {
  margin-top: 0rem !important;
}

.mr-pc-0, .mw-pc-0, .ma-pc-0 {
  margin-right: 0rem !important;
}

.mb-pc-0, .mh-pc-0, .ma-pc-0 {
  margin-bottom: 0rem !important;
}

.ml-pc-0, .mw-pc-0, .ma-pc-0 {
  margin-left: 0rem !important;
}

.pt-pc-0, .ph-pc-0, .pa-pc-0 {
  padding-top: 0rem !important;
}

.pr-pc-0, .pw-pc-0, .pa-pc-0 {
  padding-right: 0rem !important;
}

.pb-pc-0, .ph-pc-0, .pa-pc-0 {
  padding-bottom: 0rem !important;
}

.pl-pc-0, .pw-pc-0, .pa-pc-0 {
  padding-left: 0rem !important;
}

.mt-sp-0, .mh-sp-0, .ma-sp-0 {
  margin-top: 0rem !important;
}

.mr-sp-0, .mw-sp-0, .ma-sp-0 {
  margin-right: 0rem !important;
}

.mb-sp-0, .mh-sp-0, .ma-sp-0 {
  margin-bottom: 0rem !important;
}

.ml-sp-0, .mw-sp-0, .ma-sp-0 {
  margin-left: 0rem !important;
}

.pt-sp-0, .ph-sp-0, .pa-sp-0 {
  padding-top: 0rem !important;
}

.pr-sp-0, .pw-sp-0, .pa-sp-0 {
  padding-right: 0rem !important;
}

.pb-sp-0, .ph-sp-0, .pa-sp-0 {
  padding-bottom: 0rem !important;
}

.pl-sp-0, .pw-sp-0, .pa-sp-0 {
  padding-left: 0rem !important;
}

.mt-5, .mh-5, .ma-5 {
  margin-top: 0.5rem !important;
}

.mr-5, .mw-5, .ma-5 {
  margin-right: 0.5rem !important;
}

.mb-5, .mh-5, .ma-5 {
  margin-bottom: 0.5rem !important;
}

.ml-5, .mw-5, .ma-5 {
  margin-left: 0.5rem !important;
}

.pt-5, .ph-5, .pa-5 {
  padding-top: 0.5rem !important;
}

.pr-5, .pw-5, .pa-5 {
  padding-right: 0.5rem !important;
}

.pb-5, .ph-5, .pa-5 {
  padding-bottom: 0.5rem !important;
}

.pl-5, .pw-5, .pa-5 {
  padding-left: 0.5rem !important;
}

.mt-pc-5, .mh-pc-5, .ma-pc-5 {
  margin-top: 0.5rem !important;
}

.mr-pc-5, .mw-pc-5, .ma-pc-5 {
  margin-right: 0.5rem !important;
}

.mb-pc-5, .mh-pc-5, .ma-pc-5 {
  margin-bottom: 0.5rem !important;
}

.ml-pc-5, .mw-pc-5, .ma-pc-5 {
  margin-left: 0.5rem !important;
}

.pt-pc-5, .ph-pc-5, .pa-pc-5 {
  padding-top: 0.5rem !important;
}

.pr-pc-5, .pw-pc-5, .pa-pc-5 {
  padding-right: 0.5rem !important;
}

.pb-pc-5, .ph-pc-5, .pa-pc-5 {
  padding-bottom: 0.5rem !important;
}

.pl-pc-5, .pw-pc-5, .pa-pc-5 {
  padding-left: 0.5rem !important;
}

.mt-sp-5, .mh-sp-5, .ma-sp-5 {
  margin-top: 0.5rem !important;
}

.mr-sp-5, .mw-sp-5, .ma-sp-5 {
  margin-right: 0.5rem !important;
}

.mb-sp-5, .mh-sp-5, .ma-sp-5 {
  margin-bottom: 0.5rem !important;
}

.ml-sp-5, .mw-sp-5, .ma-sp-5 {
  margin-left: 0.5rem !important;
}

.pt-sp-5, .ph-sp-5, .pa-sp-5 {
  padding-top: 0.5rem !important;
}

.pr-sp-5, .pw-sp-5, .pa-sp-5 {
  padding-right: 0.5rem !important;
}

.pb-sp-5, .ph-sp-5, .pa-sp-5 {
  padding-bottom: 0.5rem !important;
}

.pl-sp-5, .pw-sp-5, .pa-sp-5 {
  padding-left: 0.5rem !important;
}

.mt-10, .mh-10, .ma-10 {
  margin-top: 1rem !important;
}

.mr-10, .mw-10, .ma-10 {
  margin-right: 1rem !important;
}

.mb-10, .mh-10, .ma-10 {
  margin-bottom: 1rem !important;
}

.ml-10, .mw-10, .ma-10 {
  margin-left: 1rem !important;
}

.pt-10, .ph-10, .pa-10 {
  padding-top: 1rem !important;
}

.pr-10, .pw-10, .pa-10 {
  padding-right: 1rem !important;
}

.pb-10, .ph-10, .pa-10 {
  padding-bottom: 1rem !important;
}

.pl-10, .pw-10, .pa-10 {
  padding-left: 1rem !important;
}

.mt-pc-10, .mh-pc-10, .ma-pc-10 {
  margin-top: 1rem !important;
}

.mr-pc-10, .mw-pc-10, .ma-pc-10 {
  margin-right: 1rem !important;
}

.mb-pc-10, .mh-pc-10, .ma-pc-10 {
  margin-bottom: 1rem !important;
}

.ml-pc-10, .mw-pc-10, .ma-pc-10 {
  margin-left: 1rem !important;
}

.pt-pc-10, .ph-pc-10, .pa-pc-10 {
  padding-top: 1rem !important;
}

.pr-pc-10, .pw-pc-10, .pa-pc-10 {
  padding-right: 1rem !important;
}

.pb-pc-10, .ph-pc-10, .pa-pc-10 {
  padding-bottom: 1rem !important;
}

.pl-pc-10, .pw-pc-10, .pa-pc-10 {
  padding-left: 1rem !important;
}

.mt-sp-10, .mh-sp-10, .ma-sp-10 {
  margin-top: 1rem !important;
}

.mr-sp-10, .mw-sp-10, .ma-sp-10 {
  margin-right: 1rem !important;
}

.mb-sp-10, .mh-sp-10, .ma-sp-10 {
  margin-bottom: 1rem !important;
}

.ml-sp-10, .mw-sp-10, .ma-sp-10 {
  margin-left: 1rem !important;
}

.pt-sp-10, .ph-sp-10, .pa-sp-10 {
  padding-top: 1rem !important;
}

.pr-sp-10, .pw-sp-10, .pa-sp-10 {
  padding-right: 1rem !important;
}

.pb-sp-10, .ph-sp-10, .pa-sp-10 {
  padding-bottom: 1rem !important;
}

.pl-sp-10, .pw-sp-10, .pa-sp-10 {
  padding-left: 1rem !important;
}

.mt-15, .mh-15, .ma-15 {
  margin-top: 1.5rem !important;
}

.mr-15, .mw-15, .ma-15 {
  margin-right: 1.5rem !important;
}

.mb-15, .mh-15, .ma-15 {
  margin-bottom: 1.5rem !important;
}

.ml-15, .mw-15, .ma-15 {
  margin-left: 1.5rem !important;
}

.pt-15, .ph-15, .pa-15 {
  padding-top: 1.5rem !important;
}

.pr-15, .pw-15, .pa-15 {
  padding-right: 1.5rem !important;
}

.pb-15, .ph-15, .pa-15 {
  padding-bottom: 1.5rem !important;
}

.pl-15, .pw-15, .pa-15 {
  padding-left: 1.5rem !important;
}

.mt-pc-15, .mh-pc-15, .ma-pc-15 {
  margin-top: 1.5rem !important;
}

.mr-pc-15, .mw-pc-15, .ma-pc-15 {
  margin-right: 1.5rem !important;
}

.mb-pc-15, .mh-pc-15, .ma-pc-15 {
  margin-bottom: 1.5rem !important;
}

.ml-pc-15, .mw-pc-15, .ma-pc-15 {
  margin-left: 1.5rem !important;
}

.pt-pc-15, .ph-pc-15, .pa-pc-15 {
  padding-top: 1.5rem !important;
}

.pr-pc-15, .pw-pc-15, .pa-pc-15 {
  padding-right: 1.5rem !important;
}

.pb-pc-15, .ph-pc-15, .pa-pc-15 {
  padding-bottom: 1.5rem !important;
}

.pl-pc-15, .pw-pc-15, .pa-pc-15 {
  padding-left: 1.5rem !important;
}

.mt-sp-15, .mh-sp-15, .ma-sp-15 {
  margin-top: 1.5rem !important;
}

.mr-sp-15, .mw-sp-15, .ma-sp-15 {
  margin-right: 1.5rem !important;
}

.mb-sp-15, .mh-sp-15, .ma-sp-15 {
  margin-bottom: 1.5rem !important;
}

.ml-sp-15, .mw-sp-15, .ma-sp-15 {
  margin-left: 1.5rem !important;
}

.pt-sp-15, .ph-sp-15, .pa-sp-15 {
  padding-top: 1.5rem !important;
}

.pr-sp-15, .pw-sp-15, .pa-sp-15 {
  padding-right: 1.5rem !important;
}

.pb-sp-15, .ph-sp-15, .pa-sp-15 {
  padding-bottom: 1.5rem !important;
}

.pl-sp-15, .pw-sp-15, .pa-sp-15 {
  padding-left: 1.5rem !important;
}

.mt-20, .mh-20, .ma-20 {
  margin-top: 2rem !important;
}

.mr-20, .mw-20, .ma-20 {
  margin-right: 2rem !important;
}

.mb-20, .mh-20, .ma-20 {
  margin-bottom: 2rem !important;
}

.ml-20, .mw-20, .ma-20 {
  margin-left: 2rem !important;
}

.pt-20, .ph-20, .pa-20 {
  padding-top: 2rem !important;
}

.pr-20, .pw-20, .pa-20 {
  padding-right: 2rem !important;
}

.pb-20, .ph-20, .pa-20 {
  padding-bottom: 2rem !important;
}

.pl-20, .pw-20, .pa-20 {
  padding-left: 2rem !important;
}

.mt-pc-20, .mh-pc-20, .ma-pc-20 {
  margin-top: 2rem !important;
}

.mr-pc-20, .mw-pc-20, .ma-pc-20 {
  margin-right: 2rem !important;
}

.mb-pc-20, .mh-pc-20, .ma-pc-20 {
  margin-bottom: 2rem !important;
}

.ml-pc-20, .mw-pc-20, .ma-pc-20 {
  margin-left: 2rem !important;
}

.pt-pc-20, .ph-pc-20, .pa-pc-20 {
  padding-top: 2rem !important;
}

.pr-pc-20, .pw-pc-20, .pa-pc-20 {
  padding-right: 2rem !important;
}

.pb-pc-20, .ph-pc-20, .pa-pc-20 {
  padding-bottom: 2rem !important;
}

.pl-pc-20, .pw-pc-20, .pa-pc-20 {
  padding-left: 2rem !important;
}

.mt-sp-20, .mh-sp-20, .ma-sp-20 {
  margin-top: 2rem !important;
}

.mr-sp-20, .mw-sp-20, .ma-sp-20 {
  margin-right: 2rem !important;
}

.mb-sp-20, .mh-sp-20, .ma-sp-20 {
  margin-bottom: 2rem !important;
}

.ml-sp-20, .mw-sp-20, .ma-sp-20 {
  margin-left: 2rem !important;
}

.pt-sp-20, .ph-sp-20, .pa-sp-20 {
  padding-top: 2rem !important;
}

.pr-sp-20, .pw-sp-20, .pa-sp-20 {
  padding-right: 2rem !important;
}

.pb-sp-20, .ph-sp-20, .pa-sp-20 {
  padding-bottom: 2rem !important;
}

.pl-sp-20, .pw-sp-20, .pa-sp-20 {
  padding-left: 2rem !important;
}

.mt-25, .mh-25, .ma-25 {
  margin-top: 2.5rem !important;
}

.mr-25, .mw-25, .ma-25 {
  margin-right: 2.5rem !important;
}

.mb-25, .mh-25, .ma-25 {
  margin-bottom: 2.5rem !important;
}

.ml-25, .mw-25, .ma-25 {
  margin-left: 2.5rem !important;
}

.pt-25, .ph-25, .pa-25 {
  padding-top: 2.5rem !important;
}

.pr-25, .pw-25, .pa-25 {
  padding-right: 2.5rem !important;
}

.pb-25, .ph-25, .pa-25 {
  padding-bottom: 2.5rem !important;
}

.pl-25, .pw-25, .pa-25 {
  padding-left: 2.5rem !important;
}

.mt-pc-25, .mh-pc-25, .ma-pc-25 {
  margin-top: 2.5rem !important;
}

.mr-pc-25, .mw-pc-25, .ma-pc-25 {
  margin-right: 2.5rem !important;
}

.mb-pc-25, .mh-pc-25, .ma-pc-25 {
  margin-bottom: 2.5rem !important;
}

.ml-pc-25, .mw-pc-25, .ma-pc-25 {
  margin-left: 2.5rem !important;
}

.pt-pc-25, .ph-pc-25, .pa-pc-25 {
  padding-top: 2.5rem !important;
}

.pr-pc-25, .pw-pc-25, .pa-pc-25 {
  padding-right: 2.5rem !important;
}

.pb-pc-25, .ph-pc-25, .pa-pc-25 {
  padding-bottom: 2.5rem !important;
}

.pl-pc-25, .pw-pc-25, .pa-pc-25 {
  padding-left: 2.5rem !important;
}

.mt-sp-25, .mh-sp-25, .ma-sp-25 {
  margin-top: 2.5rem !important;
}

.mr-sp-25, .mw-sp-25, .ma-sp-25 {
  margin-right: 2.5rem !important;
}

.mb-sp-25, .mh-sp-25, .ma-sp-25 {
  margin-bottom: 2.5rem !important;
}

.ml-sp-25, .mw-sp-25, .ma-sp-25 {
  margin-left: 2.5rem !important;
}

.pt-sp-25, .ph-sp-25, .pa-sp-25 {
  padding-top: 2.5rem !important;
}

.pr-sp-25, .pw-sp-25, .pa-sp-25 {
  padding-right: 2.5rem !important;
}

.pb-sp-25, .ph-sp-25, .pa-sp-25 {
  padding-bottom: 2.5rem !important;
}

.pl-sp-25, .pw-sp-25, .pa-sp-25 {
  padding-left: 2.5rem !important;
}

.mt-30, .mh-30, .ma-30 {
  margin-top: 3rem !important;
}

.mr-30, .mw-30, .ma-30 {
  margin-right: 3rem !important;
}

.mb-30, .mh-30, .ma-30 {
  margin-bottom: 3rem !important;
}

.ml-30, .mw-30, .ma-30 {
  margin-left: 3rem !important;
}

.pt-30, .ph-30, .pa-30 {
  padding-top: 3rem !important;
}

.pr-30, .pw-30, .pa-30 {
  padding-right: 3rem !important;
}

.pb-30, .ph-30, .pa-30 {
  padding-bottom: 3rem !important;
}

.pl-30, .pw-30, .pa-30 {
  padding-left: 3rem !important;
}

.mt-pc-30, .mh-pc-30, .ma-pc-30 {
  margin-top: 3rem !important;
}

.mr-pc-30, .mw-pc-30, .ma-pc-30 {
  margin-right: 3rem !important;
}

.mb-pc-30, .mh-pc-30, .ma-pc-30 {
  margin-bottom: 3rem !important;
}

.ml-pc-30, .mw-pc-30, .ma-pc-30 {
  margin-left: 3rem !important;
}

.pt-pc-30, .ph-pc-30, .pa-pc-30 {
  padding-top: 3rem !important;
}

.pr-pc-30, .pw-pc-30, .pa-pc-30 {
  padding-right: 3rem !important;
}

.pb-pc-30, .ph-pc-30, .pa-pc-30 {
  padding-bottom: 3rem !important;
}

.pl-pc-30, .pw-pc-30, .pa-pc-30 {
  padding-left: 3rem !important;
}

.mt-sp-30, .mh-sp-30, .ma-sp-30 {
  margin-top: 3rem !important;
}

.mr-sp-30, .mw-sp-30, .ma-sp-30 {
  margin-right: 3rem !important;
}

.mb-sp-30, .mh-sp-30, .ma-sp-30 {
  margin-bottom: 3rem !important;
}

.ml-sp-30, .mw-sp-30, .ma-sp-30 {
  margin-left: 3rem !important;
}

.pt-sp-30, .ph-sp-30, .pa-sp-30 {
  padding-top: 3rem !important;
}

.pr-sp-30, .pw-sp-30, .pa-sp-30 {
  padding-right: 3rem !important;
}

.pb-sp-30, .ph-sp-30, .pa-sp-30 {
  padding-bottom: 3rem !important;
}

.pl-sp-30, .pw-sp-30, .pa-sp-30 {
  padding-left: 3rem !important;
}

.mt-35, .mh-35, .ma-35 {
  margin-top: 3.5rem !important;
}

.mr-35, .mw-35, .ma-35 {
  margin-right: 3.5rem !important;
}

.mb-35, .mh-35, .ma-35 {
  margin-bottom: 3.5rem !important;
}

.ml-35, .mw-35, .ma-35 {
  margin-left: 3.5rem !important;
}

.pt-35, .ph-35, .pa-35 {
  padding-top: 3.5rem !important;
}

.pr-35, .pw-35, .pa-35 {
  padding-right: 3.5rem !important;
}

.pb-35, .ph-35, .pa-35 {
  padding-bottom: 3.5rem !important;
}

.pl-35, .pw-35, .pa-35 {
  padding-left: 3.5rem !important;
}

.mt-pc-35, .mh-pc-35, .ma-pc-35 {
  margin-top: 3.5rem !important;
}

.mr-pc-35, .mw-pc-35, .ma-pc-35 {
  margin-right: 3.5rem !important;
}

.mb-pc-35, .mh-pc-35, .ma-pc-35 {
  margin-bottom: 3.5rem !important;
}

.ml-pc-35, .mw-pc-35, .ma-pc-35 {
  margin-left: 3.5rem !important;
}

.pt-pc-35, .ph-pc-35, .pa-pc-35 {
  padding-top: 3.5rem !important;
}

.pr-pc-35, .pw-pc-35, .pa-pc-35 {
  padding-right: 3.5rem !important;
}

.pb-pc-35, .ph-pc-35, .pa-pc-35 {
  padding-bottom: 3.5rem !important;
}

.pl-pc-35, .pw-pc-35, .pa-pc-35 {
  padding-left: 3.5rem !important;
}

.mt-sp-35, .mh-sp-35, .ma-sp-35 {
  margin-top: 3.5rem !important;
}

.mr-sp-35, .mw-sp-35, .ma-sp-35 {
  margin-right: 3.5rem !important;
}

.mb-sp-35, .mh-sp-35, .ma-sp-35 {
  margin-bottom: 3.5rem !important;
}

.ml-sp-35, .mw-sp-35, .ma-sp-35 {
  margin-left: 3.5rem !important;
}

.pt-sp-35, .ph-sp-35, .pa-sp-35 {
  padding-top: 3.5rem !important;
}

.pr-sp-35, .pw-sp-35, .pa-sp-35 {
  padding-right: 3.5rem !important;
}

.pb-sp-35, .ph-sp-35, .pa-sp-35 {
  padding-bottom: 3.5rem !important;
}

.pl-sp-35, .pw-sp-35, .pa-sp-35 {
  padding-left: 3.5rem !important;
}

.mt-40, .mh-40, .ma-40 {
  margin-top: 4rem !important;
}

.mr-40, .mw-40, .ma-40 {
  margin-right: 4rem !important;
}

.mb-40, .mh-40, .ma-40 {
  margin-bottom: 4rem !important;
}

.ml-40, .mw-40, .ma-40 {
  margin-left: 4rem !important;
}

.pt-40, .ph-40, .pa-40 {
  padding-top: 4rem !important;
}

.pr-40, .pw-40, .pa-40 {
  padding-right: 4rem !important;
}

.pb-40, .ph-40, .pa-40 {
  padding-bottom: 4rem !important;
}

.pl-40, .pw-40, .pa-40 {
  padding-left: 4rem !important;
}

.mt-pc-40, .mh-pc-40, .ma-pc-40 {
  margin-top: 4rem !important;
}

.mr-pc-40, .mw-pc-40, .ma-pc-40 {
  margin-right: 4rem !important;
}

.mb-pc-40, .mh-pc-40, .ma-pc-40 {
  margin-bottom: 4rem !important;
}

.ml-pc-40, .mw-pc-40, .ma-pc-40 {
  margin-left: 4rem !important;
}

.pt-pc-40, .ph-pc-40, .pa-pc-40 {
  padding-top: 4rem !important;
}

.pr-pc-40, .pw-pc-40, .pa-pc-40 {
  padding-right: 4rem !important;
}

.pb-pc-40, .ph-pc-40, .pa-pc-40 {
  padding-bottom: 4rem !important;
}

.pl-pc-40, .pw-pc-40, .pa-pc-40 {
  padding-left: 4rem !important;
}

.mt-sp-40, .mh-sp-40, .ma-sp-40 {
  margin-top: 4rem !important;
}

.mr-sp-40, .mw-sp-40, .ma-sp-40 {
  margin-right: 4rem !important;
}

.mb-sp-40, .mh-sp-40, .ma-sp-40 {
  margin-bottom: 4rem !important;
}

.ml-sp-40, .mw-sp-40, .ma-sp-40 {
  margin-left: 4rem !important;
}

.pt-sp-40, .ph-sp-40, .pa-sp-40 {
  padding-top: 4rem !important;
}

.pr-sp-40, .pw-sp-40, .pa-sp-40 {
  padding-right: 4rem !important;
}

.pb-sp-40, .ph-sp-40, .pa-sp-40 {
  padding-bottom: 4rem !important;
}

.pl-sp-40, .pw-sp-40, .pa-sp-40 {
  padding-left: 4rem !important;
}

.mt-45, .mh-45, .ma-45 {
  margin-top: 4.5rem !important;
}

.mr-45, .mw-45, .ma-45 {
  margin-right: 4.5rem !important;
}

.mb-45, .mh-45, .ma-45 {
  margin-bottom: 4.5rem !important;
}

.ml-45, .mw-45, .ma-45 {
  margin-left: 4.5rem !important;
}

.pt-45, .ph-45, .pa-45 {
  padding-top: 4.5rem !important;
}

.pr-45, .pw-45, .pa-45 {
  padding-right: 4.5rem !important;
}

.pb-45, .ph-45, .pa-45 {
  padding-bottom: 4.5rem !important;
}

.pl-45, .pw-45, .pa-45 {
  padding-left: 4.5rem !important;
}

.mt-pc-45, .mh-pc-45, .ma-pc-45 {
  margin-top: 4.5rem !important;
}

.mr-pc-45, .mw-pc-45, .ma-pc-45 {
  margin-right: 4.5rem !important;
}

.mb-pc-45, .mh-pc-45, .ma-pc-45 {
  margin-bottom: 4.5rem !important;
}

.ml-pc-45, .mw-pc-45, .ma-pc-45 {
  margin-left: 4.5rem !important;
}

.pt-pc-45, .ph-pc-45, .pa-pc-45 {
  padding-top: 4.5rem !important;
}

.pr-pc-45, .pw-pc-45, .pa-pc-45 {
  padding-right: 4.5rem !important;
}

.pb-pc-45, .ph-pc-45, .pa-pc-45 {
  padding-bottom: 4.5rem !important;
}

.pl-pc-45, .pw-pc-45, .pa-pc-45 {
  padding-left: 4.5rem !important;
}

.mt-sp-45, .mh-sp-45, .ma-sp-45 {
  margin-top: 4.5rem !important;
}

.mr-sp-45, .mw-sp-45, .ma-sp-45 {
  margin-right: 4.5rem !important;
}

.mb-sp-45, .mh-sp-45, .ma-sp-45 {
  margin-bottom: 4.5rem !important;
}

.ml-sp-45, .mw-sp-45, .ma-sp-45 {
  margin-left: 4.5rem !important;
}

.pt-sp-45, .ph-sp-45, .pa-sp-45 {
  padding-top: 4.5rem !important;
}

.pr-sp-45, .pw-sp-45, .pa-sp-45 {
  padding-right: 4.5rem !important;
}

.pb-sp-45, .ph-sp-45, .pa-sp-45 {
  padding-bottom: 4.5rem !important;
}

.pl-sp-45, .pw-sp-45, .pa-sp-45 {
  padding-left: 4.5rem !important;
}

.mt-50, .mh-50, .ma-50 {
  margin-top: 5rem !important;
}

.mr-50, .mw-50, .ma-50 {
  margin-right: 5rem !important;
}

.mb-50, .mh-50, .ma-50 {
  margin-bottom: 5rem !important;
}

.ml-50, .mw-50, .ma-50 {
  margin-left: 5rem !important;
}

.pt-50, .ph-50, .pa-50 {
  padding-top: 5rem !important;
}

.pr-50, .pw-50, .pa-50 {
  padding-right: 5rem !important;
}

.pb-50, .ph-50, .pa-50 {
  padding-bottom: 5rem !important;
}

.pl-50, .pw-50, .pa-50 {
  padding-left: 5rem !important;
}

.mt-pc-50, .mh-pc-50, .ma-pc-50 {
  margin-top: 5rem !important;
}

.mr-pc-50, .mw-pc-50, .ma-pc-50 {
  margin-right: 5rem !important;
}

.mb-pc-50, .mh-pc-50, .ma-pc-50 {
  margin-bottom: 5rem !important;
}

.ml-pc-50, .mw-pc-50, .ma-pc-50 {
  margin-left: 5rem !important;
}

.pt-pc-50, .ph-pc-50, .pa-pc-50 {
  padding-top: 5rem !important;
}

.pr-pc-50, .pw-pc-50, .pa-pc-50 {
  padding-right: 5rem !important;
}

.pb-pc-50, .ph-pc-50, .pa-pc-50 {
  padding-bottom: 5rem !important;
}

.pl-pc-50, .pw-pc-50, .pa-pc-50 {
  padding-left: 5rem !important;
}

.mt-sp-50, .mh-sp-50, .ma-sp-50 {
  margin-top: 5rem !important;
}

.mr-sp-50, .mw-sp-50, .ma-sp-50 {
  margin-right: 5rem !important;
}

.mb-sp-50, .mh-sp-50, .ma-sp-50 {
  margin-bottom: 5rem !important;
}

.ml-sp-50, .mw-sp-50, .ma-sp-50 {
  margin-left: 5rem !important;
}

.pt-sp-50, .ph-sp-50, .pa-sp-50 {
  padding-top: 5rem !important;
}

.pr-sp-50, .pw-sp-50, .pa-sp-50 {
  padding-right: 5rem !important;
}

.pb-sp-50, .ph-sp-50, .pa-sp-50 {
  padding-bottom: 5rem !important;
}

.pl-sp-50, .pw-sp-50, .pa-sp-50 {
  padding-left: 5rem !important;
}

/*  width
================================================== */
.w-0 {
  width: 0% !important;
}

.w-5 {
  width: 5% !important;
}

.w-10 {
  width: 10% !important;
}

.w-15 {
  width: 15% !important;
}

.w-20 {
  width: 20% !important;
}

.w-25 {
  width: 25% !important;
}

.w-30 {
  width: 30% !important;
}

.w-35 {
  width: 35% !important;
}

.w-40 {
  width: 40% !important;
}

.w-45 {
  width: 45% !important;
}

.w-50 {
  width: 50% !important;
}

.w-55 {
  width: 55% !important;
}

.w-60 {
  width: 60% !important;
}

.w-65 {
  width: 65% !important;
}

.w-70 {
  width: 70% !important;
}

.w-75 {
  width: 75% !important;
}

.w-80 {
  width: 80% !important;
}

.w-85 {
  width: 85% !important;
}

.w-90 {
  width: 90% !important;
}

.w-95 {
  width: 95% !important;
}

.w-100 {
  width: 100% !important;
}

@media only screen and (min-width: 640px) {
  .w-pc-0 {
    width: 0% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-5 {
    width: 5% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-10 {
    width: 10% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-15 {
    width: 15% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-20 {
    width: 20% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-25 {
    width: 25% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-30 {
    width: 30% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-35 {
    width: 35% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-40 {
    width: 40% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-45 {
    width: 45% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-50 {
    width: 50% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-55 {
    width: 55% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-60 {
    width: 60% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-65 {
    width: 65% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-70 {
    width: 70% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-75 {
    width: 75% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-80 {
    width: 80% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-85 {
    width: 85% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-90 {
    width: 90% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-95 {
    width: 95% !important;
  }
}

@media only screen and (min-width: 640px) {
  .w-pc-100 {
    width: 100% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-0 {
    width: 0% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-5 {
    width: 5% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-10 {
    width: 10% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-15 {
    width: 15% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-20 {
    width: 20% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-25 {
    width: 25% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-30 {
    width: 30% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-35 {
    width: 35% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-40 {
    width: 40% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-45 {
    width: 45% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-50 {
    width: 50% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-55 {
    width: 55% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-60 {
    width: 60% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-65 {
    width: 65% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-70 {
    width: 70% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-75 {
    width: 75% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-80 {
    width: 80% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-85 {
    width: 85% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-90 {
    width: 90% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-95 {
    width: 95% !important;
  }
}

@media only screen and (max-width: 639px) {
  .w-sp-100 {
    width: 100% !important;
  }
}

.px-100 {
  width: 100px !important;
}

.px-105 {
  width: 105px !important;
}

.px-110 {
  width: 110px !important;
}

.px-115 {
  width: 115px !important;
}

.px-120 {
  width: 120px !important;
}

.px-125 {
  width: 125px !important;
}

.px-130 {
  width: 130px !important;
}

.px-135 {
  width: 135px !important;
}

.px-140 {
  width: 140px !important;
}

.px-145 {
  width: 145px !important;
}

.px-150 {
  width: 150px !important;
}

.px-155 {
  width: 155px !important;
}

.px-160 {
  width: 160px !important;
}

.px-165 {
  width: 165px !important;
}

.px-170 {
  width: 170px !important;
}

.px-175 {
  width: 175px !important;
}

.px-180 {
  width: 180px !important;
}

.px-185 {
  width: 185px !important;
}

.px-190 {
  width: 190px !important;
}

.px-195 {
  width: 195px !important;
}

.px-200 {
  width: 200px !important;
}

.px-205 {
  width: 205px !important;
}

.px-210 {
  width: 210px !important;
}

.px-215 {
  width: 215px !important;
}

.px-220 {
  width: 220px !important;
}

.px-225 {
  width: 225px !important;
}

/* ブロック
**************************************************/
.contactBox01 {
  border-radius: 1.6rem;
  background: white;
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
  text-align: center;
}
@media only screen and (min-width: 640px) {
  .contactBox01 {
    padding: 8.2rem;
    gap: 3rem;
  }
}
.contactBox01__title {
  font-weight: 400;
  font-size: 2rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}
@media only screen and (min-width: 640px) {
  .contactBox01__title {
    font-size: 3.2rem;
  }
}
.contactBox01__info1 {
  font-size: 2.8rem;
  line-height: 1.5;
  font-weight: 500;
  color: #1FB590;
  letter-spacing: 0.2em;
}
@media only screen and (min-width: 640px) {
  .contactBox01__info1 {
    font-size: 4rem;
  }
}
.contactBox01__info2 {
  margin-bottom: -1rem;
  font-style: normal;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}
@media only screen and (max-width: 639px) {
  .contactBox01__info2 {
    margin-bottom: -2rem;
  }
  .contactBox01__info2 span {
    display: inline-block;
    font-size: 1.2rem;
    letter-spacing: 0.2em;
    margin-left: -1em;
    margin-right: -1em;
    top: -0.5em;
    position: relative;
  }
}
.contactBox01__info3 {
  font-style: normal;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}

.contactBox02 {
  border-radius: 1.6rem;
  background: white;
  padding: 4rem 2rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 2rem;
  text-align: center;
}
@media only screen and (min-width: 640px) {
  .contactBox02 {
    gap: 1.5rem;
  }
}
.contactBox02__title {
  font-weight: 400;
  font-size: 2rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}
@media only screen and (min-width: 640px) {
  .contactBox02__title {
    font-size: 3.2rem;
  }
}
.contactBox02__figure {
  text-align: center;
}
.contactBox02__figure img {
  width: 12.5rem;
}
.contactBox02__info1 {
  font-style: normal;
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}

/* 画像
**************************************************/
.figure01 {
  margin: 0 auto 4rem;
}
@media only screen and (min-width: 640px) {
  .figure01 {
    display: table;
    width: 10%;
  }
}
@media only screen and (max-width: 639px) {
  .figure01 {
    margin-bottom: 3rem;
  }
}
.figure01 figcaption {
  font-size: 1.4rem;
  margin: 0 auto 1rem;
  line-height: 1.4;
}
.figure01 img, .figure01 picture {
  display: inline-block;
  white-space: nowrap;
}
@media only screen and (min-width: 640px) {
  .figure01 img, .figure01 picture {
    max-width: inherit;
  }
}
.figure01 img + figcaption, .figure01 picture + figcaption {
  margin-top: 1rem;
  margin-bottom: 0;
}

/* リンク
**************************************************/
a[class*=link] {
  text-decoration: none;
}

.link01 {
  display: inline-block;
  position: relative;
  transition: opacity 0.4s cubic-bezier(0.11, -0.42, 1, 0.74);
}
.link01:before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  border-bottom: solid 1px #0C0B0B;
  position: absolute;
  bottom: 0;
  left: 0;
  transition: all 0.4s;
}
@media only screen and (min-width: calc(640 * 1px)) {
  .link01:hover {
    opacity: 0.75;
  }
  .link01:hover:before {
    width: 0;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .link01:focus, .link01:active {
    opacity: 0.75;
  }
  .link01:focus:before, .link01:active:before {
    width: 0;
  }
}

.link02 {
  display: inline-block;
  position: relative;
  padding-left: 1.2em;
}
.link02:before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.3em 0 0.3em 0.35em;
  border-color: transparent transparent transparent #0C0B0B;
  position: absolute;
  top: 0.6em;
  left: 0.5em;
}

/* --------------------------------------------------
  ページネーション
-------------------------------------------------- */
.pagenation {
  margin: 12rem 0 4rem;
  display: flex;
  justify-content: center;
  gap: 4rem;
  grid-template-areas: "prev numbers next";
}
@media only screen and (max-width: 639px) {
  .pagenation {
    margin: 5rem 0 2rem;
    display: grid;
    grid-template-columns: 3rem 3rem 1fr 3rem 3rem;
    grid-template-areas: "numbers numbers numbers numbers numbers" "first prev spacer next last";
    row-gap: 2.8rem;
  }
}
.pagenation a {
  text-decoration: none;
  transition: all 0.4s;
}
@media only screen and (min-width: calc(640 * 1px)) {
  .pagenation a:hover {
    opacity: 1;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .pagenation a:focus, .pagenation a:active {
    opacity: 1;
  }
}
.pagenation__links {
  margin: 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 4rem;
  grid-area: numbers;
}
.pagenation__links:first-child {
  margin-left: -7.2rem;
}
.pagenation__links:last-child {
  margin-right: -7.2rem;
}
@media only screen and (max-width: 639px) {
  .pagenation__links {
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
  }
}
.pagenation .page-numbers li, .pagenation__item,
.pagenation .page-numbers li a, .pagenation__link {
  font-size: 1.6rem;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 639px) {
  .pagenation .page-numbers li, .pagenation__item,
  .pagenation .page-numbers li a, .pagenation__link {
    padding-bottom: 0.2em;
    width: 4rem;
  }
}
.pagenation .page-numbers li.is-current, .pagenation__item.is-current,
.pagenation .page-numbers li a.is-current, .pagenation__link.is-current {
  cursor: default;
  pointer-events: none;
  color: white;
  background: #E18040;
  width: 4rem;
  height: 4rem;
  padding-bottom: 0.25em;
  border-radius: 50%;
}
.pagenation .page-numbers li:first-child, .pagenation__item:first-child {
  margin-left: 7.3rem;
}
.pagenation .page-numbers li:last-child, .pagenation__item:last-child {
  margin-right: 7.3rem;
}
.pagenation .page-numbers li.is-current, .pagenation__item.is-current {
  color: white;
  background: #E18040;
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
}
@media only screen and (min-width: calc(640 * 1px)) {
  .pagenation .page-numbers li a:hover, .pagenation__link:hover {
    color: #9F71AB;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .pagenation .page-numbers li a:focus, .pagenation .page-numbers li a:active, .pagenation__link:focus, .pagenation__link:active {
    color: #9F71AB;
  }
}
.pagenation__first, .pagenation__prev, .pagenation__next, .pagenation__last {
  white-space: nowrap;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: 1.4rem auto;
  padding-top: 2rem;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
}
.pagenation__first.is-disabled, .pagenation__prev.is-disabled, .pagenation__next.is-disabled, .pagenation__last.is-disabled {
  cursor: default;
  pointer-events: none;
  opacity: 0.5;
  -webkit-filter: grayscale(1);
          filter: grayscale(1);
}
@media only screen and (min-width: calc(640 * 1px)) {
  .pagenation__first:hover, .pagenation__prev:hover, .pagenation__next:hover, .pagenation__last:hover {
    opacity: 1;
    color: #E18040;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .pagenation__first:focus, .pagenation__first:active, .pagenation__prev:focus, .pagenation__prev:active, .pagenation__next:focus, .pagenation__next:active, .pagenation__last:focus, .pagenation__last:active {
    opacity: 1;
    color: #E18040;
  }
}
.pagenation__last {
  display: none;
}
.pagenation__prev {
  justify-self: flex-start;
  grid-area: prev;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_5" data-name="多角形 5" d="M7,0l7,15H0Z" transform="translate(0 14) rotate(-90)" fill="%231c5a95"/></svg>');
}
@media only screen and (min-width: calc(640 * 1px)) {
  .pagenation__prev:hover {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_5" data-name="多角形 5" d="M7,0l7,15H0Z" transform="translate(0 14) rotate(-90)" fill="%23b4a84d"/></svg>');
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .pagenation__prev:focus, .pagenation__prev:active {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_5" data-name="多角形 5" d="M7,0l7,15H0Z" transform="translate(0 14) rotate(-90)" fill="%23b4a84d"/></svg>');
  }
}
.pagenation__next {
  justify-self: flex-end;
  grid-area: next;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_6" data-name="多角形 6" d="M7,0l7,15H0Z" transform="translate(15) rotate(90)" fill="%231c5a95"/></svg>');
}
@media only screen and (min-width: calc(640 * 1px)) {
  .pagenation__next:hover {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_6" data-name="多角形 6" d="M7,0l7,15H0Z" transform="translate(15) rotate(90)" fill="%23b4a84d"/></svg>');
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .pagenation__next:focus, .pagenation__next:active {
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="15" height="14" viewBox="0 0 15 14"><path id="多角形_6" data-name="多角形 6" d="M7,0l7,15H0Z" transform="translate(15) rotate(90)" fill="%23b4a84d"/></svg>');
  }
}
.pagenation__first {
  display: none;
}

.pager01 {
  margin: 3rem 0;
  text-align: center;
}
@media only screen and (max-width: 639px) {
  .pager01 {
    margin: 3rem -0.5rem 0;
  }
}
.pager01 a {
  color: white;
}
.pager01__btn a:hover {
  background-color: #cccccc;
  color: #ffffff;
}
.pager01__list {
  letter-spacing: -0.5em;
}
.pager01__link {
  position: relative;
  letter-spacing: 0.04em;
  display: inline-block;
  margin: 0 0.4rem;
  color: #333;
}
.pager01__btn {
  letter-spacing: 0.04em;
  display: inline-block;
  margin: 0 1.5rem;
}
@media only screen and (max-width: 639px) {
  .pager01__btn {
    margin: 0 1px;
  }
}
.pager01__btn a {
  display: inline-block;
  height: 5rem;
  line-height: 5rem;
  min-width: 5rem;
  text-align: center;
  box-sizing: border-box;
  font-size: 1.8rem;
  transition: all 0.3s;
  background-color: #9F71AB;
}
@media only screen and (max-width: 639px) {
  .pager01__btn a {
    min-width: 3.6rem;
    height: 3.6rem;
    line-height: 3.6rem;
  }
}
.pager01 .is-current a {
  color: #9F71AB;
  background-color: #fff000;
}
.pager01__link {
  margin: 0 1rem;
}
@media only screen and (max-width: 639px) {
  .pager01__link {
    margin: 0 0.5rem;
  }
}
.pager01__link a {
  transition: all 0.3s;
  padding: 1rem 0;
}
.pager01__link a:hover {
  opacity: 0.75;
}
.pager01__link--first a {
  position: relative;
}
.pager01__link--first a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
.pager01__link--first a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 2rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
.pager01__link--last a {
  position: relative;
}
.pager01__link--last a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
          transform: translateX(50%) translateY(-50%) rotate(45deg);
}
.pager01__link--last a:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 2rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
          transform: translateX(50%) translateY(-50%) rotate(45deg);
}
.pager01__link--prev {
  padding: 0;
}
.pager01__link--prev a {
  color: transparent;
  position: relative;
  padding: 0.3rem 1rem;
}
@media only screen and (max-width: 639px) {
  .pager01__link--prev a {
    padding: 0.3rem 0.4rem;
  }
}
.pager01__link--prev a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(-50%) translateY(-50%) rotate(-135deg);
          transform: translateX(-50%) translateY(-50%) rotate(-135deg);
}
.pager01__link--next {
  padding: 0;
}
.pager01__link--next a {
  color: transparent;
  position: relative;
  padding: 0.3rem 1rem;
}
@media only screen and (max-width: 639px) {
  .pager01__link--next a {
    padding: 0.3rem 0.4rem;
  }
}
.pager01__link--next a:before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 0.5em;
  height: 0.5em;
  border-top: solid 2px;
  border-right: solid 2px;
  border-color: #9F71AB;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transform: translateX(50%) translateY(-50%) rotate(45deg);
          transform: translateX(50%) translateY(-50%) rotate(45deg);
}

.btnWrap01 {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  margin: -2rem -1rem 5rem;
}
.btnWrap01 > a[class*=btn] {
  margin: 2rem 1rem 0;
}
.btnWrap01--list {
  flex-direction: column;
}
.btnWrap01__col1 {
  width: calc(100% - 2rem);
}
.btnWrap01__col2 {
  width: calc(50% - 2rem);
}

.btn01 {
  background: white;
  border: solid 2px #9F71AB;
  padding: 0.5rem 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 5rem;
  min-width: 20rem;
  position: relative;
  text-decoration: none;
  font-weight: bold;
  font-size: 1.4rem;
  color: #9F71AB;
  transition: all 0.4s;
}
.btn01:hover {
  opacity: 0.65;
}
.btn01--arrowRight {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowRight:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-right: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  right: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}
.btn01--arrowLeft {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowLeft:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-left: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
}
.btn01--arrowUp {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowUp:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-right: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(-45deg);
          transform: translate(0, -50%) rotate(-45deg);
}
.btn01--arrowDown {
  padding: 0.5rem 3.5rem;
}
.btn01--arrowDown:before {
  content: "";
  display: block;
  width: 0.8rem;
  height: 0.8rem;
  border-right: solid 2px #9F71AB;
  border-top: solid 2px #9F71AB;
  position: absolute;
  left: 1rem;
  top: 50%;
  -webkit-transform: translate(0, -50%) rotate(135deg);
          transform: translate(0, -50%) rotate(135deg);
}

.anchor01 {
  margin-bottom: 12rem;
}
.anchor01__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.6rem 3.8rem;
}
@media only screen and (max-width: 639px) {
  .anchor01__list {
    flex-direction: column;
  }
}
.anchor01__item a {
  text-decoration: none;
  display: inline-block;
  padding-bottom: 2rem;
  font-weight: 500;
  border-bottom: solid 1px #9F71AB;
  position: relative;
}
@media only screen and (min-width: 640px) {
  .anchor01__item a {
    min-width: 32rem;
  }
}
@media only screen and (max-width: 639px) {
  .anchor01__item a {
    display: block;
    padding-bottom: 1.6rem;
  }
}
.anchor01__item a:before {
  content: "";
  display: block;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 50%;
  background-color: #E18040;
  background-repeat: no-repeat;
  background-position: 48% 55%;
  background-size: 0.8rem auto;
  background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="8" height="8.571" viewBox="0 0 8 8.571"><path id="多角形_10" data-name="多角形 10" d="M4,0,8,8.571H0Z" transform="translate(8 8.571) rotate(180)" fill="%23fff"/></svg>');
  transition: background-color 0.4s;
  position: absolute;
  top: 0;
  right: 0;
}
.anchor01__item a:hover {
  opacity: 1;
}
.anchor01__item a:hover:before {
  background-color: #9F71AB;
}

/* リスト
**************************************************/
.list01 > li {
  padding-left: 1.6rem;
  position: relative;
}
.list01 > li:not(:last-child) {
  margin-top: 0.8rem;
}
.list01 > li:before {
  content: "";
  display: block;
  width: 2px;
  height: 2px;
  background: #0C0B0B;
  border-radius: 50%;
  position: absolute;
  left: 0.4em;
  top: 0.9em;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

/* 数字付きリスト
**************************************************/
.numberList01 {
  margin-bottom: 5rem;
  margin-left: 1.5em;
}
.numberList01 > li {
  list-style-type: decimal;
}
.numberList01 > li:not(:last-child) {
  margin-bottom: 0.5em;
}
.numberList01 > li > ul {
  margin-top: 0.5em;
}

.numberList02 {
  margin-bottom: 5rem;
}
.numberList02 > li {
  list-style-type: none;
  text-indent: -2em;
  padding-left: 2em;
  counter-increment: calc-ex9;
}
.numberList02 > li:not(:last-child) {
  margin-bottom: 0.5em;
}
.numberList02 > li:before {
  content: counter(calc-ex9) ".";
  display: inline-block;
  width: 2em;
  text-indent: 0;
}
.numberList02 > li:nth-child(n+1):nth-child(-n+9):before {
  content: "0" counter(calc-ex9) ".";
}
.numberList02 > li > ul {
  text-indent: 0;
  margin-top: 0.5em;
}

/* リンクリスト
**************************************************/
/* 注釈リスト
**************************************************/
.noteList01 {
  font-size: 1.2rem;
  line-height: 1.6666666667;
  margin-bottom: 5rem;
}
.noteList01 > li {
  padding-left: 1.5em;
  margin-bottom: 0;
}
.noteList01 > li:before {
  content: "※";
  width: 1.5em;
  display: inline-block;
  position: relative;
  margin-left: -1.5em;
}

/* アイコンリスト
**************************************************/
.iconList01 {
  margin-bottom: 5rem;
  display: table;
}
.iconList01--s {
  font-size: 1.2rem;
}
.iconList01 > li {
  display: table-row;
}
.iconList01 > li > i {
  font-style: normal;
  display: table-cell;
  padding-right: 0.5em;
  white-space: nowrap;
}

/* DLリスト
**************************************************/
.dlist01 {
  margin-bottom: 5rem;
}
.dlist01 dt {
  font-weight: bold;
}
.dlist01 dt:not(:first-child) {
  margin-top: 0.5rem;
}

/* セクション
**************************************************/
.section01 {
  margin-bottom: 10rem;
}
@media only screen and (min-width: 640px) {
  .section01 {
    margin-bottom: 12rem;
  }
}
.section01 > *:last-child {
  margin-bottom: 0;
}

/* 見出し
**************************************************/
.title01 {
  width: 100%;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.325;
  letter-spacing: 0.07em;
  text-align: center;
  color: #E18040;
  margin-bottom: 8rem;
}
@media only screen and (max-width: 639px) {
  .title01 {
    font-size: 2rem;
    line-height: 1.35;
    margin-bottom: 4rem;
  }
}

.title02 {
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 1rem;
}
* + .title02 {
  margin-top: 3rem;
}

/* メインビジュアル
**************************************************/
.mainVisual01 {
  position: relative;
}
.mainVisual01__item img {
  width: 100%;
}
.mainVisual01 .slick-dots {
  position: absolute;
  bottom: 1rem;
  left: 5rem;
  display: flex;
  justify-content: flex-start;
  font-size: 0;
  z-index: 2;
}
.mainVisual01 .slick-dots li:not(:last-child) {
  margin-right: 1.5rem;
}
.mainVisual01 .slick-dots button {
  width: 3rem;
  height: 0.5rem;
  background: #2A2D33;
}
.mainVisual01 .slick-dots .slick-active button {
  background: #C62032;
}

.mainVisual02 {
  position: relative;
  overflow: hidden;
}
.mainVisual02__text {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: 4rem;
  line-height: 1;
  font-weight: bold;
  color: white;
  z-index: 1;
}
.mainVisual02__text small {
  font-size: 2rem;
  display: inline-block;
  margin-top: 0.5rem;
}
.mainVisual02__picture {
  position: relative;
  z-index: 0;
}
.mainVisual02__image {
  max-width: inherit;
  width: 100%;
}

*[class*=__head] > *:first-child,
*[class*=__body] > *:first-child,
*[class*=__cont] > *:first-child {
  margin-top: 0;
}
*[class*=__head] > *:last-child,
*[class*=__body] > *:last-child,
*[class*=__cont] > *:last-child {
  margin-bottom: 0;
}

em {
  font-weight: 500;
  font-style: normal;
  color: #1FB590;
}

.section li > a:not([class]), .section p > a:not([class]), .section dd > a:not([class]) {
  color: #1FB590;
  text-decoration: underline;
}

.title01 {
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  text-align: center;
  justify-content: center;
  align-items: center;
  margin-bottom: 4rem;
}
.title01 img {
  width: 4rem;
}
.title01 > span {
  display: inline-block;
}
.title01 > span:first-of-type {
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1.25;
  text-align: center;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.title01 > span:last-of-type {
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  position: relative;
  padding-left: 2rem;
  padding-right: 2rem;
}
@media only screen and (max-width: 639px) {
  .title01 > span:last-of-type {
    font-weight: 700;
    font-size: 2.4rem;
    letter-spacing: 0.5em;
    padding: 0;
  }
}
@media only screen and (min-width: 640px) {
  .title01 > span:last-of-type .fz-s {
    font-size: 2.4rem !important;
  }
}
.title01 > span:last-of-type::before, .title01 > span:last-of-type::after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background: #E18040;
  position: absolute;
  top: 50%;
}
@media only screen and (max-width: 639px) {
  .title01 > span:last-of-type::before, .title01 > span:last-of-type::after {
    display: none;
  }
}
.title01 > span:last-of-type:before {
  left: 0;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
.title01 > span:last-of-type:after {
  right: 0;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}

.title02 {
  font-weight: 700;
  font-size: 2rem;
  line-height: 150%;
  letter-spacing: 0.15em;
  color: #E18040;
  margin-bottom: 1rem;
}
* + .title02 {
  margin-top: 3rem;
}

.c-mv01 {
  background: #4ECDAC;
}
.c-mv01__inner {
  max-width: 1600px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  padding: 0 2rem;
  box-sizing: content-box;
}
@media only screen and (min-width: 1600px) {
  .c-mv01__inner {
    min-height: 300px;
  }
}
@media only screen and (min-width: 640px) and (max-width: 1599px) {
  .c-mv01__inner {
    min-height: 30rem;
    padding: 0 4rem;
  }
}
@media only screen and (max-width: 639px) {
  .c-mv01__inner {
    flex-direction: column;
    gap: 2rem;
    padding-top: 3rem;
    align-items: flex-start;
  }
}
.c-mv01__title {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  color: white;
  font-family: "Zen Kaku Gothic New";
  margin: 0;
  margin-left: max((100% - 1200px) / 2, 0px);
  max-width: 600px;
}
@media only screen and (max-width: 639px) {
  .c-mv01__title {
    gap: 1rem;
  }
}
.c-mv01__title > span:first-child {
  font-weight: 300;
  font-size: 10rem;
  line-height: 100%;
  letter-spacing: 0;
  text-transform: uppercase;
}
@media only screen and (max-width: 639px) {
  .c-mv01__title > span:first-child {
    font-size: 7rem;
  }
}
.c-mv01__title > span:last-child {
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 150%;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 639px) {
  .c-mv01__title > span:last-child {
    font-size: 2.8rem;
  }
}
@media only screen and (min-width: 1600px) {
  .c-mv01__figure {
    margin-left: auto;
    width: 50%;
    max-width: 800px;
    display: flex;
    justify-content: flex-end;
    align-self: flex-end;
    position: relative;
  }
  .c-mv01__figure img {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
@media only screen and (min-width: 640px) and (max-width: 1599px) {
  .c-mv01__figure {
    margin-left: auto;
    width: 55%;
    max-width: 800px;
    display: flex;
    justify-content: flex-end;
    align-self: flex-end;
    position: relative;
  }
  .c-mv01__figure img {
    position: absolute;
    bottom: 0;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
    width: auto;
    height: 30rem;
    max-width: none;
  }
}
@media only screen and (max-width: 639px) {
  .c-mv01__figure {
    width: 100%;
    max-width: 375px;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
  }
}

.c-card01 {
  margin-bottom: 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 4rem;
}
@media only screen and (max-width: 639px) {
  .c-card01 {
    flex-direction: column-reverse;
    gap: 0;
  }
}
@media only screen and (max-width: 639px) {
  .c-card01.--imageBottom {
    flex-direction: column;
  }
}
@media only screen and (max-width: 639px) {
  .c-card01 img {
    width: auto;
    max-width: 100%;
  }
}
@media only screen and (min-width: 640px) {
  .c-card01.--imageRight {
    justify-content: flex-start;
  }
}
@media only screen and (min-width: 640px) {
  .c-card01.--imageLeft {
    justify-content: flex-end;
    flex-direction: row-reverse;
  }
}
@media only screen and (min-width: 640px) {
  .c-card01__cont, .c-card01__body {
    flex: 1;
  }
}
@media only screen and (max-width: 639px) {
  .c-card01__cont, .c-card01__body {
    width: 100%;
  }
}
.c-card01__cont > *:last-child, .c-card01__body > *:last-child {
  margin-bottom: 0;
}
@media only screen and (min-width: 640px) {
  .c-card01__figure {
    max-width: calc(50% - 2rem);
  }
}
@media only screen and (max-width: 639px) {
  .c-card01__figure {
    width: 100%;
    text-align: center;
    margin-bottom: 4.5rem;
  }
  .c-card01__figure figcaption {
    text-align: left;
  }
}
.c-card01__figure > *:not(:last-child) {
  margin-bottom: 2rem;
}

.c-row01 {
  display: flex;
  flex-wrap: wrap;
  grid-row-gap: 2rem;
  grid-column-gap: 2rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 639px) {
  .c-row01 {
    grid-row-gap: 2rem;
    grid-column-gap: 2rem;
  }
}
.c-row01__col > *:last-child {
  margin-bottom: 0;
}
@media only screen and (max-width: 639px) {
  .c-row01__col {
    width: 100%;
  }
}
@media only screen and (min-width: 640px) {
  .c-row01__col.--col1 {
    width: calc(8.3333333333% - 1.8333333333rem);
  }
  .c-row01__col.--col2 {
    width: calc(16.6666666667% - 1.6666666667rem);
  }
  .c-row01__col.--col3 {
    width: calc(25% - 1.5rem);
  }
  .c-row01__col.--col4 {
    width: calc(33.3333333333% - 1.3333333333rem);
  }
  .c-row01__col.--col5 {
    width: calc(41.6666666667% - 1.1666666667rem);
  }
  .c-row01__col.--col6 {
    width: calc(50% - 1rem);
  }
  .c-row01__col.--col7 {
    width: calc(58.3333333333% - 0.8333333333rem);
  }
  .c-row01__col.--col8 {
    width: calc(66.6666666667% - 0.6666666667rem);
  }
  .c-row01__col.--col9 {
    width: calc(75% - 0.5rem);
  }
  .c-row01__col.--col10 {
    width: calc(83.3333333333% - 0.3333333333rem);
  }
  .c-row01__col.--col11 {
    width: calc(91.6666666667% - 0.1666666667rem);
  }
  .c-row01__col.--col12 {
    width: calc(100% - 0rem);
  }
}

.c-list01 > li {
  display: inline-block;
  padding-left: 1em;
}
.c-list01 > li:before {
  content: "・";
  width: 1em;
  display: inline-block;
  position: relative;
  margin-left: -1em;
}
.c-list01 > li em {
  color: #F9AC58;
}
.c-list01 > li .c-note01 {
  display: block;
  margin-top: -0.5em;
}

.c-note01 {
  display: inline-block;
  font-size: 1.2rem;
  padding-left: 1.2em;
  color: #5C6663;
}
@media only screen and (max-width: 639px) {
  .c-note01 {
    font-size: 1rem;
  }
}
.c-note01:before {
  content: "※";
  width: 1.2em;
  display: inline-block;
  position: relative;
  margin-left: -1.2em;
}
.c-note01 em {
  color: #F9AC58;
}

.c-noteList01 li {
  display: block;
  padding-left: 1.4em;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
  color: #5C6663;
}
.c-noteList01 li:before {
  content: "※";
  width: 1.4em;
  display: inline-block;
  position: relative;
  margin-left: -1.4em;
}
.c-noteList01 li em {
  color: #F9AC58;
}
.c-noteList01 li:not(:last-child) {
  margin-bottom: 1em;
}

.c-btn01 {
  text-decoration: none;
  background-color: white;
  background-repeat: no-repeat;
  background-size: 1.4rem auto;
  background-position: right 3rem center;
  background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" stroke="%23E0EBE9"/><circle cx="7" cy="7" r="1" fill="%231FB590"/></svg>');
  border: 1px solid #4ECDAC;
  border-radius: 0.4rem;
  display: inline-flex;
  min-width: 23.4rem;
  min-height: 6.6rem;
  padding: 2rem 5.4rem 2rem 3rem;
  text-align: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #1FB590;
  transition: all 0.4s;
}
@media only screen and (max-width: 639px) {
  .c-btn01 {
    min-width: 31.5rem;
  }
}
@media only screen and (min-width: calc(640 * 1px)) {
  .c-btn01:hover {
    background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" stroke="%23E0EBE9"/><circle cx="7" cy="7" r="7" fill="%231FB590"/><path d="M5.92893 4.07107L8.85786 7L5.92893 9.92893" stroke="white" stroke-linecap="round"/></svg>');
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .c-btn01:focus, .c-btn01:active {
    background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" stroke="%23E0EBE9"/><circle cx="7" cy="7" r="7" fill="%231FB590"/><path d="M5.92893 4.07107L8.85786 7L5.92893 9.92893" stroke="white" stroke-linecap="round"/></svg>');
  }
}

.c-leadBox01 {
  border-radius: 0.8rem;
  background: #FFFFFF;
  border: 2px solid #E18040;
  padding: 4rem;
  font-weight: 500;
  font-size: 2rem;
  line-height: 2;
  text-align: center;
  letter-spacing: 0.15em;
  margin: 0 auto 4rem;
}
@media only screen and (max-width: 639px) {
  .c-leadBox01 {
    text-align: left;
    padding: 2rem;
    font-size: 1.6rem;
  }
}
.c-leadBox01 > *:last-child {
  margin-bottom: 0;
}

.c-box01 {
  margin: 0 auto 4rem;
  background: #F3F2F2;
  border-radius: 0.8rem;
  padding: 4rem;
}
@media only screen and (max-width: 639px) {
  .c-box01 {
    padding: 2rem;
  }
}
.c-box01__title {
  margin-bottom: 2rem;
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  color: #E18040;
}
.c-box01 > *:last-child {
  margin-bottom: 0;
}

.c-box02 {
  border-radius: 0.8rem;
  background: #FFFFFF;
  border: 2px solid #E18040;
  padding: 4rem;
  margin: 0 auto 4rem;
}
.c-box02 ul {
  margin-right: -1em;
}
@media only screen and (max-width: 639px) {
  .c-box02 {
    padding: 2rem;
  }
}
.c-box02 strong {
  color: #E18040;
}
.c-box02 > *:not(.c-box02__title):not(:last-child) {
  margin-bottom: 1rem;
}
.c-box02 > *:last-child {
  margin-bottom: 0;
}
.c-box02__title {
  margin-bottom: 2rem;
  font-weight: 700;
  font-size: 3rem;
  line-height: 150%;
  text-align: center;
  letter-spacing: 0.5em;
  color: #E18040;
}
@media only screen and (max-width: 639px) {
  .c-box02__title {
    font-size: 2.4rem;
    line-height: 2.5;
    letter-spacing: 0.15em;
  }
}
.c-box02__title > span {
  display: inline-block;
  position: relative;
}
.c-box02__title > span::before, .c-box02__title > span::after {
  content: "";
  display: block;
  width: 3rem;
  height: 1px;
  background: #E18040;
  position: absolute;
  top: 50%;
}
@media only screen and (max-width: 639px) {
  .c-box02__title > span::before, .c-box02__title > span::after {
    display: none;
  }
}
.c-box02__title > span:before {
  left: -3rem;
  -webkit-transform: translate(-100%, -50%);
          transform: translate(-100%, -50%);
}
.c-box02__title > span:after {
  right: -3rem;
  -webkit-transform: translate(100%, -50%);
          transform: translate(100%, -50%);
}

ol.c-numList { /* 対象: オレンジ番号のOL本体 */
  list-style-type: decimal-leading-zero; /* 01, 02... と2桁の先頭ゼロを表示（対応環境） */
  -webkit-padding-start: 1.8em;
          padding-inline-start: 1.8em; /* マーカー分の左インデント（論理プロパティでRTLにも強い） */
  margin: 0; /* 余白初期化（必要に応じて調整） */
  --c-numList-color: #ff7a00; /* デフォルトの番号色（オレンジ）。用途に応じて上書き可 */
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 170%;
  letter-spacing: 0.15em;
}
ol.c-numList > li::marker { /* ネイティブマーカーのスタイル指定 */
  color: var(--c-numList-color); /* 番号色：CSS変数で簡単カスタム */
  font-weight: 700; /* 番号を太字にして視認性UP */
  font-variant-numeric: tabular-nums; /* 等幅数字で桁ズレ防止 */
}
ol.c-numList > li:not(:last-child) {
  margin-bottom: 0.75em;
}

/* === フォールバック: decimal-leading-zero 非対応環境向け === */
@supports not (list-style-type: decimal-leading-zero) {
  ol.c-numList { /* マーカーを自前描画に切替える準備 */
    list-style: none; /* 既定マーカー非表示 */
    counter-reset: c-numList; /* 自前の連番カウンタ初期化 */
    -webkit-padding-start: 0;
            padding-inline-start: 0; /* 左インデントは各li側で確保 */
  }
  ol.c-numList > li { /* 各行でカウンタを進める */
    counter-increment: c-numList; /* 1件ごとに+1 */
    position: relative; /* 疑似要素配置の基準に */
    -webkit-padding-start: 2.4em;
            padding-inline-start: 2.4em; /* 番号ボックス分のインデント */
  }
  ol.c-numList::before { /* 自前の番号を描く疑似要素 */
    content: counter(c-numList, decimal-leading-zero) "."; /* 例: 01. / 02. */
    position: absolute; /* liの左側に固定配置 */
    inset-inline-start: 0; /* 左端（論理方向） */
    inline-size: 2em; /* 番号ボックスの幅で桁揃え */
    text-align: right; /* 右寄せで読みやすく */
    color: var(--c-numList-color); /* 番号色（オレンジ） */
    font-weight: 700; /* 太字で視認性UP */
    font-variant-numeric: tabular-nums; /* 等幅数字で桁ズレ防止 */
  }
}
/******************************************************
*  アニメーション
******************************************************/
/* 速度 */
*[data-inview-duration="100"] {
  transition-duration: 0.1s !important;
}

*[data-inview-duration="200"] {
  transition-duration: 0.2s !important;
}

*[data-inview-duration="300"] {
  transition-duration: 0.3s !important;
}

*[data-inview-duration="400"] {
  transition-duration: 0.4s !important;
}

*[data-inview-duration="500"] {
  transition-duration: 0.5s !important;
}

*[data-inview-duration="600"] {
  transition-duration: 0.6s !important;
}

*[data-inview-duration="700"] {
  transition-duration: 0.7s !important;
}

*[data-inview-duration="800"] {
  transition-duration: 0.8s !important;
}

*[data-inview-duration="900"] {
  transition-duration: 0.9s !important;
}

*[data-inview-duration="1000"] {
  transition-duration: 1s !important;
}

*[data-inview-duration="1100"] {
  transition-duration: 1.1s !important;
}

*[data-inview-duration="1200"] {
  transition-duration: 1.2s !important;
}

*[data-inview-duration="1300"] {
  transition-duration: 1.3s !important;
}

*[data-inview-duration="1400"] {
  transition-duration: 1.4s !important;
}

*[data-inview-duration="1500"] {
  transition-duration: 1.5s !important;
}

*[data-inview-duration="1600"] {
  transition-duration: 1.6s !important;
}

*[data-inview-duration="1700"] {
  transition-duration: 1.7s !important;
}

*[data-inview-duration="1800"] {
  transition-duration: 1.8s !important;
}

*[data-inview-duration="1900"] {
  transition-duration: 1.9s !important;
}

*[data-inview-duration="2000"] {
  transition-duration: 2s !important;
}

/* 遅延処理 */
*[data-inview-delay="100"] {
  transition-delay: 0.1s !important;
}

*[data-inview-delay="200"] {
  transition-delay: 0.2s !important;
}

*[data-inview-delay="300"] {
  transition-delay: 0.3s !important;
}

*[data-inview-delay="400"] {
  transition-delay: 0.4s !important;
}

*[data-inview-delay="500"] {
  transition-delay: 0.5s !important;
}

*[data-inview-delay="600"] {
  transition-delay: 0.6s !important;
}

*[data-inview-delay="700"] {
  transition-delay: 0.7s !important;
}

*[data-inview-delay="800"] {
  transition-delay: 0.8s !important;
}

*[data-inview-delay="900"] {
  transition-delay: 0.9s !important;
}

*[data-inview-delay="1000"] {
  transition-delay: 1s !important;
}

*[data-inview-delay="1100"] {
  transition-delay: 1.1s !important;
}

*[data-inview-delay="1200"] {
  transition-delay: 1.2s !important;
}

*[data-inview-delay="1300"] {
  transition-delay: 1.3s !important;
}

*[data-inview-delay="1400"] {
  transition-delay: 1.4s !important;
}

*[data-inview-delay="1500"] {
  transition-delay: 1.5s !important;
}

*[data-inview-delay="1600"] {
  transition-delay: 1.6s !important;
}

*[data-inview-delay="1700"] {
  transition-delay: 1.7s !important;
}

*[data-inview-delay="1800"] {
  transition-delay: 1.8s !important;
}

*[data-inview-delay="1900"] {
  transition-delay: 1.9s !important;
}

*[data-inview-delay="2000"] {
  transition-delay: 2s !important;
}

*[data-inview-delay="250"] {
  transition-delay: 0.25s !important;
}

.js-fadeIn {
  opacity: 0;
  transition: opacity 0.6s ease-out;
  transition-delay: 0.1s;
}
.in-view .js-fadeIn, .js-fadeIn.in-view {
  opacity: 1;
}

.js-fadeBlur, .js-fadeBlur__inner {
  transition: opacity 0.4s, -webkit-filter 0.4s;
  transition: opacity 0.4s, filter 0.4s;
  transition: opacity 0.4s, filter 0.4s, -webkit-filter 0.4s;
  opacity: 0;
  -webkit-filter: blur(1rem);
          filter: blur(1rem);
  transition-delay: 1s;
}
.in-view .js-fadeBlur, .js-fadeBlur.in-view, .in-view .js-fadeBlur__inner, .js-fadeBlur__inner.in-view {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.js-fadeBlur__inner {
  transition-delay: 1.1s;
}

.js-slideUp {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  transition: opacity 0.6s, -webkit-transform 0.6s;
  transition: opacity 0.6s, transform 0.6s;
  transition: opacity 0.6s, transform 0.6s, -webkit-transform 0.6s;
}
.in-view .js-slideUp, .js-slideUp.in-view {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.js-slideUp02 {
  opacity: 0;
  -webkit-transform: translateY(2rem);
          transform: translateY(2rem);
  transition: opacity 0.4s, -webkit-transform 0.4s;
  transition: opacity 0.4s, transform 0.4s;
  transition: opacity 0.4s, transform 0.4s, -webkit-transform 0.4s;
}
.in-viewItem .js-slideUp02 {
  opacity: 1;
  -webkit-transform: translate(0);
          transform: translate(0);
}

.js-slideImageLeft,
.js-slideImageRight {
  position: relative;
  overflow: hidden;
}
.js-slideImageLeft:before,
.js-slideImageRight:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: white;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  -webkit-transform: translateX(0%);
          transform: translateX(0%);
  transition-delay: 0.2s;
  transition: 0.6s;
  transition-timing-function: ease;
}
.in-view .js-slideImageLeft:before,
.in-view .js-slideImageRight:before {
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
}

.js-slideInLeft,
.js-slideInRight {
  -webkit-transform: translateX(-2rem);
          transform: translateX(-2rem);
  opacity: 0;
  transition-delay: 0.2s;
  transition: 0.6s;
  transition-timing-function: ease;
}
.in-view .js-slideInLeft, .js-slideInLeft.in-view,
.in-view .js-slideInRight,
.js-slideInRight.in-view {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}

.js-effectBlur {
  opacity: 0;
  -webkit-filter: blur(1rem);
          filter: blur(1rem);
  transition: opacity 0.4s, -webkit-filter 0.4s;
  transition: opacity 0.4s, filter 0.4s;
  transition: opacity 0.4s, filter 0.4s, -webkit-filter 0.4s;
  transition-delay: 1s;
}
.in-view .js-effectBlur {
  opacity: 1;
  -webkit-filter: blur(0);
          filter: blur(0);
}

.section,
.c5-section {
  margin: 12rem 0;
}

.c-title01 {
  margin-bottom: 4rem;
  gap: 0.7rem;
  display: flex;
  flex-direction: column;
}
.c-title01 > span {
  display: block;
}
.c-title01 > span:first-child {
  padding-left: 5rem;
  position: relative;
  font-size: 2.4rem;
  color: #1FB590;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
}
.c-title01 > span:first-child::before {
  content: "";
  display: block;
  width: 4rem;
  height: 1px;
  background: #1FB590;
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media only screen and (max-width: 639px) {
  .c-title01 > span:first-child {
    font-size: 2.4rem;
    line-height: 100%;
  }
}
.c-title01 > span:last-child {
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 150%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}
@media only screen and (max-width: 639px) {
  .c-title01 > span:last-child .fz-s {
    display: block;
    font-size: 1.5rem !important;
    line-height: 170%;
    letter-spacing: 0.2em;
  }
}

.c-table01 {
  width: 100%;
}
@media only screen and (max-width: 639px) {
  .c-table01 {
    margin-bottom: 1.5rem;
  }
  .c-table01 .fz-s {
    font-size: 1rem !important;
  }
}
@media only screen and (max-width: 639px) {
  .c-table01.is-sp thead th {
    text-align: center;
  }
  .c-table01.is-sp tbody th {
    letter-spacing: 0;
  }
  .c-table01.is-sp tbody th {
    min-width: 8rem;
    padding-right: 0.5rem;
  }
  .c-table01.is-sp tbody th, .c-table01.is-sp tbody td {
    padding: 1.5rem 0;
  }
  .c-table01.is-sp tbody td {
    width: 100%;
    line-height: 170%;
  }
  .c-table01.is-sp tbody td .c-note01 {
    display: block;
    line-height: 1.7;
  }
}
.c-table01 tr > th > *:first-child,
.c-table01 tr > td > *:first-child {
  margin-top: 0;
}
.c-table01 tr > th > *:last-child,
.c-table01 tr > td > *:last-child {
  margin-bottom: 0;
}
.c-table01 tr > th {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #1FB590;
  padding: 1.6rem 1.5rem;
}
.c-table01 tr > td {
  padding: 1.5rem;
  letter-spacing: 0.1em;
}
.c-table01 thead tr th {
  background: #4ECDAC;
  font-weight: 500;
  color: #FFFFFF;
  vertical-align: middle;
}
.c-table01 thead tr th:not(:last-child) {
  border-right: 1px solid #fff;
}
.c-table01 tbody > tr > th,
.c-table01 tbody > tr > td {
  border-bottom: 1px solid #BBDED6;
}
.c-table01 tbody > tr > th {
  font-weight: 500;
  color: #1FB590;
}

.c-table02 {
  width: 100%;
  border-top: 1px solid #BBDED6;
}
@media only screen and (max-width: 639px) {
  .c-table02.--vertical,
  .c-table02.--vertical tbody,
  .c-table02.--vertical tr,
  .c-table02.--vertical td,
  .c-table02.--vertical th {
    display: block;
    width: 100%;
    float: none;
    clear: both;
  }
  .c-table02.--vertical tr {
    padding: 1.5rem 0;
    border-bottom: 1px solid #BBDED6;
  }
  .c-table02.--vertical th, .c-table02.--vertical td {
    padding: 0;
  }
  .c-table02.--vertical th {
    border-bottom: none;
    margin-bottom: 0.5rem;
  }
  .c-table02.--vertical td {
    border-bottom: none;
  }
  .c-table02.--vertical td p:not(:last-child) {
    margin-bottom: 0.5rem;
  }
}
.c-table02 tr > th,
.c-table02 tr > td {
  padding: 1.5rem 0;
  border-bottom: 1px solid #BBDED6;
}
.c-table02 tr > th {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #1FB590;
  min-width: 130px;
}
.c-table02 tr > td {
  width: 90%;
}
.c-table02 tr > td *:first-child {
  margin-top: 0;
}
.c-table02 tr > td *:last-child {
  margin-bottom: 0;
}
.c-table02 tr > td .fz-s {
  font-size: 1rem !important;
}
@media only screen and (max-width: 639px) {
  .c-table02 tr > td .fz-s {
    display: block;
    position: relative;
    margin-top: -0.5rem;
  }
}

.c-figure01 {
  position: relative;
  padding-left: 1rem;
  padding-top: 1rem;
}
@media only screen and (max-width: 639px) {
  .c-figure01 {
    padding-left: 0.5rem;
    padding-top: 0.5rem;
  }
}
.c-figure01:is(span) {
  display: inline-block;
}
.c-figure01::before {
  content: "";
  display: block;
  width: calc(100% - 1rem);
  height: calc(100% - 1rem);
  border-radius: 1.6rem;
  background: #1ACFB1;
  background: linear-gradient(90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
}
@media only screen and (max-width: 639px) {
  .c-figure01::before {
    width: calc(100% - 0.5rem);
    height: calc(100% - 0.5rem);
  }
}
.c-figure01 > *,
.c-figure01 > img {
  -webkit-transform: translate(-1rem, -1rem);
          transform: translate(-1rem, -1rem);
  border-radius: 1.6rem;
  overflow: hidden;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 639px) {
  .c-figure01 > *,
  .c-figure01 > img {
    -webkit-transform: translate(-0.5rem, -0.5rem);
            transform: translate(-0.5rem, -0.5rem);
  }
}

.c-figure02 {
  margin: 4rem 0;
}

.c-tableLike01 {
  margin: 4rem auto;
}
@media only screen and (min-width: 640px) {
  .c-tableLike01 {
    display: grid;
    grid-template-columns: auto 1fr;
    row-gap: 0rem;
    -webkit-column-gap: 1.5rem;
       -moz-column-gap: 1.5rem;
            column-gap: 1.5rem;
    align-items: start;
  }
}
.c-tableLike01 dt {
  font-weight: 500;
  font-size: 15px;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}
.c-tableLike01 dd {
  font-weight: 400;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
}
.c-tableLike01.--v2 dd {
  padding-left: 2em;
  position: relative;
}
@media only screen and (max-width: 639px) {
  .c-tableLike01.--v2 dd {
    padding-left: 2.5rem;
  }
}
.c-tableLike01.--v2 dd:before {
  content: "─";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 0;
}

.c-tableLike01 .fz-s {
  font-size: 1rem !important;
  letter-spacing: 0.1em;
}
@media only screen and (min-width: 640px) {
  .c-tableLike01.--v2 {
    gap: 0 1rem;
  }
}
@media only screen and (max-width: 639px) {
  .c-tableLike01 dd + dt {
    margin-top: 1.2rem;
  }
}

.c-btns {
  margin: 4rem 0;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2rem;
}

@media only screen and (max-width: 639px) {
  .c-btnWrap01 {
    margin-top: 2rem;
  }
}

.c-lead01 {
  padding: 2rem 3rem;
  background: #4ECDAC;
  border-radius: 1.6rem;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  margin-bottom: 4rem;
}
.c-title01 + .c-lead01 {
  margin-top: -2.5rem;
}

.c-title02 {
  margin-top: 4rem;
  margin-bottom: 1.5rem;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 150%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
  padding-left: 2.2rem;
  background-repeat: no-repeat;
  background-position: left 0.26em;
  background-size: 1.6rem auto;
  background-image: url('data:image/svg+xml,<svg width="16" height="24" viewBox="0 0 16 24" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(%23clip0_416_580)"><path d="M8.02404 0C7.06818 4.03178 8 8.03209 0 12.0009C8 15.9994 7.18096 20.0275 8.02958 24.0019C8.85232 20.0108 8 15.9994 16 12.0009C8 7.99136 8.9762 4.05029 8.02404 0Z" fill="%23F9AC58"/></g><defs><clipPath id="clip0_416_580"><rect width="16" height="24" fill="white"/></clipPath></defs></svg>');
}

.c-pointBox01 {
  display: flex;
  flex-direction: row-reverse;
  gap: 1.5rem;
}
@media only screen and (max-width: 639px) {
  .c-pointBox01 {
    flex-direction: column-reverse;
  }
}
@media only screen and (max-width: 639px) {
  .c-pointBox01__figure {
    width: 15rem;
    margin: 0 auto;
  }
}
.c-pointBox01__body {
  background: white;
  border-radius: 1.6rem;
  padding: 2rem 3rem;
  flex: 1;
}
.c-pointBox01__title {
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid #1FB590;
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 150%;
  letter-spacing: 0.2em;
  color: #3D3D3D;
  padding-left: 2.7rem;
  background-repeat: no-repeat;
  background-position: left 0.48em;
  background-size: 1.7rem auto;
  background-image: url('data:image/svg+xml,<svg width="17" height="17" viewBox="0 0 17 17" fill="none" xmlns="http://www.w3.org/2000/svg"><rect y="8.48535" width="12" height="12" transform="rotate(-45 0 8.48535)" fill="%231FB590"/></svg>');
}

.c-numBoxList01 {
  border-top: 1px solid #BBDED6;
}
.c-numBoxList01 > li {
  padding: 1.5rem 0;
  border-bottom: 1px solid #BBDED6;
}
.c-numBoxList01 > li > b {
  display: block;
  font-weight: 500;
  color: #1FB590;
  margin-bottom: 0.5rem;
}

.c-anchor {
  margin: 12rem auto;
}
@media only screen and (max-width: 639px) {
  .c-anchor {
    margin-top: 6rem;
  }
}
.c-anchor__list {
  display: flex;
  gap: 1rem;
  justify-content: center;
  flex-wrap: wrap;
}
@media only screen and (max-width: 639px) {
  .c-anchor__list {
    justify-content: flex-start;
  }
}
@media only screen and (max-width: 639px) {
  .c-anchor__list > li {
    width: calc(50% - 0.5rem);
  }
}
.c-anchor a {
  text-decoration: none;
  background-color: white;
  background-repeat: no-repeat;
  background-size: 1.4rem auto;
  background-position: right 3rem center;
  background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" transform="rotate(90 7 7)" stroke="%23E0EBE9"/><path d="M9.92783 5.92893L6.9989 8.85786L4.06997 5.92893" stroke="%231FB590" stroke-linecap="round"/></svg>');
  border: 1px solid #4ECDAC;
  border-radius: 0.4rem;
  display: inline-flex;
  min-width: 23.4rem;
  min-height: 6.6rem;
  padding: 2rem 5.4rem 2rem 3rem;
  text-align: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #1FB590;
  align-items: center;
  transition: all 0.4s;
}
@media only screen and (max-width: 639px) {
  .c-anchor a {
    min-width: 100%;
    min-height: 4.6rem;
    padding: 1rem 3.4rem 1rem 1.5rem;
    background-position: right 1rem center;
  }
}
@media only screen and (min-width: calc(640 * 1px)) {
  .c-anchor a:hover {
    background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" transform="rotate(90 7 7)" stroke="%23E0EBE9"/><circle cx="7" cy="7" r="7" transform="rotate(90 7 7)" fill="%231FB590"/><path d="M9.92893 5.92893L7 8.85786L4.07107 5.92893" stroke="white" stroke-linecap="round"/></svg>');
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .c-anchor a:focus, .c-anchor a:active {
    background-image: url('data:image/svg+xml,<svg width="14" height="14" viewBox="0 0 14 14" fill="none" xmlns="http://www.w3.org/2000/svg"><circle cx="7" cy="7" r="6.5" transform="rotate(90 7 7)" stroke="%23E0EBE9"/><circle cx="7" cy="7" r="7" transform="rotate(90 7 7)" fill="%231FB590"/><path d="M9.92893 5.92893L7 8.85786L4.07107 5.92893" stroke="white" stroke-linecap="round"/></svg>');
  }
}

.c-qaList {
  border-top: 1px solid #BBDED6;
}
.c-qaList__item {
  border-bottom: 1px solid #BBDED6;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2rem 0 3rem;
  padding-left: 7.4rem;
  position: relative;
}
.c-qaList__title {
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 150%;
  color: #1FB590;
}
.c-qaList__mark {
  display: block;
  color: transparent;
  background-repeat: no-repeat;
  background-position: left top;
  background-image: url('data:image/svg+xml,<svg width="54" height="54" viewBox="0 0 54 54" fill="none" xmlns="http://www.w3.org/2000/svg"><rect width="54" height="54" rx="27" fill="%234ECDAC"/><path d="M26.68 38.4797C24.6533 38.4797 22.8613 37.9997 21.304 37.0397C19.7467 36.0797 18.52 34.725 17.624 32.9757C16.7493 31.2263 16.312 29.1677 16.312 26.7997C16.312 24.4317 16.7493 22.373 17.624 20.6237C18.52 18.853 19.7467 17.4877 21.304 16.5277C22.8613 15.5463 24.6533 15.0557 26.68 15.0557C28.7067 15.0557 30.488 15.5463 32.024 16.5277C33.5813 17.4877 34.7973 18.853 35.672 20.6237C36.568 22.373 37.016 24.4317 37.016 26.7997C37.016 28.0157 36.888 29.1677 36.632 30.2557C36.3973 31.3223 36.0453 32.293 35.576 33.1677L39.128 36.0157L37.272 38.3837L33.784 35.5997C32.9093 36.517 31.864 37.2317 30.648 37.7437C29.4533 38.2343 28.1307 38.4797 26.68 38.4797ZM26.68 35.5997C28.5787 35.5997 30.1467 34.981 31.384 33.7437L28.088 31.0557L29.912 28.7517L33.08 31.2797C33.6773 30.021 33.976 28.5277 33.976 26.7997C33.976 24.9863 33.6667 23.429 33.048 22.1277C32.4507 20.805 31.5973 19.781 30.488 19.0557C29.4 18.3303 28.1307 17.9677 26.68 17.9677C25.2293 17.9677 23.9493 18.3303 22.84 19.0557C21.752 19.781 20.8987 20.805 20.28 22.1277C19.6613 23.429 19.352 24.9863 19.352 26.7997C19.352 28.5917 19.6613 30.149 20.28 31.4717C20.8987 32.773 21.752 33.7863 22.84 34.5117C23.9493 35.237 25.2293 35.5997 26.68 35.5997Z" fill="white"/><path d="M40.4685 41L48.1866 43.5359L49.9891 51.4574L42.271 48.9216L40.4685 41Z" fill="%234ECDAC"/></svg>');
  background-size: contain;
  width: 5.4rem;
  height: 5.4rem;
  position: absolute;
  top: 1.6rem;
  left: 0;
}

.c-map01 {
  display: block;
  width: 100%;
  padding-top: 33.3333333333%;
  height: 0;
  position: relative;
}
@media only screen and (max-width: 639px) {
  .c-map01 {
    padding-top: 121.2121212121%;
  }
}
.c-map01 iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.videoWrap01 {
  width: 100%;
  padding-top: 56.25%;
  position: relative;
  background: #000;
}
.videoWrap01 iframe,
.videoWrap01 video {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.modal01 {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 102;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 50px 40px;
  background: rgba(0, 0, 0, 0.75);
  box-sizing: border-box;
}
@media only screen and (max-width: 639px) {
  .modal01 {
    padding: 50px 10px;
  }
}
.modal01:not(.is-open) {
  display: none;
}
.modal01.is-open {
  display: flex;
  opacity: 0;
  transition: all 0.4s;
}
.modal01.is-open .modal01__box {
  opacity: 0;
  transition: all 0.4s;
  transition-delay: 0.2s;
}
.modal01.is-open.is-show {
  opacity: 1;
}
.modal01.is-open.is-show .modal01__box {
  opacity: 1;
}
.modal01__close {
  position: absolute;
  right: 0;
  top: -10px;
  -webkit-transform: translate(0, -100%);
          transform: translate(0, -100%);
  overflow: hidden;
  background: #1ACFB1;
  background: linear-gradient(90deg, rgb(26, 207, 177) 0%, rgb(14, 141, 199) 100%);
  padding: 10px;
  border: none;
  border-radius: 50%;
}
@media only screen and (max-width: 999px) and (orientation: landscape) {
  .modal01__close {
    top: -10px;
    right: -10px;
    -webkit-transform: translate(50%, -50%);
            transform: translate(50%, -50%);
  }
}
.modal01__close > span {
  text-indent: -5em;
  display: block;
  position: relative;
  width: 30px;
  height: 30px;
  overflow: hidden;
}
.modal01__close > span:before, .modal01__close > span:after {
  content: "";
  display: block;
  width: 30px;
  height: 2px;
  background: white;
  position: absolute;
  top: 50%;
  left: 50%;
}
.modal01__close > span:before {
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
          transform: translate(-50%, -50%) rotate(45deg);
}
.modal01__close > span:after {
  -webkit-transform: translate(-50%, -50%) rotate(-45deg);
          transform: translate(-50%, -50%) rotate(-45deg);
}
.modal01__box {
  width: 100%;
  height: auto;
  max-width: 800px;
  max-height: 70vh;
  margin: auto;
  display: flex;
  justify-content: center;
  flex-direction: column;
  position: relative;
}
@media only screen and (max-width: 639px) {
  .modal01__box {
    max-height: 65vh;
  }
}
@media only screen and (max-width: 999px) and (orientation: landscape) {
  .modal01__box {
    min-width: 480px;
    max-width: 60vw;
  }
}

.p-top-mv {
  margin-top: 4rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-mv {
    margin-top: 5rem;
  }
}
.p-top-mv__inner {
  margin: 0 auto;
  max-width: 1514px;
  padding: 0 4.3rem;
  background-position: left center;
  background-size: auto 100%;
  background-repeat: no-repeat;
  background-image: url(../images/top/bg_mv.png);
  background-size: contain;
  padding-top: min(64.2rem, 42.4042272127%);
  position: relative;
}
@media only screen and (max-width: 639px) {
  .p-top-mv__inner {
    padding-top: 66rem;
    background-image: url(../images/top/bg_mv_sp.png);
    background-position: 5% 0;
    background-size: 100.333333% auto;
  }
}
.p-top-mv__title {
  margin-bottom: 0;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 200%;
  letter-spacing: 0.19em;
  position: absolute;
  top: 44%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 8.5865257596%;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  z-index: 2;
}
@media only screen and (max-width: 639px) {
  .p-top-mv__title {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    gap: 2rem;
    font-size: 2.6rem;
    line-height: 1.2;
    top: 32rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .p-top-mv__title > span {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.p-top-mv__title em {
  font-style: normal;
  display: inline-block;
  padding: 0 2rem;
  border-radius: 0.4rem;
  background: white;
  color: #1FB590;
}
@media only screen and (min-width: 640px) {
  .p-top-mv__title em {
    margin-right: 0.5em;
  }
  .p-top-mv__title em:not(:last-child) {
    margin-left: 0.5em;
  }
}
@media only screen and (max-width: 639px) {
  .p-top-mv__title em {
    padding: 1.5rem 1.2rem;
    margin-bottom: 0.5em;
  }
}
.p-top-mv__figure {
  position: absolute;
  top: 17%;
  right: 0;
  width: 48.6129458388%;
  z-index: 1;
}
@media only screen and (max-width: 639px) {
  .p-top-mv__figure {
    width: 35rem;
    top: 3rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
.p-top-mv__figure img {
  width: 100%;
}

.p-top-section {
  padding: 8rem 0;
}

.p-top-intro {
  font-size: 1.5rem;
  line-height: 1.7;
}
@media only screen and (min-width: 640px) {
  .p-top-intro {
    padding-bottom: 12rem;
  }
}
.p-top-intro p {
  margin-bottom: 1.5em;
}
.p-top-intro em {
  font-style: normal;
  color: #1FB590;
}
.p-top-intro__title {
  font-size: 3.2rem;
  line-height: 1.5;
  letter-spacing: 0.2em;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
  background-image: repeating-linear-gradient(90deg, #1fb590, #1fb590 4px, transparent 4px, transparent 7px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
}
@media only screen and (max-width: 639px) {
  .p-top-intro__title {
    line-height: 1.6;
  }
}
.p-top-intro__title em {
  color: #1FB590;
  font-style: normal;
}
.p-top-intro__card {
  gap: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-intro__card {
    gap: 0;
  }
}
@media only screen and (min-width: 1440px) {
  .p-top-intro__card .c-card01__figure {
    max-width: 66rem;
  }
}
.p-top-intro__card .c-card01__body {
  margin-right: -1em;
}

.dot {
  position: relative;
  display: inline-block;
}
.dot::before {
  content: "";
  position: absolute;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  top: -0.05em;
  left: 50%;
  -webkit-transform: translate(-50%, -100%);
          transform: translate(-50%, -100%);
  font-size: 0.5em;
  background: #1FB590;
}
@media only screen and (max-width: 639px) {
  .dot::before {
    top: 0.4em;
  }
}

.p-top-about {
  padding-top: 15rem;
  padding-bottom: 13rem;
  position: relative;
}
@media only screen and (max-width: 639px) {
  .p-top-about {
    padding-top: 10rem;
    padding-bottom: 9.8rem;
  }
}
.p-top-about:before {
  content: "";
  display: block;
  width: 100%;
  min-width: 2400px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  background-image: url('data:image/svg+xml,<svg width="1600" height="738" viewBox="0 0 1600 738" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M991.479 97.1624C932.589 53.0431 852.496 83.7123 770.204 40.4191C687.913 -2.87407 494.28 -4.78918 366.593 4.56093C9.13663 30.6834 -415.758 271.899 -399.55 415.082C-383.342 558.265 202.325 738 753.964 738C1305.6 738 1417.21 609.936 1692.46 673.968C1967.7 738 2121.19 329.116 1880.31 274.461C1572.88 204.647 1233.8 278.705 991.479 97.1624Z" fill="white"/></svg>');
}
@media only screen and (max-width: 639px) {
  .p-top-about:before {
    background-image: url('data:image/svg+xml,<svg width="375" height="780" viewBox="0 0 375 780" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M231.374 102.692C212.652 56.0617 187.189 88.4763 161.027 42.7193C134.866 -3.03771 73.3064 -5.0618 32.7126 4.82045C-80.9286 32.4296 -216.01 287.373 -210.857 438.704C-205.704 590.036 -19.5107 780 155.864 780C331.24 780 366.722 644.647 454.227 712.324C541.732 780 590.529 347.846 513.947 290.081C416.212 216.293 308.413 294.567 231.374 102.692Z" fill="white"/></svg>');
    width: 204.8vw;
  }
}
.p-top-about > * {
  position: relative;
  z-index: 1;
}
.p-top-about__title {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-about__title {
    gap: 1rem;
  }
}
.p-top-about__title span:first-child {
  font-weight: 300;
  font-size: 10rem;
  line-height: 100%;
  text-transform: uppercase;
  color: #4ECDAC;
}
@media only screen and (max-width: 639px) {
  .p-top-about__title span:first-child {
    font-size: 7rem;
  }
}
.p-top-about__title span:last-child {
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 150%;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 639px) {
  .p-top-about__title span:last-child {
    font-size: 2.8rem;
  }
}
.p-top-about__btns {
  margin-top: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-about__btns .c-btn01 {
    min-width: 23.4rem;
  }
}
.p-top-about__card {
  gap: 6rem;
}
@media only screen and (max-width: 639px) {
  .p-top-about__card {
    flex-direction: column;
  }
}
.p-top-about__card .c-card01__figure {
  position: relative;
}
@media only screen and (min-width: 640px) {
  .p-top-about__card .c-card01__figure {
    margin-right: -1rem;
  }
}
@media only screen and (min-width: 1440px) {
  .p-top-about__card .c-card01__figure {
    max-width: 76rem;
  }
}
@media only screen and (min-width: 640px) and (max-width: 1439px) {
  .p-top-about__card .c-card01__figure {
    max-width: 60%;
  }
}
@media only screen and (max-width: 639px) {
  .p-top-about__card .c-card01__figure {
    margin-bottom: 0;
    padding-right: 0.5rem;
  }
}
.p-top-about__card .c-card01__figure > img {
  width: 21.1rem;
  position: absolute;
  bottom: -0.25rem;
  right: -10.5rem;
  z-index: 2;
}
@media only screen and (min-width: 640px) and (max-width: 1439px) {
  .p-top-about__card .c-card01__figure > img {
    width: 16.88rem;
    right: -2rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-top-about__card .c-card01__figure > img {
    width: 13.2rem;
    right: -2.5rem;
    bottom: 0;
  }
}

.p-top-lawyer {
  padding-top: 12rem;
  padding-bottom: 12rem;
}
@media only screen and (max-width: 639px) {
  .p-top-lawyer {
    padding-top: 8.5rem;
    padding-bottom: 10.5rem;
  }
}
.p-top-lawyer__inner {
  max-width: 880px;
}
.p-top-lawyer__title {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-lawyer__title {
    gap: 1rem;
    margin-bottom: 6rem;
  }
}
.p-top-lawyer__title > span:first-child {
  font-weight: 300;
  font-size: 10rem;
  line-height: 100%;
  text-transform: uppercase;
  color: #4ECDAC;
}
@media only screen and (max-width: 639px) {
  .p-top-lawyer__title > span:first-child {
    font-size: 7rem;
    letter-spacing: 0;
  }
}
.p-top-lawyer__title > span:last-child {
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 150%;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 639px) {
  .p-top-lawyer__title > span:last-child {
    font-size: 2.8rem;
  }
}
.p-top-lawyer__row {
  position: relative;
  gap: 5rem;
  margin-bottom: 4rem;
}
.p-top-lawyer__row > img {
  position: absolute;
  top: -1.5rem;
  right: 6.5rem;
  width: 23.6rem;
  -webkit-transform: translateY(-80%);
          transform: translateY(-80%);
  z-index: 0;
}
@media only screen and (max-width: 639px) {
  .p-top-lawyer__row > img {
    width: 12.4rem;
    right: 0.5rem;
    top: -0.5rem;
  }
}
.p-top-lawyer__row .c-row01__col {
  position: relative;
  z-index: 1;
}
@media only screen and (min-width: 640px) {
  .p-top-lawyer__row .c-row01__col {
    width: calc(50% - 2.5rem);
  }
}
.p-top-lawyerLink {
  display: block;
  text-decoration: none;
}
.p-top-lawyerLink figure figcaption {
  margin-top: 1rem;
  font-weight: 400;
  font-size: 2rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.2em;
}
.p-top-lawyer__btns {
  text-align: center;
}
@media only screen and (max-width: 639px) {
  .p-top-lawyer__btns .c-btn01 {
    min-width: 23.4rem;
  }
}

.p-top-flow {
  padding-top: 15rem;
  padding-bottom: 12.5rem;
  position: relative;
}
@media only screen and (max-width: 639px) {
  .p-top-flow {
    padding-top: 9.7rem;
    padding-bottom: 10rem;
  }
}
.p-top-flow:before {
  content: "";
  display: block;
  width: 100%;
  min-width: 2400px;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  background-position: center center;
  background-image: url('data:image/svg+xml,<svg width="1600" height="738" viewBox="0 0 1600 738" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M608.521 640.838C667.411 684.957 747.505 654.288 829.796 697.581C912.087 740.874 1105.72 742.789 1233.41 733.439C1590.86 707.317 2015.76 466.101 1999.55 322.918C1983.34 179.735 1397.67 -9.57418e-05 846.036 -7.16289e-05C294.397 -4.7516e-05 182.788 128.064 -92.4563 64.0321C-367.701 -7.961e-05 -521.193 408.884 -280.306 463.539C27.1183 533.353 366.199 459.295 608.521 640.838Z" fill="white"/></svg>');
}
@media only screen and (max-width: 639px) {
  .p-top-flow:before {
    background-image: url('data:image/svg+xml,<svg width="375" height="663" viewBox="0 0 375 663" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M271.104 87.288C255.694 47.6524 234.736 75.2048 213.203 36.3113C191.671 -2.58215 141.003 -4.30261 107.592 4.09731C14.0574 27.5652 -97.1233 244.267 -92.8823 372.899C-88.6412 501.531 64.6085 663 208.954 663C353.3 663 382.504 547.95 454.526 605.475C526.548 663 566.712 295.669 503.68 246.568C423.237 183.849 334.511 250.382 271.104 87.288Z" fill="white"/></svg>');
    width: 176.8vw;
    left: 52%;
  }
}
.p-top-flow > * {
  position: relative;
  z-index: 1;
}
.p-top-flow__title {
  display: flex;
  flex-direction: column;
  gap: 3rem;
  margin-bottom: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-flow__title {
    gap: 1rem;
  }
}
.p-top-flow__title > span:first-child {
  font-weight: 300;
  font-size: 10rem;
  line-height: 100%;
  text-transform: uppercase;
  color: #4ECDAC;
}
@media only screen and (max-width: 639px) {
  .p-top-flow__title > span:first-child {
    font-size: 7rem;
    letter-spacing: 0;
  }
}
.p-top-flow__title > span:last-child {
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 150%;
  letter-spacing: 0.2em;
}
@media only screen and (max-width: 639px) {
  .p-top-flow__title > span:last-child {
    font-size: 2.8rem;
  }
}
.p-top-flow__card {
  gap: 6rem;
}
@media only screen and (max-width: 639px) {
  .p-top-flow__card {
    flex-direction: column;
  }
}
.p-top-flow__card .c-card01__figure {
  position: relative;
}
@media only screen and (min-width: 1440px) {
  .p-top-flow__card .c-card01__figure {
    max-width: 76rem;
  }
}
@media only screen and (min-width: 640px) and (max-width: 1439px) {
  .p-top-flow__card .c-card01__figure {
    max-width: 60%;
  }
}
@media only screen and (max-width: 639px) {
  .p-top-flow__card .c-card01__figure {
    margin-bottom: 0;
    padding-right: 0.5rem;
  }
}
.p-top-flow__card .c-card01__figure > img {
  width: 38rem;
  position: absolute;
  bottom: -6rem;
  left: -15.2rem;
  z-index: 2;
  width: 38rem;
}
@media only screen and (min-width: 640px) and (max-width: 1439px) {
  .p-top-flow__card .c-card01__figure > img {
    width: 30.4rem;
    left: -3rem;
    bottom: -4rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-top-flow__card .c-card01__figure > img {
    width: 19rem;
    left: inherit;
    right: -1rem;
    bottom: -1.5rem;
  }
}
.p-top-flow__btns {
  margin-top: 4rem;
}
@media only screen and (max-width: 639px) {
  .p-top-flow__btns .c-btn01 {
    min-width: 23.4rem;
  }
}

.js-mvAnim {
  opacity: 0;
  transition: opacity 0.8s;
}
.js-mvAnim.is-loaded {
  opacity: 1;
}

.p-top-mv__figure {
  -webkit-filter: blur(10rem);
          filter: blur(10rem);
  transition: -webkit-filter 0.6s;
  transition: filter 0.6s;
  transition: filter 0.6s, -webkit-filter 0.6s;
}
.is-loaded .p-top-mv__figure {
  -webkit-filter: blur(0);
          filter: blur(0);
}

@media only screen and (min-width: 640px) {
  .p-top-mv__title > span {
    overflow: hidden;
    -webkit-transform: translateY(2em);
            transform: translateY(2em);
    opacity: 0;
    transition: opacity 0.4s, -webkit-transform 0.8s;
    transition: transform 0.8s, opacity 0.4s;
    transition: transform 0.8s, opacity 0.4s, -webkit-transform 0.8s;
  }
  .p-top-mv__title > span em {
    background: transparent;
    color: white;
    transition: color 1.6s, background 1s;
  }
  .p-top-mv__title > span:first-child {
    transition-delay: 0.4s;
  }
  .p-top-mv__title > span:first-child em {
    transition-delay: 0.5s;
  }
  .p-top-mv__title > span:nth-child(2) {
    transition-delay: 0.6s;
  }
  .p-top-mv__title > span:nth-child(2) em {
    transition-delay: 0.7s;
  }
  .is-loaded .p-top-mv__title > span {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  .is-loaded .p-top-mv__title > span em {
    color: #1FB590;
    background: white;
  }
}
@media only screen and (max-width: 639px) {
  .p-top-mv__title > span > span {
    overflow: hidden;
    -webkit-transform: translateY(2em);
            transform: translateY(2em);
    opacity: 0;
    transition: opacity 0.4s, -webkit-transform 0.8s;
    transition: transform 0.8s, opacity 0.4s;
    transition: transform 0.8s, opacity 0.4s, -webkit-transform 0.8s;
  }
  .p-top-mv__title > span > span em {
    background: transparent;
    color: white;
    transition: color 1.6s, background 1s;
  }
  .is-loaded .p-top-mv__title > span > span {
    -webkit-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
  }
  .is-loaded .p-top-mv__title > span > span em {
    color: #1FB590;
    background: white;
  }
  .p-top-mv__title > span:first-child > span:first-child {
    transition-delay: 0.4s;
  }
  .p-top-mv__title > span:first-child > span:first-child em {
    transition-delay: 0.5s;
  }
  .p-top-mv__title > span:first-child > span:nth-child(2) {
    transition-delay: 0.6s;
  }
  .p-top-mv__title > span:first-child > span:nth-child(2) em {
    transition-delay: 0.7s;
  }
  .p-top-mv__title > span:nth-child(2) > span:first-child {
    transition-delay: 0.8s;
  }
  .p-top-mv__title > span:nth-child(2) > span:first-child em {
    transition-delay: 0.9s;
  }
  .p-top-mv__title > span:nth-child(2) > span:nth-child(2) {
    transition-delay: 1s;
  }
  .p-top-mv__title > span:nth-child(2) > span:nth-child(2) em {
    transition-delay: 1.1s;
  }
}

.p-top-lawyerLink img {
  transition: all 0.4s;
}
@media only screen and (min-width: calc(640 * 1px)) {
  .p-top-lawyerLink:hover {
    opacity: 1;
  }
  .p-top-lawyerLink:hover img {
    -webkit-transform: none;
            transform: none;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .p-top-lawyerLink:focus, .p-top-lawyerLink:active {
    opacity: 1;
  }
  .p-top-lawyerLink:focus img, .p-top-lawyerLink:active img {
    -webkit-transform: none;
            transform: none;
  }
}

.p-about .section01 {
  padding-top: 0;
  padding-bottom: 0;
}

.p-about-mv__inner {
  padding: 3rem 2rem;
}
@media only screen and (max-width: 639px) {
  .p-about-mv__inner {
    padding: 6rem 0;
  }
}
.p-about-mv__title {
  margin-bottom: 0;
  font-family: "Zen Kaku Gothic New";
  font-style: normal;
  font-weight: 400;
  font-size: 3.2rem;
  line-height: 200%;
  letter-spacing: 0.2em;
  position: absolute;
  top: 13.0779392338%;
  top: 45%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 8.5865257596%;
  color: white;
  display: flex;
  flex-direction: column;
  gap: 4rem;
  z-index: 2;
}
@media only screen and (max-width: 639px) {
  .p-about-mv__title {
    -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
            writing-mode: vertical-rl;
    gap: 2rem;
    font-size: 2.6rem;
    line-height: 1.2;
    top: 32rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
  .p-about-mv__title > span {
    display: flex;
    flex-direction: column;
    gap: 2rem;
  }
}
.p-about-mv__title em {
  font-style: normal;
  display: inline-block;
  padding: 0 2rem;
  border-radius: 0.4rem;
  background: white;
  color: #1FB590;
}
@media only screen and (min-width: 640px) {
  .p-about-mv__title em {
    margin-right: 0.5em;
  }
  .p-about-mv__title em:not(:last-child) {
    margin-left: 0.5em;
  }
}
@media only screen and (max-width: 639px) {
  .p-about-mv__title em {
    padding: 1.5rem 1.2rem;
    margin-bottom: 0.5em;
  }
}
.p-about-mv__figure {
  position: absolute;
  top: 20%;
  right: 0;
  width: 48.6129458388%;
  z-index: 1;
}
@media only screen and (max-width: 639px) {
  .p-about-mv__figure {
    width: 35rem;
    top: 3rem;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
            transform: translate(-50%, 0);
  }
}
.p-about-mv__figure img {
  width: 100%;
}

@media only screen and (max-width: 639px) {
  .p-aboutPlan .c-card01__figure {
    margin-bottom: 4.5rem;
  }
}

.p-planAccess__dlWrap {
  display: flex;
  justify-content: center;
}
.p-planAccess__dlWrap > *:last-child {
  margin-bottom: 0;
}
.p-planAccess__dlWrap > .c-tableLike01 {
  margin-top: 0;
}
@media only screen and (max-width: 639px) {
  .p-planAccess__dlWrap > .c-tableLike01 {
    width: 100%;
  }
}

@media only screen and (min-width: 640px) {
  .p-lawyer-section .c-title01 {
    margin-bottom: 1.5rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-lawyer-section .c-table02 th {
    min-width: 9rem;
  }
}
.p-lawyer-section .c-table02 tr:last-child td {
  padding-bottom: 4rem;
}

@media only screen and (max-width: 639px) {
  .p-flow-section:first-of-type {
    margin-top: 6rem;
  }
}
@media only screen and (min-width: 640px) {
  .p-flow-section .c-title01 .fz-s {
    font-size: 2.4rem !important;
    letter-spacing: 0.195em;
  }
}
@media only screen and (max-width: 639px) {
  .p-flow-section .c-title01 > span:last-child {
    font-size: 2.8rem;
    margin-right: -0.5rem;
  }
}
@media only screen and (min-width: 640px) {
  .p-flow-section .c-table02 .c-note01 {
    font-size: 1rem !important;
    margin-top: -0.25rem;
    display: block;
    position: relative;
  }
}
@media only screen and (max-width: 639px) {
  .p-flow-section .c-btn01 {
    min-width: 23.4rem;
  }
}
.p-flow-section#step-01 .c-table02 th {
  min-width: 150px;
}
.p-flow-section#step-01 .c-table02 td p {
  margin-bottom: 0.5rem;
}

.p-flowList {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  position: relative;
}
@media only screen and (max-width: 639px) {
  .p-flowList {
    flex-direction: column;
  }
}
.p-flowList a {
  text-decoration: none !important;
  gap: 1.5rem;
  display: inline-block;
  position: relative;
  z-index: 1;
}
.p-flowList a figure {
  background: white;
  border-radius: 1.6rem;
}
@media only screen and (max-width: 639px) {
  .p-flowList a figure {
    border-radius: 0.8rem;
  }
}
.p-flowList a figure img {
  transition: all 0.4s;
}
@media only screen and (min-width: calc(640 * 1px)) {
  .p-flowList a:hover {
    opacity: 1;
  }
  .p-flowList a:hover figure img {
    opacity: 0.75;
  }
}
@media only screen and (max-width: calc(640 - 1px)) {
  .p-flowList a:focus, .p-flowList a:active {
    opacity: 1;
  }
  .p-flowList a:focus figure img, .p-flowList a:active figure img {
    opacity: 0.75;
  }
}
@media only screen and (max-width: 639px) {
  .p-flowList a {
    gap: 0;
  }
}
.p-flowList::before {
  content: "";
  display: block;
  background: #4ECDAC;
  position: absolute;
}
@media only screen and (min-width: 640px) {
  .p-flowList::before {
    width: 100%;
    height: 2px;
    top: calc(50% - 2rem);
    left: 0;
  }
}
@media only screen and (max-width: 639px) {
  .p-flowList::before {
    width: 2px;
    height: 100%;
    top: 0;
    left: calc(50% + 4rem);
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.p-flowList__item {
  position: relative;
}
@media only screen and (min-width: 640px) {
  .p-flowList__item {
    width: 15rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-flowList__item a {
    display: flex;
    border: 2px solid #4ECDAC;
    border-radius: 0.8rem;
    background: #EFF4F3;
    overflow: hidden;
  }
}
@media only screen and (min-width: 640px) {
  .p-flowList__figure {
    position: relative;
    margin-bottom: 1.7rem;
  }
  .p-flowList__figure img {
    border-radius: 1.6rem;
    border: 2px solid #4ECDAC;
    border-radius: 1.6rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-flowList__figure {
    width: 8rem;
  }
  .p-flowList__figure img {
    position: relative;
    z-index: 1;
  }
}
.p-flowList__num {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #FFFFFF;
  padding: 0.2rem 1.75rem;
  background: #4ECDAC;
}
@media only screen and (min-width: 640px) {
  .p-flowList__num {
    border-radius: 2rem;
    position: absolute;
    left: 50%;
    bottom: 0;
    -webkit-transform: translate(-50%, 50%);
            transform: translate(-50%, 50%);
  }
}
@media only screen and (max-width: 639px) {
  .p-flowList__num {
    border-radius: 0 0.4rem 0 0;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: none;
            transform: none;
    width: calc(100% - 8rem);
    min-height: 2.8rem;
  }
}
.p-flowList__text {
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 170%;
  text-align: center;
  letter-spacing: 0.2em;
  color: #1FB590;
}
@media only screen and (max-width: 639px) {
  .p-flowList__text {
    font-size: 2rem;
    padding-top: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 7.8rem;
    width: 100%;
    flex: 1;
    text-align: center;
  }
}

.p-plan-section .c-note01 {
  font-size: 1rem;
  line-height: 1.2;
}
@media only screen and (min-width: 640px) {
  .p-plan-section .c-title01 .fz-s {
    font-size: 2.4rem !important;
    letter-spacing: 0.195em;
  }
}
@media only screen and (max-width: 639px) {
  .p-plan-section .c-title01 > span:last-child {
    font-size: 2.8rem;
    margin-right: -0.5rem;
  }
}

@media only screen and (max-width: 639px) {
  .p-plan-section .c-card01__figure {
    margin-bottom: 4.5rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-plan-section .c-table02 th {
    min-width: 8rem;
  }
}
@media only screen and (max-width: 639px) {
  .p-plan-section .c-table01 th {
    min-width: 9rem !important;
  }
}

.p-plan-table-1 tr :is(th, td):nth-child(1) {
  width: 15.8rem;
}
.p-plan-table-1 tr :is(th, td):nth-child(2) {
  width: 70rem;
}
.p-plan-table-1 tr :is(th, td):nth-child(3) {
  width: 34rem;
}
.p-plan-table-2 tr :is(th, td):first-child {
  width: 15.8rem;
}
.p-plan-table-3 tr :is(th, td):nth-child(1) {
  width: 22rem;
}
.p-plan-table-3 tr :is(th, td):nth-child(1) {
  width: 49rem;
}
.p-plan-table-3 tr :is(th, td):nth-child(1) {
  width: 22rem;
}

/* === layout variables === */
:root {
  --navW: 220px;
  --gap: 0; /* 画面端〜ナビ、ナビ〜本文の余白 */
  --innerMax: 1000px;
}

:root {
  --color-black: #002000;
  --color-main: $color01;
}

/* 全ページのスクロールを“なめらか”にする */
html {
  /* モダン環境で広く安定 */
}

/* 固定ヘッダーの下にアンカーが隠れないよう余白を確保 */
:target {
  scroll-margin-top: var(--headerHdg, 64px);
}

/* ========== 非表示時に“上の余白も詰めたい”場合（オプション） ========== */
/* .site-header に .--no-gap を追加したときだけ、隠している間は自分の高さぶんを打ち消す */
/* Scroll-driven Animations 対応ブラウザでのみリッチ挙動に切替 */