@charset "UTF-8";
/* -------------------------------------------*/ /* -------------------------------------------*/
/* -------------------------------------------*/
:root {
  --content_width: 960px;
  --content-both_space: 15px;
  --header_height:90px;
  --waves_height: 60px;
}
@media screen and (max-width: 1200px) {
  :root {
    --content-both_space: 15px;
    --header_height:65px;
    --waves_height: 20px;
  }
}

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

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

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

summary::-webkit-details-marker {
  display: none;
}

/* -------------------------------------------*/
@media all and (-ms-high-contrast: none) {
  html,
body {
    display: none;
  }
}
*,
*:before,
*:after {
  box-sizing: border-box;
}

html {
  -ms-overflow-style: scrollbar;
  overflow: auto;
  scroll-padding-top: 80px;
  font-size: 62.5%;
}
@media screen and (max-width: 1200px) {
  html {
    font-size: 54.5%;
  }
}
@media screen and (max-width: 1023px) {
  html {
    font-size: 62.5%;
  }
}
body {
  position: relative;
  height: 100%;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
  font-family: "Zen Maru Gothic", "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
  letter-spacing: 0;
  color: #6A513E;
  background-color: #FCFAF7;
}
@media screen and (max-width: 1200px) {
  body {
    width: 100%;
    min-width: 100%;
  }
}

[tabindex="-1"]:focus {
  outline: 0 !important;
}

section {
  position: relative;
  width: 100%;
}

a,
button {
  text-decoration: none;
  color: #6A513E;
}

picture {
  display: block;
  line-height: 0;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

svg:not(:root) {
  overflow: hidden;
}

input,
button,
select,
optgroup,
textarea {
  vertical-align: middle;
  position: relative;
  border: none;
  border: none;
  margin: 0;
  background-color: transparent;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -webkit-border-radius: 0;
  -webkit-appearance: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

input[type=radio],
input[type=checkbox] {
  box-sizing: border-box;
  padding: 0;
}

input[type=date],
input[type=time],
input[type=datetime-local],
input[type=month] {
  -webkit-appearance: listbox;
}

textarea {
  overflow: auto;
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  border-offset: -2px;
  -webkit-appearance: none;
}

[type=search]::-webkit-search-cancel-button,
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  font: inherit;
  -webkit-appearance: button;
}

output {
  display: inline-block;
}

@media not all and (max-width: 767px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
summary {
  pointer-events: none;
  list-style: none;
}
summary::-webkit-details-marker {
  display: none;
}

/* -------------------------------------------*/
@-webkit-keyframes circlemove {
  0% {
    bottom: 2.5rem;
  }
  100% {
    bottom: -4.6rem;
  }
}
@keyframes circlemove {
  0% {
    bottom: 2.5rem;
  }
  100% {
    bottom: -4.6rem;
  }
}
@-webkit-keyframes circlemoveSp {
  0% {
    bottom: -1.6rem;
  }
  100% {
    bottom: -8.6rem;
  }
}
@keyframes circlemoveSp {
  0% {
    bottom: -1.6rem;
  }
  100% {
    bottom: -8.6rem;
  }
}
@-webkit-keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@keyframes cirlemovehide {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeInNon {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeInNon {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
@keyframes slideDown {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(0%);
  }
}
::-moz-placeholder {
  color: #D3C3B6;
  font-weight: 400;
}
::placeholder {
  color: #D3C3B6;
  font-weight: 400;
}

/**
 * input
 *
 */
input[type=text],
input[type=date],
input[type=password],
input[type=email],
input[type=time],
input[type=tel],
input[type=number] {
  font-size: 2rem;
  position: relative;
  width: 100%;
  padding: 1.5rem;
  border-radius: 1rem;
  border: 1px solid #D3C3B6;
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  input[type=text],
input[type=date],
input[type=password],
input[type=email],
input[type=time],
input[type=tel],
input[type=number] {
    padding: 1rem 1.2rem;
  }
}

input[type=number] {
  -moz-appearance: textfield;
}

/**
 * textarea
 *
 */
textarea {
  position: relative;
  width: 100%;
  font-size: 2rem;
  height: 30rem;
  padding: 1.5rem;
  border-radius: 0.8rem;
  border: 1px solid #D3C3B6;
  background-color: #fff;
  resize: none;
}
@media screen and (max-width: 767px) {
  textarea {
    font-size: 1.8rem;
    padding: 1rem 1.2rem;
    height: 22.6rem;
  }
}

input[type=text]:disabled {
  background: transparent;
  cursor: not-allowed;
}
input[type=text]:disabled::-moz-placeholder {
  color: #05A864;
  opacity: 1;
}
input[type=text]:disabled::placeholder {
  color: #05A864;
  opacity: 1;
}

/**
 * radio
 *
 */
input[type=radio] {
  display: none;
  vertical-align: middle;
}

.radio-lb {
  font-size: 2.4rem;
  position: relative;
  display: inline-block;
  padding: 0 0 0 2.8rem;
  transition: 0.5;
  transition-property: color;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .radio-lb {
    font-size: 1.6rem;
  }
}

.radio-lb::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 2rem;
  height: 2rem;
  transform: translateY(-50%);
  border: 2px solid #6A513E;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 50%;
  z-index: 2;
}

.radio-lb::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0.5rem;
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background-color: #6A513E;
  transition: 0.3s;
  transition-property: color;
  opacity: 0;
  z-index: 3;
}

.radio-lb:has(input[type=radio]:checked)::after {
  opacity: 1;
}

/**
 * checkbox
 *
 */
input[type=checkbox] {
  display: none;
  vertical-align: middle;
}

input[type=checkbox] + label {
  color: #6A513E;
  position: relative;
  display: inline-block;
  padding: 0 0 0 3.6rem;
  transition: 0.5;
  transition-property: color;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  input[type=checkbox] + label {
    padding-left: 3.2rem;
  }
}

input[type=checkbox] + label::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 2.8rem;
  height: 2.8rem;
  transform: translateY(-50%);
  border: 3px solid #6A513E;
  background-color: #fff;
  box-sizing: border-box;
  border-radius: 0.2rem;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  input[type=checkbox] + label::before {
    width: 2.4rem;
    height: 2.4rem;
    border-width: 2px;
  }
}

input[type=checkbox] + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 10px;
  left: 5px;
  width: 18px;
  height: 11px;
  border-left: 3px solid #05A864;
  border-bottom: 3px solid #05A864;
  transform: rotate(-45deg);
  transition: 0.3s;
  transition-property: color;
  opacity: 0;
  z-index: 3;
}
@media screen and (max-width: 767px) {
  input[type=checkbox] + label::after {
    border-width: 2px;
    top: 7px;
    left: 4px;
    width: 16px;
    height: 9px;
    top: 46%;
    transform: translateY(-50%) rotate(-45deg);
  }
}

input[type=checkbox]:checked + label::after {
  opacity: 1;
}

/**
 * select
 *
 */
.select-parts {
  position: relative;
  width: 100%;
  border: 1px #05A864 solid;
  border-radius: 5px;
  overflow: hidden;
}
.select-parts::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 15px;
  height: 10px;
  margin-top: 2px;
  background: url(../img/contact/select_arrow.png) no-repeat top center/contain;
  pointer-events: none;
  z-index: 5;
}
.select-parts select {
  position: relative;
  width: 100%;
  height: 45px;
  padding: 0 20px 0 15px;
  background: #fbefe3;
  color: #7f7f7f;
  font-size: 2rem;
  letter-spacing: 0.1em;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  border: none;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  text-align: center;
}

/**
 * file
 *
 */
input[type=file] + label {
  width: 160px;
  margin: 0 10px 0 0;
  padding: 15px 0;
}
input[type=file] + label:after {
  left: 170px;
}

/* -------------------------------------------*/
/* -------------------------------------------*/
.l-cta {
  background-color: #FCF5E4;
  padding-block: 3.2rem 8rem;
}
@media screen and (max-width: 767px) {
  .l-cta {
    padding-bottom: 4rem;
  }
}

.l-cta__btn {
  width: 60rem;
  margin-inline: auto;
  position: relative;
}
@media screen and (max-width: 767px) {
  .l-cta__btn {
    width: 33.5rem;
  }
}
.l-cta__btn::before {
  content: "";
  display: block;
  width: 11.8rem;
  aspect-ratio: 118/137;
  background: url(../images/top/cta-figure.png) no-repeat center/contain;
  margin-inline: auto 5.1rem;
}
@media screen and (max-width: 767px) {
  .l-cta__btn::before {
    width: 9rem;
    margin-right: 2rem;
  }
}
.l-cta__btn .c-btn {
  width: 100%;
  margin-top: -3.4rem;
  gap: 7.3rem;
  padding: 1.9rem;
}
@media screen and (max-width: 767px) {
  .l-cta__btn .c-btn {
    gap: 3.2rem;
  }
}
.l-cta__btn .c-btn .text {
  font-size: 3rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .l-cta__btn .c-btn .text {
    font-size: 2.2rem;
  }
}
.l-cta__btn .c-btn .icon {
  width: 6rem;
}
@media screen and (max-width: 767px) {
  .l-cta__btn .c-btn .icon {
    width: 3rem;
  }
}
.l-cta__btn .c-btn .icon img {
  max-width: 4rem;
}
@media (hover: hover) and (pointer: fine) {
  .l-cta__btn .c-btn:hover {
    border-color: #05A864;
  }
}

.l-cta__text {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.14em;
  line-height: 1.4666666667;
  position: absolute;
  top: 3.4rem;
  left: 8rem;
}
@media screen and (max-width: 767px) {
  .l-cta__text {
    font-size: 1.8rem;
    top: 2.4rem;
    left: 2.4rem;
  }
}

/* -------------------------------------------*/
.l-main {
  position: relative;
  width: 100%;
  padding-top: 12rem;
}
@media screen and (max-width: 1200px) {
  .l-main {
    padding-top: 9.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .l-main {
    padding-top: 9rem;
  }
}
@media screen and (max-width: 767px) {
  .l-main {
    padding-top: 5.4rem;
  }
}
.l-main.--confirm {
  padding-block: 14rem 10rem;
}
@media screen and (max-width: 1023px) {
  .l-main.--confirm {
    padding-top: 12rem;
  }
}
@media screen and (max-width: 767px) {
  .l-main.--confirm {
    padding-block: 7rem 6rem;
  }
}
.l-main--privacy {
  padding-block: 18rem 10rem;
}
@media screen and (max-width: 767px) {
  .l-main--privacy {
    padding-block: 8rem 6rem;
  }
}
.l-main__h2 {
  font-size: 2.4rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .l-main__h2 {
    font-size: 2.2rem;
  }
}
.l-main__h2 + * {
  margin-top: 1.2rem;
}
.l-main__h3 {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .l-main__h3 {
    font-size: 1.8rem;
  }
}
.l-main__text {
  font-size: 1.8rem;
  line-height: 2.1111111111;
}
@media screen and (max-width: 767px) {
  .l-main__text {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.l-main__list {
  font-size: 1.8rem;
  line-height: 2.1111111111;
}
@media screen and (max-width: 767px) {
  .l-main__list {
    font-size: 1.6rem;
    line-height: 1.75;
  }
}
.l-main__list li {
  text-indent: -1.4rem;
  padding-left: 1.4rem;
}
@media screen and (max-width: 767px) {
  .l-main__list li {
    text-indent: -1.1rem;
    padding-left: 1.1rem;
  }
}
.l-main__table {
  max-width: 60rem;
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #ddd;
}
.l-main__table th,
.l-main__table td {
  font-size: 1.8rem;
  line-height: 2.1111111111;
  padding: 1rem 1.6rem;
  border-bottom: 1px solid #ddd;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .l-main__table th,
.l-main__table td {
    font-size: 1.6rem;
    line-height: 1.75;
    padding: 1rem;
  }
}
.l-main__table th {
  font-weight: 600;
}
.l-main__table thead th {
  font-weight: 700;
  text-align: center;
}
.l-main__table td {
  text-align: center;
}
.l-main__text + *, .l-main__list + *, .l-main__table + * {
  margin-top: 4rem;
}
.l-main__text + *.l-main__text, .l-main__text + *.l-main__list, .l-main__text + *.l-main__table, .l-main__text + *.l-main__address, .l-main__list + *.l-main__text, .l-main__list + *.l-main__list, .l-main__list + *.l-main__table, .l-main__list + *.l-main__address, .l-main__table + *.l-main__text, .l-main__table + *.l-main__list, .l-main__table + *.l-main__table, .l-main__table + *.l-main__address {
  margin-top: 1.6rem;
}
.l-main__address {
  border: 1px solid #6A513E;
  padding: 2rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-main__address-title {
  font-size: 2rem;
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  .l-main__address-title {
    font-size: 1.8rem;
  }
}
.l-main__address-title + * {
  margin-top: 0.8rem;
}
.l-main__address + * {
  margin-top: 3rem;
  line-height: 1.5;
}

.l-main--404,
.l-main.--error {
  padding-block: 24rem 14rem;
}
@media screen and (max-width: 767px) {
  .l-main--404,
.l-main.--error {
    padding-block: 12rem 8rem;
  }
}
.l-main--404 .error-h1,
.l-main.--error .error-h1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: bold;
}
.l-main--404 .error-h1 .en,
.l-main.--error .error-h1 .en {
  font-size: 8rem;
  color: #05A864;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .l-main--404 .error-h1 .en,
.l-main.--error .error-h1 .en {
    font-size: 4rem;
  }
}
.l-main--404 .error-h1 .jp,
.l-main.--error .error-h1 .jp {
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .l-main--404 .error-h1 .jp,
.l-main.--error .error-h1 .jp {
    font-size: 1.6rem;
  }
}
.l-main--404 .error-h1 + *,
.l-main.--error .error-h1 + * {
  margin-top: 4rem;
}
.l-main--404 .error-text,
.l-main.--error .error-text {
  text-align: center;
  font-size: 1.8rem;
  line-height: 2.1111111111;
}
@media screen and (max-width: 767px) {
  .l-main--404 .error-text,
.l-main.--error .error-text {
    font-size: 1.6rem;
    line-height: 1.875;
    text-align: left;
  }
}
.l-main--404 .error-text.--center,
.l-main.--error .error-text.--center {
  text-align: center;
}
.l-main--404 .error-link,
.l-main.--error .error-link {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .l-main--404 .error-link,
.l-main.--error .error-link {
    margin-top: 4rem;
  }
}
.l-main--404 .error-link .c-btn,
.l-main.--error .error-link .c-btn {
  margin-inline: auto;
  width: 33rem;
  justify-content: center;
  padding: 1.5rem;
}
@media screen and (max-width: 767px) {
  .l-main--404 .error-link .c-btn,
.l-main.--error .error-link .c-btn {
    width: 28rem;
    padding: 0.9rem;
  }
}
.l-main--404 .error-link .c-btn .text,
.l-main.--error .error-link .c-btn .text {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .l-main--404 .error-link .c-btn .text,
.l-main.--error .error-link .c-btn .text {
    font-size: 1.6rem;
  }
}

/* -------------------------------------------*/
body.--scrolled .l-header {
  box-shadow: 0px 0px 2rem 0px rgba(211, 195, 182, 0.25);
}

.l-header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  padding-inline: 3rem;
  background-color: #FCFAF7;
  transition: all 0.4s;
}
@media screen and (max-width: 767px) {
  .l-header {
    padding-inline: 1.6rem;
  }
}

.l-header__inner {
  max-width: 1200px;
  margin-inline: auto;
  padding-block: 3rem;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1200px) {
  .l-header__inner {
    padding-block: 1.5rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__inner {
    padding-block: 1.2rem;
  }
}

.l-header__logo {
  width: 57.3rem;
}
@media screen and (max-width: 767px) {
  .l-header__logo {
    width: 28.3rem;
  }
}
.l-header__logo a {
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .l-header__logo a {
    transition: 0.3s;
    transition-property: opacity;
  }
  .l-header__logo a:hover {
    opacity: 0.7;
  }
}

.l-header__btn-wrap {
  gap: 2rem;
}
@media screen and (max-width: 1023px) {
  .l-header__btn-wrap {
    flex-direction: column;
    position: fixed;
    top: 15rem;
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-header__btn-wrap {
    width: 100%;
    top: auto;
    bottom: 0;
    flex-direction: row;
    gap: 0;
    box-shadow: 0px 0px 2rem 0px rgba(42, 32, 24, 0.15);
  }
}

@media screen and (max-width: 1023px) {
  .l-header__btn.c-btn {
    min-width: auto;
    writing-mode: vertical-lr;
    border-radius: 1rem 0 0 1rem;
    padding-block: 0.8rem;
    padding-inline: 1.2rem;
    gap: 1rem;
  }
}
@media screen and (max-width: 767px) {
  .l-header__btn.c-btn {
    width: 50%;
    writing-mode: initial;
    border-radius: 0;
    justify-content: center;
    padding-block: 1.2rem;
  }
}
@media screen and (max-width: 1023px) {
  .l-header__btn.c-btn .text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 1023px) {
  .l-header__btn.c-btn .icon {
    width: 3rem;
  }
}

/* -------------------------------------------*/
.l-footer {
  background-color: #05A864;
  color: #fff;
  padding-block: 4.7rem 6rem;
}
@media screen and (max-width: 1023px) {
  .l-footer {
    padding-bottom: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer {
    padding-block: 3.2rem 7.2rem;
  }
}

.l-footer__top {
  align-items: flex-start;
  justify-content: space-between;
}

.l-footer__logo {
  display: block;
  font-weight: bold;
  font-size: 3rem;
  letter-spacing: -0.02em;
  line-height: 1.4666666667;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer__logo {
    font-size: 2.6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__logo {
    transition: 0.3s;
    transition-property: opacity;
  }
  .l-footer__logo:hover {
    opacity: 0.8;
  }
}

.l-footer__address {
  margin-top: -1.6rem;
  display: flex;
  align-items: flex-end;
  gap: 0 2.8rem;
  pointer-events: none;
}
@media screen and (max-width: 1023px) {
  .l-footer__address {
    margin-top: 1.6rem;
    flex-direction: column;
    align-items: flex-start;
  }
}
.l-footer__address .address {
  font-size: 2rem;
  letter-spacing: 0.04em;
  line-height: 1.45;
  padding-bottom: 0.7rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__address .address {
    padding-bottom: 0;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__address .address {
    font-size: 1.8rem;
  }
}
.l-footer__address .address span {
  display: inline-block;
}
.l-footer__address .tel {
  font-size: 2.5rem;
  letter-spacing: 0.03em;
  line-height: 1.44;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .l-footer__address .tel {
    font-size: 2rem;
  }
}
.l-footer__address .tel .num {
  font-size: 4.5rem;
  letter-spacing: 0.045em;
  line-height: 1.4444444444;
  padding-left: 0.3rem;
}
@media screen and (max-width: 767px) {
  .l-footer__address .tel .num {
    font-size: 4rem;
  }
}

.l-footer__sns {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .l-footer__sns {
    width: 100%;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__sns + * {
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 1023px) {
  .l-footer__sns-link {
    width: 6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__sns-link {
    transition: 0.3s;
    transition-property: opacity;
  }
  .l-footer__sns-link:hover {
    opacity: 0.8;
  }
}

.l-footer__body {
  gap: 2.4rem 6.9rem;
  margin-top: 1.9rem;
}
@media screen and (max-width: 1023px) {
  .l-footer__body {
    margin-top: 2.4rem;
  }
}

.l-footer__dt {
  font-size: 1.8rem;
  line-height: 1.5;
  text-align: center;
  border: 0.15rem solid #fff;
  border-radius: 5rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 11rem;
}
.l-footer__dt + * {
  margin-top: 0.6rem;
}

.l-footer__dd {
  font-size: 2rem;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .l-footer__dd {
    font-size: 1.8rem;
  }
}
.l-footer__dd + .--small {
  margin-top: 0.5rem;
}
.l-footer__dd.--small {
  font-size: 1.8rem;
  line-height: 1.3888888889;
}
.l-footer__dd .left {
  margin-left: -0.5em;
}

.l-footer__bottom {
  margin-top: 2.7rem;
  border-top: 1px solid #fff;
  padding-top: 2.2rem;
  justify-content: space-between;
}
@media screen and (max-width: 1023px) {
  .l-footer__bottom {
    gap: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__bottom {
    padding-top: 1.6rem;
  }
}

.l-footer__bottom-li {
  font-size: 1.8rem;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .l-footer__bottom-li {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1023px) {
  .l-footer__bottom-right {
    width: 100%;
  }
}

.l-footer__privacy {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  font-size: 1.8rem;
  line-height: 1.6666666667;
  color: #fff;
}
@media screen and (max-width: 1023px) {
  .l-footer__privacy {
    margin-right: auto;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-footer__privacy {
    transition: 0.3s;
    transition-property: opacity;
  }
  .l-footer__privacy:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 1023px) {
  .l-footer__privacy + * {
    margin-top: 1.6rem;
  }
}

.l-footer__privacy,
.l-footer__copy {
  font-size: 1.8rem;
  line-height: 1.6666666667;
}
@media screen and (max-width: 767px) {
  .l-footer__privacy,
.l-footer__copy {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 1023px) {
  .l-footer__copy {
    text-align: center;
  }
}
@media screen and (max-width: 767px) {
  .l-footer__copy {
    font-size: 1.4rem;
  }
}

/* -------------------------------------------*/
.l-grid {
  display: flex;
  flex-wrap: wrap;
}

/* layout
-------------------------------------------------------*/
.l-form {
  display: flex;
  flex-direction: column;
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  .l-form {
    gap: 1.6rem;
  }
}

.l-form__item {
  display: flex;
  align-items: center;
  gap: 1.2rem 6.2rem;
}
@media screen and (max-width: 1023px) {
  .l-form__item {
    flex-direction: column;
    align-items: flex-start;
  }
}
.l-form__item.--textarea {
  align-items: flex-start;
}
.l-form__item.--textarea .label {
  padding-top: 3.3rem;
}
@media screen and (max-width: 1023px) {
  .l-form__item.--textarea .label {
    padding-top: 0;
  }
}
.l-form__item .label {
  width: 27.5rem;
  font-weight: 600;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.4583333333;
  display: flex;
  align-items: center;
  gap: 0.4rem 1rem;
}
@media screen and (max-width: 767px) {
  .l-form__item .label {
    font-size: 2rem;
  }
}
.l-form__item .label .required {
  display: block;
  width: 5.1rem;
  text-align: center;
  font-size: 1.4rem;
  letter-spacing: 0.02em;
  line-height: 2.1428571429;
  color: #fff;
  background-color: #FFBCBC;
  border-radius: 1rem;
}
.l-form__item .input {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .l-form__item .input {
    width: 100%;
  }
}
.l-form__item .input.--name {
  display: flex;
  gap: 4.5rem;
}
@media screen and (max-width: 767px) {
  .l-form__item .input.--name {
    gap: 1.2rem;
  }
}
.l-form__item .input.--name .label {
  width: calc(50% - 2.25rem);
}
@media screen and (max-width: 767px) {
  .l-form__item .input.--name .label {
    width: calc(50% - 0.6rem);
    font-size: 1.8rem;
  }
}
.l-form__item .input.--name input {
  margin-left: 1.6rem;
}
@media screen and (max-width: 767px) {
  .l-form__item .input.--name input {
    margin-left: 0;
  }
}

.l-form__btn--wrap.c-btn {
  width: 38.4rem;
  margin-inline: auto;
  margin-top: 5.6rem;
  padding: 0;
  transition: all 0.3s;
  background-color: #05A864;
  border-width: 2px;
  cursor: not-allowed;
}
@media screen and (max-width: 767px) {
  .l-form__btn--wrap.c-btn {
    width: 100%;
    max-width: 40rem;
    margin-top: 3.2rem;
  }
}
.l-form__btn--wrap.c-btn.back input {
  color: #05A864;
}
@media (hover: hover) and (pointer: fine) {
  .l-form__btn--wrap.c-btn.back {
    transition: 0.3s;
    transition-property: background-color, color, border-color;
  }
  .l-form__btn--wrap.c-btn.back input {
    transition: 0.3s;
    transition-property: background-color, color;
  }
  .l-form__btn--wrap.c-btn.back:hover {
    background-color: #05A864;
    color: #fff;
    border-color: #05A864;
  }
  .l-form__btn--wrap.c-btn.back:hover input {
    color: #fff;
  }
}
@media (hover: hover) and (pointer: fine) {
  .l-form__btn--wrap.c-btn {
    transition: 0.3s;
    transition-property: background-color, color, border-color;
  }
  .l-form__btn--wrap.c-btn input {
    transition: 0.3s;
    transition-property: background-color, color;
  }
  .l-form__btn--wrap.c-btn:hover {
    background-color: #fff;
    color: #05A864;
    border-color: #05A864;
  }
  .l-form__btn--wrap.c-btn:hover input {
    color: #05A864;
  }
}
.l-form__btn--wrap.c-btn input {
  width: 38.4rem;
  font-size: 2.4rem;
  font-weight: bold;
  cursor: pointer;
  color: #fff;
  padding-block: 2.4rem;
}
@media screen and (max-width: 767px) {
  .l-form__btn--wrap.c-btn input {
    width: 100%;
    font-size: 2rem;
    padding-block: 1.6rem;
  }
}
.l-form__btn--wrap.c-btn input:disabled {
  cursor: not-allowed;
}

.l-form-confirm .formTable {
  width: 100%;
}
.l-form-confirm tr {
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  text-align: left;
}
.l-form-confirm tr:first-child::before {
  content: "お名前";
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .l-form-confirm tr:first-child::before {
    font-size: 2rem;
  }
}
.l-form-confirm tr:first-child th {
  display: none;
}
.l-form-confirm tr:first-child td {
  padding-bottom: 0;
  border-bottom: none;
}
.l-form-confirm tr:nth-child(2) {
  margin-top: 0;
}
.l-form-confirm tr:nth-child(2) th {
  display: none;
}
.l-form-confirm tr + tr {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .l-form-confirm tr + tr {
    margin-top: 1.6rem;
  }
}
.l-form-confirm th {
  font-size: 2.4rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .l-form-confirm th {
    font-size: 2rem;
  }
}
.l-form-confirm td {
  font-size: 2rem;
  padding-block: 1.6rem;
  padding-inline: 1.6rem 2.4rem;
  border-bottom: 1px solid #D3C3B6;
}
@media screen and (max-width: 767px) {
  .l-form-confirm td {
    font-size: 1.8rem;
    padding: 0.8rem;
  }
}

.l-form-confirm__btn-box {
  margin-top: 5.6rem;
  display: flex;
  justify-content: center;
  gap: 1.6rem 4rem;
}
@media screen and (max-width: 1023px) {
  .l-form-confirm__btn-box {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .l-form-confirm__btn-box {
    margin-top: 3.2rem;
  }
}
.l-form-confirm__btn-box .l-form__btn--wrap.c-btn {
  margin: 0;
}

/* -------------------------------------------*/
.l-faq__box {
  border: 1px solid #D3C3B6;
  border-radius: 2rem;
  padding-block: 4rem;
}
@media screen and (max-width: 1023px) {
  .l-faq__box {
    padding-inline: 3rem;
  }
}
@media screen and (max-width: 767px) {
  .l-faq__box {
    border-radius: 1rem;
    padding: 2.4rem 1.6rem;
  }
}
.l-faq__box + .l-faq__box {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .l-faq__box + .l-faq__box {
    margin-top: 1.6rem;
  }
}

.l-faq__question,
.l-faq__answer {
  max-width: 76rem;
  margin-inline: auto;
  display: flex;
  align-items: flex-start;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .l-faq__question,
.l-faq__answer {
    gap: 1.2rem;
  }
}
.l-faq__question::before,
.l-faq__answer::before {
  content: "";
  display: block;
  width: 5rem;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .l-faq__question::before,
.l-faq__answer::before {
    width: 3.6rem;
  }
}

.l-faq__question-text,
.l-faq__answer-inner {
  flex: 1;
  min-height: 5rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .l-faq__question-text,
.l-faq__answer-inner {
    min-height: 3.6rem;
  }
}

.l-faq__question::before {
  background-image: url(../images/icon/icon_question.svg);
}

.l-faq__question-text {
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.4583333333;
}
@media screen and (max-width: 1023px) {
  .l-faq__question-text {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .l-faq__question-text {
    font-size: 1.8rem;
  }
}

.l-faq__answer {
  padding-top: 2rem;
}
.l-faq__answer::before {
  background-image: url(../images/icon/icon_answer.svg);
}

.l-faq__answer-inner {
  font-size: 1.8rem;
  line-height: 2;
}

/* -------------------------------------------*/
/* -------------------------------------------*/
.c-btn {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 22rem;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 1.6rem;
  background-color: #05A864;
  padding: 0.9rem;
  border-radius: 5rem;
  position: relative;
  border: 1px solid #05A864;
  color: #fff;
  cursor: pointer;
}
.c-btn.--white {
  background-color: #fff;
  color: #05A864;
  border-color: #EBEBEB;
}
.c-btn.--white .icon {
  background-color: #05A864;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn.--white {
    transition: 0.3s;
    transition-property: background-color, color, border-color;
  }
  .c-btn.--white:hover {
    background-color: #05A864;
    color: #fff;
    border-color: #05A864;
  }
}
.c-btn .text {
  font-size: 1.8rem;
  font-weight: bold;
}
.c-btn .text span {
  display: inline-block;
}
.c-btn .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
}
.c-btn .icon img {
  display: block;
  width: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .c-btn {
    transition: 0.3s;
    transition-property: background-color, color, border-color;
  }
  .c-btn:hover {
    background-color: #fff;
    color: #05A864;
    border-color: #EBEBEB;
  }
}

/* -------------------------------------------*/
.c-primary-title {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto;
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.14em;
  line-height: 1.4444444444;
  text-align: center;
  color: #05A864;
  position: relative;
}
@media screen and (max-width: 1023px) {
  .c-primary-title {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .c-primary-title {
    font-size: 2.4rem;
  }
}
.c-primary-title::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.c-primary-title span {
  display: inline-block;
}
.c-primary-title + * {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .c-primary-title + * {
    margin-top: 2.4rem;
  }
}

/* -------------------------------------------*/
.c-secondary-title {
  font-weight: 700;
  font-size: 2.7rem;
  letter-spacing: 0.05em;
  line-height: 1.4444444444;
  color: #05A864;
}
@media screen and (max-width: 767px) {
  .c-secondary-title {
    font-size: 2rem;
  }
}
.c-secondary-title.--center {
  text-align: center;
}
.c-secondary-title .left {
  margin-left: -0.4em;
}
.c-secondary-title::before {
  content: "";
  display: inline-block;
  width: 2.4rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 0.5rem solid #FDE67C;
}
@media screen and (max-width: 767px) {
  .c-secondary-title::before {
    width: 1.8rem;
    position: relative;
    top: 0.1rem;
  }
}
.c-secondary-title + * {
  margin-top: 2.4rem;
}

/* -------------------------------------------*/
.c-zoom {
  padding-block: 30px;
  padding-block: 3rem;
  background-color: rgba(0, 0, 0, 0.6);
  display: none;
  height: 100vh;
  left: 0;
  overflow: scroll;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 100;
}

.js-zoom {
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .js-zoom {
    transition: 0.3s;
    transition-property: opacity;
  }
  .js-zoom:hover {
    opacity: 0.8;
  }
}

.c-zoom-wrap {
  display: contents;
}

.c-zoom-content {
  gap: 6px;
  gap: 0.6rem;
  align-items: center;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  transform: scale(1);
}

.c-zoom-content__text {
  color: #fff;
  content: "画面をクリックorタップで閉じます";
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}

.c-zoom-image__wrap {
  background-color: #fff;
}
@media screen and (max-width: 767px) {
  .c-zoom-image__wrap {
    padding: 1rem;
  }
}
.c-zoom-image img {
  height: 100%;
  width: auto;
}
@media screen and (max-width: 767px) {
  .c-zoom-image img {
    width: 100%;
    height: auto;
  }
}
.c-zoom-image img.active {
  -webkit-animation: zoom 0.3s ease-out;
  animation: zoom 0.3s ease-out;
}

@media screen and (max-width: 767px) {
  .c-zoom-icon {
    width: 3rem;
  }
}
.c-zoom-icon img {
  width: 100%;
}

/* -------------------------------------------*/
/* -------------------------------------------*/
.u-db {
  display: block;
}

.u-dn {
  display: none;
}

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

@media not all and (max-width: 1023px) {
  .u-st {
    display: none !important;
  }
}

@media not all and (max-width: 767px) {
  .u-pt {
    display: none !important;
  }
}

@media screen and (max-width: 767px) {
  .u-sp {
    display: none !important;
  }
}

.u-con--sm {
  width: 100%;
  max-width: 108rem;
  margin-inline: auto;
  padding-inline: 8rem;
}
@media screen and (max-width: 767px) {
  .u-con--sm {
    max-width: 55rem;
    padding-inline: 2rem;
  }
}

.u-con--md {
  width: 100%;
  max-width: 120rem;
  margin-inline: auto;
  padding-inline: 6rem;
}
@media screen and (max-width: 767px) {
  .u-con--md {
    max-width: 55rem;
    padding-inline: 2rem;
  }
}

.u-con--lg {
  max-width: 128rem;
  margin-inline: auto;
  padding-inline: 4rem;
}
@media screen and (max-width: 767px) {
  .u-con--lg {
    max-width: 65rem;
    padding-inline: 1.6rem;
  }
}

/* -------------------------------------------*/
/* -------------------------------------------*/
.p-top__text {
  font-size: 1.8rem;
  line-height: 2.1111111111;
}
@media screen and (max-width: 767px) {
  .p-top__text {
    font-size: 1.7rem;
    line-height: 1.875;
  }
}
.p-top__text.--box {
  margin-inline: auto;
}
.p-top__text.--center {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top__text.--center {
    text-align: left;
  }
}
.p-top__text + .p-top__text {
  margin-top: 3.8rem;
}
@media screen and (max-width: 767px) {
  .p-top__text + .p-top__text {
    margin-top: 1.6rem;
  }
}

.p-top__li {
  margin-inline: auto;
}
.p-top__li.--center {
  text-align: center;
}
.p-top__li.--line .p-top__li-item span {
  background: linear-gradient(to bottom, transparent 0%, transparent 1em, rgba(5, 168, 100, 0.15) 1em, rgba(5, 168, 100, 0.15) 100%);
}
.p-top__li + * {
  margin-top: 3.8rem;
}
@media screen and (max-width: 767px) {
  .p-top__li + * {
    margin-top: 1.6rem;
  }
}

.p-top__li-item {
  font-size: 1.8rem;
  line-height: 2.1111111111;
}
@media screen and (max-width: 767px) {
  .p-top__li-item {
    font-size: 1.7rem;
    line-height: 1.625;
  }
}
.p-top__li-item .bold {
  font-weight: 700;
}
.p-top__li-item + .p-top__li-item {
  margin-top: 0.4rem;
}
@media screen and (max-width: 767px) {
  .p-top__li-item + .p-top__li-item {
    margin-top: 1rem;
  }
}

.p-top__body {
  border-radius: 2rem;
  background-color: #fff;
  padding-block: 6rem 8rem;
}
@media screen and (max-width: 767px) {
  .p-top__body {
    border-radius: 1.6rem;
    padding-block: 3.2rem;
  }
}

/* -------------------------------------------*/
.p-top-mv {
  padding-inline: 6rem;
}
@media screen and (max-width: 767px) {
  .p-top-mv {
    padding-inline: 2rem;
  }
}

.p-top-mv__body {
  max-width: 120rem;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 4rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-mv__body {
    border-radius: 2.4rem;
  }
}
.p-top-mv__body .u-con--md {
  position: relative;
  z-index: 1;
  padding-block: 4.7rem 6rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__body .u-con--md {
    max-width: 100%;
    padding-inline: 2.4rem;
    padding-bottom: 14rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__body .u-con--md {
    padding-block: max(3.2rem, 8.53vw) max(4rem, 10.67vw);
    padding-inline: 1.6rem;
  }
}

.p-top-mv__heading,
.p-top-mv__lead {
  font-weight: 700;
  color: #05A864;
}

.p-top-mv__heading {
  font-size: 4rem;
  letter-spacing: 0.14em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  .p-top-mv__heading {
    font-size: 3rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__heading {
    font-size: max(3rem, 8vw);
  }
}
.p-top-mv__heading + * {
  margin-top: 1.1rem;
}
@media screen and (max-width: 540px) {
  .p-top-mv__heading + * {
    margin-top: max(1.1rem, 3.2vw);
  }
}

.p-top-mv__lead {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.4583333333;
}
@media screen and (max-width: 767px) {
  .p-top-mv__lead {
    font-size: 2rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__lead {
    font-size: max(2rem, 5.33vw);
  }
}
.p-top-mv__lead span {
  display: inline-block;
}
.p-top-mv__lead + * {
  margin-top: 4.3rem;
}
@media screen and (max-width: 540px) {
  .p-top-mv__lead + * {
    margin-top: max(5.6rem, 14.93vw);
  }
}

.p-top-mv__text {
  font-size: 2.4rem;
  letter-spacing: 0.04em;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-mv__text {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__text {
    font-size: max(1.6rem, 4.27vw);
  }
}
.p-top-mv__text .br-sp {
  display: none;
}
@media screen and (max-width: 540px) {
  .p-top-mv__text .br-sp {
    display: block;
  }
}
.p-top-mv__text span {
  display: inline-block;
}
.p-top-mv__text + * {
  margin-top: 3.5rem;
}
@media screen and (max-width: 540px) {
  .p-top-mv__text + * {
    margin-top: max(2.4rem, 6.4vw);
  }
}

.p-top-mv__btn .c-btn {
  width: 40rem;
  gap: 3.7rem;
  padding: 1.9rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__btn .c-btn {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    gap: 1.6rem;
    padding: 0.9rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__btn .c-btn {
    gap: max(1.6rem, 4.27vw);
    padding: max(0.9rem, 2.4vw);
  }
}
.p-top-mv__btn .c-btn .text {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__btn .c-btn .text {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__btn .c-btn .text {
    font-size: max(1.8rem, 4.8vw);
  }
}
.p-top-mv__btn .c-btn .icon {
  width: 6rem;
}
@media screen and (max-width: 1023px) {
  .p-top-mv__btn .c-btn .icon {
    width: 4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-mv__btn .c-btn .icon {
    width: 3rem;
  }
}
@media screen and (max-width: 540px) {
  .p-top-mv__btn .c-btn .icon {
    width: max(3rem, 8vw);
  }
}
.p-top-mv__btn .c-btn .icon img {
  max-width: 4rem;
}
@media (hover: hover) and (pointer: fine) {
  .p-top-mv__btn .c-btn:hover {
    border-color: #05A864;
  }
}

.p-top-mv__image {
  width: 56.6666666667%;
  position: absolute;
  right: 0;
  bottom: 0;
}
@media screen and (max-width: 540px) {
  .p-top-mv__image {
    width: 61.0561056106%;
    bottom: max(18rem, 48vw);
  }
}

/* -------------------------------------------*/
.p-top-head {
  padding-top: 4rem;
}

.p-top-head__li {
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  .p-top-head__li {
    justify-content: center;
    gap: 1.6rem;
  }
}
.p-top-head__li + * {
  margin-top: 9.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-head__li + * {
    margin-top: 4.8rem;
  }
}

.p-top-head__li-item {
  width: calc(33.3333333333% - 4rem);
}
@media screen and (max-width: 767px) {
  .p-top-head__li-item {
    width: calc(50% - 0.8rem);
  }
}

.p-top-head__li-image {
  border-radius: 1rem;
  overflow: hidden;
}
.p-top-head__li-image img {
  width: 100%;
}
.p-top-head__li-image + * {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-head__li-image + * {
    margin-top: 0.8rem;
  }
}

.p-top-head__text {
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: 0.02em;
  line-height: 1.5909090909;
  text-align: center;
  color: #05A864;
  min-height: 7rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 1200px) {
  .p-top-head__text {
    font-size: 1.78rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-head__text {
    font-size: 1.65rem;
    line-height: 1.625;
    min-height: auto;
  }
}
.p-top-head__text span {
  display: inline-block;
}

.p-top-head__lead {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  white-space: nowrap;
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.14em;
  line-height: 1.4444444444;
  text-align: center;
  color: #05A864;
  padding-block: 0.8rem 1.5rem;
}
@media screen and (max-width: 1023px) {
  .p-top-head__lead {
    width: 100%;
    padding-top: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-head__lead {
    font-size: 2rem;
  }
}
.p-top-head__lead .bg {
  position: relative;
}
.p-top-head__lead .bg::before {
  content: "";
  display: block;
  width: 40.6rem;
  aspect-ratio: 407/75;
  background: url(../images/top/head-lead-bg.svg) no-repeat center/contain;
  position: absolute;
  top: -0.8rem;
  left: -0.8em;
  z-index: -1;
}
@media screen and (max-width: 1023px) {
  .p-top-head__lead .bg::before {
    width: 38.6rem;
    top: -0.6rem;
    left: -0.5em;
  }
}
@media screen and (max-width: 767px) {
  .p-top-head__lead .bg::before {
    width: 22rem;
    top: -0.4rem;
    left: -0.6em;
  }
}

.p-top-head__body {
  margin-top: 5.6rem;
  padding-block: 10rem 8rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-head__body {
    padding-block: 8rem 6rem;
  }
}
.p-top-head__body::before {
  content: "";
  -webkit-mask: url(../images/top/head-path.svg) no-repeat top center/100%;
          mask: url(../images/top/head-path.svg) no-repeat top center/100%;
  background: url(../images/top/head-bg.jpg) no-repeat center/cover;
  opacity: 0.1;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 767px) {
  .p-top-head__body::before {
    -webkit-mask-image: url(../images/top/head-path_sp.svg);
            mask-image: url(../images/top/head-path_sp.svg);
  }
}

.p-top-head__body-inner {
  align-items: flex-start;
  gap: 0 8rem;
}
@media screen and (max-width: 1023px) {
  .p-top-head__body-inner {
    flex-direction: column;
  }
}

.p-top-head__body-box {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .p-top-head__body-box {
    display: contents;
  }
}
.p-top-head__body-box .p-top__text {
  letter-spacing: 0.03em;
}
@media screen and (max-width: 1023px) {
  .p-top-head__body-box .p-top__text {
    order: 3;
  }
}

.p-top-head__h2 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.08em;
  line-height: 1.6111111111;
  color: #05A864;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 1023px) {
  .p-top-head__h2 {
    order: 1;
    font-size: 2.8rem;
    flex-direction: column;
    gap: 0 1.6rem;
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  .p-top-head__h2 {
    font-size: 2.4rem;
  }
}
.p-top-head__h2 .bg {
  letter-spacing: 0.03em;
  border-radius: 4rem;
  background: #fff;
  border: 2px solid #05A864;
  padding-block: 0.4rem 0.9rem;
  padding-inline: 4.4rem;
  box-shadow: 0.3rem 0.6rem 0px 0px #05A864;
}
@media screen and (max-width: 1023px) {
  .p-top-head__h2 .bg {
    padding-inline: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-head__h2 .bg {
    font-size: 2.2rem;
    padding-inline: 1.2rem;
    padding-bottom: 0.6rem;
  }
}
.p-top-head__h2 .lg {
  font-size: 4rem;
  line-height: 1.2;
}
.p-top-head__h2 + * {
  margin-top: 3.2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-head__h2 + * {
    margin-top: 1.6rem;
  }
}

.p-top-head__image {
  width: 42.5925925926%;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-head__image {
    order: 2;
    width: 90%;
    margin: 3.2rem auto 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-head__image {
    margin-top: 1.6rem;
  }
}
.p-top-head__image img {
  width: 100%;
}

/* -------------------------------------------*/
.p-top-trouble {
  padding-block: 7rem 10.5rem;
  background-color: #FCF5E4;
}
@media screen and (max-width: 767px) {
  .p-top-trouble {
    padding-block: 4rem 6rem;
  }
}

.p-top-trouble__h2 {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.14em;
  line-height: 1.4666666667;
  color: #05A864;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__h2 {
    font-size: 2.4rem;
  }
}
.p-top-trouble__h2 span {
  display: inline-block;
}
.p-top-trouble__h2 + * {
  margin-top: 5.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__h2 + * {
    margin-top: 2.4rem;
  }
}

.p-top-trouble__li {
  max-width: 92rem;
  margin-inline: auto;
  display: flex;
  flex-wrap: wrap;
  gap: 1.3rem;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__li {
    max-width: 40rem;
  }
}
.p-top-trouble__li + * {
  margin-top: 13.7rem;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__li + * {
    margin-top: 9.6rem;
  }
}
.p-top-trouble__li::after {
  content: "";
  display: block;
  width: calc(25% - 0.975rem);
  background-color: #fff;
  border-radius: 2rem;
  aspect-ratio: 1/1;
  background-image: url(../images/top/trouble-li.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__li::after {
    width: calc(50% - 0.65rem);
  }
}

.p-top-trouble__li-item {
  width: calc(25% - 0.975rem);
  background-color: #fff;
  border-radius: 2rem;
  aspect-ratio: 1/1;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__li-item {
    width: calc(50% - 0.65rem);
  }
}
.p-top-trouble__li-item .inner {
  font-weight: 700;
  font-size: 2rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-top-trouble__li-item .inner {
    font-size: 1.8rem;
  }
}
.p-top-trouble__li-item .inner .green {
  color: #05A864;
}
.p-top-trouble__li-item.--01 .bg::after {
  width: 7.2rem;
  aspect-ratio: 72/18;
  background-image: url(../images/top/trouble-li-bg01.svg);
}
.p-top-trouble__li-item.--02 .bg::after {
  width: 8.8rem;
  aspect-ratio: 88/18;
  background-image: url(../images/top/trouble-li-bg02.svg);
}
.p-top-trouble__li-item.--03 .bg::after {
  width: 13.2rem;
  aspect-ratio: 132/18;
  background-image: url(../images/top/trouble-li-bg03.svg);
}
.p-top-trouble__li-item.--04 .bg::after {
  width: 10.6rem;
  aspect-ratio: 106/18;
  background-image: url(../images/top/trouble-li-bg04.svg);
}
.p-top-trouble__li-item.--05 .bg::after {
  width: 6.7rem;
  aspect-ratio: 67/18;
  background-image: url(../images/top/trouble-li-bg05.svg);
}
.p-top-trouble__li-item.--06 .bg::after {
  width: 4.9rem;
  aspect-ratio: 49/18;
  background-image: url(../images/top/trouble-li-bg06.svg);
}
.p-top-trouble__li-item.--07 .bg::after {
  width: 8.8rem;
  aspect-ratio: 88/18;
  background-image: url(../images/top/trouble-li-bg07.svg);
}
.p-top-trouble__li-item .bg {
  position: relative;
}
.p-top-trouble__li-item .bg::after {
  content: "";
  display: block;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  position: absolute;
  left: 50%;
  bottom: -0.1em;
  transform: translateX(-50%);
  z-index: -1;
}

.p-top-trouble__body.p-top__body {
  position: relative;
  padding-block: 4.7rem 5.8rem;
}
.p-top-trouble__body.p-top__body::before {
  content: "";
  display: block;
  width: 16.5rem;
  aspect-ratio: 165/54;
  background: url(../images/top/trouble-arrow.svg) no-repeat center/contain;
  position: absolute;
  top: -3rem;
  left: 50%;
  transform: translate(-50%, -100%);
}
@media screen and (max-width: 767px) {
  .p-top-trouble__body.p-top__body::before {
    width: 12rem;
    top: -2.4rem;
  }
}
.p-top-trouble__body.p-top__body .u-con--sm {
  flex-direction: row-reverse;
  align-items: center;
  gap: 2.4rem 5rem;
}
@media screen and (max-width: 1023px) {
  .p-top-trouble__body.p-top__body .u-con--sm {
    flex-direction: column-reverse;
  }
}

.p-top-trouble__box {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .p-top-trouble__box {
    width: 100%;
  }
}

.p-top-trouble__lead {
  font-weight: 700;
  font-size: 3.3rem;
  letter-spacing: 0.1em;
  line-height: 1.3636363636;
  color: #05A864;
}
@media screen and (max-width: 1023px) {
  .p-top-trouble__lead {
    font-size: 2.8rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-trouble__lead {
    font-size: 1.9rem;
  }
}
.p-top-trouble__lead + * {
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__lead + * {
    margin-top: 0.8rem;
  }
}

.p-top-trouble__text {
  font-size: 1.9rem;
  letter-spacing: 0.02em;
  line-height: 1.9473684211;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__text {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}

.p-top-trouble__image {
  width: 37.2826086957%;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-trouble__image {
    width: 70%;
  }
}

/* -------------------------------------------*/
.p-top-feature {
  padding-block: 8rem 22rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature {
    padding-block: 6rem 8rem;
  }
}
.p-top-feature .p-top__text.--box {
  max-width: 75rem;
}
.p-top-feature .p-top__text.--box + .c-secondary-title, .p-top-feature .p-top__text.--box + .c-primary-title {
  margin-top: 4rem;
}
.p-top-feature .p-top__text.--box + .p-top-feature__flex.--02 {
  margin-top: 7.7rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top__text.--box + .p-top-feature__flex.--02 {
    margin-top: 3.2rem;
  }
}
.p-top-feature .p-top__text.--box + .p-top-feature__h4 {
  margin-top: 11.7rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top__text.--box + .p-top-feature__h4 {
    margin-top: 4rem;
  }
}
.p-top-feature .p-top__text + .p-top-feature__flex.--03 {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top__text + .p-top-feature__flex.--03 {
    margin-top: 3.2rem;
  }
}
.p-top-feature .p-top__li.--box {
  max-width: 45rem;
}
.p-top-feature .p-top__li + .p-top-feature__flex.--03 {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top__li + .p-top-feature__flex.--03 {
    margin-top: 3.2rem;
  }
}
.p-top-feature .p-top__body + .p-top__body {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top__body + .p-top__body {
    margin-top: 4.8rem;
  }
}

.p-top-feature__h2 {
  font-weight: 700;
  font-size: 3.6rem;
  letter-spacing: 0.14em;
  line-height: 1.9444444444;
  text-align: center;
  color: #05A864;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h2 {
    font-size: 2rem;
  }
}
.p-top-feature__h2 .bg {
  font-size: 6rem;
  line-height: 1.1666666667;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h2 .bg {
    font-size: 3.2rem;
  }
}
.p-top-feature__h2 .bg::after {
  content: "";
  display: block;
  width: 105.7627118644%;
  aspect-ratio: 312/25;
  background: url(../images/top/feature-title-bg.svg) no-repeat center/contain;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  z-index: -1;
}
.p-top-feature__h2 + * {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h2 + * {
    margin-top: 3.2rem;
  }
}

.p-top-feature__h3 {
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.14em;
  line-height: 1.4666666667;
  text-align: center;
  color: #05A864;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h3 {
    font-size: 2.2rem;
  }
}
.p-top-feature__h3 span {
  display: inline-block;
}
.p-top-feature__h3 + * {
  margin-top: 4.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h3 + * {
    margin-top: 2.4rem;
  }
}
.p-top-feature__h3 + .p-top-feature__lead {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h3 + .p-top-feature__lead {
    margin-top: 4rem;
  }
}
.p-top-feature__h3 + .p-top__text.--center {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h3 + .p-top__text.--center {
    margin-top: 1.6rem;
  }
}

.p-top-feature__lead,
.p-top-feature__h4 {
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.14em;
  line-height: 1.4583333333;
  text-align: center;
  color: #05A864;
}
@media screen and (max-width: 767px) {
  .p-top-feature__lead,
.p-top-feature__h4 {
    font-size: 2rem;
  }
}
.p-top-feature__lead span,
.p-top-feature__h4 span {
  display: inline-block;
}

.p-top-feature__lead + * {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__lead + * {
    margin-top: 2.4rem;
  }
}

.p-top-feature__h4 + * {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h4 + * {
    margin-top: 2.4rem;
  }
}
.p-top-feature__h4 + .p-top-feature__zoom {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__h4 + .p-top-feature__zoom {
    margin-top: 2.4rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-feature__zoom {
    position: relative;
  }
}
.p-top-feature__zoom .js-zoom {
  cursor: none;
}
@media screen and (max-width: 767px) {
  .p-top-feature__zoom .js-zoom {
    cursor: pointer;
  }
}
@media screen and (max-width: 767px) {
  .p-top-feature__zoom .c-zoom-icon {
    width: 3rem;
    position: absolute;
    right: 0;
    bottom: 0;
  }
}
.p-top-feature__zoom + .p-top__text {
  margin-top: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__zoom + .p-top__text {
    margin-top: 1.6rem;
  }
}
.p-top-feature__zoom + .p-top-feature__h4 {
  margin-top: 11.7rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__zoom + .p-top-feature__h4 {
    margin-top: 4rem;
  }
}

.p-top-feature__graph {
  max-width: 92rem;
  margin-inline: auto;
}

.p-top-feature__table img {
  width: 100%;
}

.p-top-feature__flex + * {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex + * {
    margin-top: 4rem;
  }
}

.p-top-feature__flex.--01 {
  gap: 2rem;
}
.p-top-feature__flex.--01::after {
  content: "";
  display: block;
  aspect-ratio: 530/305;
  width: calc(50% - 1rem);
  background: url(../images/top/feature-flex-image.jpg) no-repeat center/contain;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--01::after {
    width: 100%;
  }
}
.p-top-feature__flex.--01 .p-top-feature__flex-item {
  width: calc(50% - 1rem);
  border: 1px solid #D3C3B6;
  border-radius: 2rem;
  padding-block: 3rem 5rem;
  padding-inline: 4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--01 .p-top-feature__flex-item {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--01 .p-top-feature__flex-item {
    padding-block: 2rem 3.2rem;
    padding-inline: 1.6rem;
  }
}
.p-top-feature__flex.--01 .c-secondary-title {
  font-size: 2.4rem;
  line-height: 1.4583333333;
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--01 .c-secondary-title {
    font-size: 2rem;
  }
}
.p-top-feature__flex.--01 .c-secondary-title + * {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--01 .c-secondary-title + * {
    margin-top: 0.8rem;
  }
}
.p-top-feature__flex.--01 .p-top__text {
  letter-spacing: 0.04em;
}

.p-top-feature__flex.--02 {
  gap: 5rem 12rem;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--02 {
    -moz-column-gap: 3.2rem;
         column-gap: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--02 {
    row-gap: 3.2rem;
  }
}
.p-top-feature__flex.--02 .p-top-feature__flex-item {
  width: calc(50% - 6rem);
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--02 .p-top-feature__flex-item {
    width: calc(50% - 1.6rem);
  }
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--02 .p-top-feature__flex-item {
    width: 100%;
  }
}
.p-top-feature__flex.--02 .p-top-feature__h5 {
  font-weight: 700;
  font-size: 2.2rem;
  letter-spacing: 0.09em;
  line-height: 1.3636363636;
  text-align: center;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--02 .p-top-feature__h5 {
    font-size: 2rem;
  }
}
.p-top-feature__flex.--02 .p-top-feature__h5.--height {
  padding-top: 3rem;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--02 .p-top-feature__h5.--height {
    padding-top: 2.6rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--02 .p-top-feature__h5.--height {
    padding-top: 0;
  }
}
.p-top-feature__flex.--02 .p-top-feature__h5 + * {
  margin-top: 1.6rem;
}
.p-top-feature__flex.--02 .p-top-feature__image {
  border-radius: 2rem;
  overflow: hidden;
}
.p-top-feature__flex.--02 .p-top-feature__image + * {
  margin-top: 1.6rem;
}

.p-top-feature__flex.--03 {
  align-items: flex-start;
  flex-direction: row-reverse;
  gap: 0 6rem;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--03 {
    flex-direction: column;
  }
}
.p-top-feature__flex.--03 .p-top-feature__box {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--03 .p-top-feature__box {
    display: contents;
  }
}
.p-top-feature__flex.--03 .p-top-feature__h4 {
  text-align: left;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--03 .p-top-feature__h4 {
    order: 1;
  }
}
.p-top-feature__flex.--03 .p-top-feature__h4 + * {
  margin-top: 1.6rem;
}
.p-top-feature__flex.--03 .p-top__text {
  letter-spacing: 0.02em;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--03 .p-top__text {
    order: 3;
  }
}
.p-top-feature__flex.--03 .p-top-feature__image {
  width: 43.4782608696%;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-feature__flex.--03 .p-top-feature__image {
    order: 2;
    width: 100%;
    margin-top: 1.6rem;
  }
}
.p-top-feature__flex.--03 .p-top-feature__image img {
  width: 100%;
}
.p-top-feature__flex.--03 + * {
  margin-top: 11.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature__flex.--03 + * {
    margin-top: 4rem;
  }
}

.p-top-feature .p-top-flow__li {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top-flow__li {
    margin-top: 2.4rem;
  }
}
.p-top-feature .p-top-flow__li .p-top-flow__li-image::before {
  color: #fff;
  z-index: 1;
}
.p-top-feature .p-top-flow__li .p-top-flow__li-image::after {
  content: "";
  width: 12.9rem;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: #05A864;
  position: absolute;
  top: -6.4rem;
  left: -6.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-feature .p-top-flow__li .p-top-flow__li-image::after {
    width: 10rem;
    top: -5rem;
    left: -5rem;
  }
}

.p-top-feature__image img {
  width: 100%;
}

/* -------------------------------------------*/
.p-top-voice {
  padding-block: 5rem 0;
}
@media screen and (max-width: 767px) {
  .p-top-voice {
    padding-top: 2rem;
  }
}
.p-top-voice .c-primary-title::after {
  width: 99.0291262136%;
  aspect-ratio: 204/25;
  background-image: url(../images/top/doctor-title-bg.svg);
}

.p-top-voice__item .c-secondary-title + .p-top-voice__h3-sub {
  margin-top: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-voice__item .c-secondary-title + .p-top-voice__h3-sub {
    margin-top: 0.4rem;
  }
}
.p-top-voice__item .c-secondary-title + * {
  margin-top: 1rem;
}
.p-top-voice__item + .p-top-voice__item {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-voice__item + .p-top-voice__item {
    margin-top: 4rem;
  }
}

.p-top-voice__image {
  width: 40rem;
  margin-inline: auto;
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-top-voice__image {
    width: 90%;
  }
}
.p-top-voice__image img {
  width: 100%;
}
.p-top-voice__image + * {
  margin-top: 5.4rem;
}
@media screen and (max-width: 767px) {
  .p-top-voice__image + * {
    margin-top: 2.4rem;
  }
}

.p-top-voice__h3-sub {
  font-size: 1.8rem;
  letter-spacing: 0.08em;
  line-height: 1.4444444444;
}
@media screen and (max-width: 767px) {
  .p-top-voice__h3-sub {
    font-size: 1.6rem;
  }
}
.p-top-voice__h3-sub + * {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-voice__h3-sub + * {
    margin-top: 1.6rem;
  }
}

.p-top-voice__text {
  display: flex;
  align-items: flex-start;
  gap: 1.6rem 4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-voice__text {
    flex-direction: column;
  }
}
.p-top-voice__text .p-top__text {
  width: calc(50% - 2rem);
  letter-spacing: 0.03em;
  line-height: 2;
}
@media screen and (max-width: 1023px) {
  .p-top-voice__text .p-top__text {
    width: 100%;
  }
}
.p-top-voice__text .p-top__text + .p-top__text {
  margin-top: 0;
}

/* -------------------------------------------*/
.p-top-flow {
  padding-block: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-flow {
    padding-block: 4rem;
  }
}
.p-top-flow .p-top__body {
  padding-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-flow .p-top__body {
    padding-top: 3.2rem;
  }
}
.p-top-flow .p-top__text.--box {
  max-width: 85.7rem;
}

.p-top-flow__li {
  margin-top: 5.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-flow__li {
    margin-top: 3.2rem;
  }
}

.p-top-flow__li-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  counter-increment: flow;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__li-item {
    gap: 0 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-flow__li-item {
    flex-direction: column;
  }
}
.p-top-flow__li-item + .p-top-flow__li-item {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .p-top-flow__li-item + .p-top-flow__li-item {
    margin-top: 2.4rem;
  }
}

.p-top-flow__li-image {
  width: 41.3043478261%;
  border: 1px solid rgba(5, 168, 100, 0.7);
  border-radius: 2rem;
  overflow: hidden;
  position: relative;
}
@media screen and (max-width: 767px) {
  .p-top-flow__li-image {
    order: 2;
    width: 100%;
    margin-top: 0.8rem;
  }
}
.p-top-flow__li-image::before {
  content: counter(flow);
  display: block;
  width: 1.7rem;
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.02em;
  line-height: 1.4666666667;
  color: #05A864;
  position: absolute;
  top: 0.3rem;
  left: 2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__li-image::before {
    font-size: 2.5rem;
    left: 1.2rem;
  }
}
.p-top-flow__li-image img {
  width: 100%;
}

.p-top-flow__li-box {
  flex: 1;
  max-width: 46rem;
}
@media screen and (max-width: 767px) {
  .p-top-flow__li-box {
    display: contents;
  }
}

.p-top-flow__li-h3 {
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.08em;
  line-height: 1.4583333333;
  color: #05A864;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__li-h3 {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-flow__li-h3 {
    order: 1;
    font-size: 2.2rem;
  }
}
.p-top-flow__li-h3::before {
  content: counter(flow);
  font-weight: 700;
  font-size: 3rem;
  letter-spacing: 0.02em;
  line-height: 1.4666666667;
  color: #05A864;
  opacity: 0.35;
  margin-right: 0.5em;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__li-h3::before {
    font-size: 2.5rem;
  }
}
.p-top-flow__li-h3 span {
  display: inline-block;
}
.p-top-flow__li-h3 + * {
  margin-top: 1.2rem;
}
@media screen and (max-width: 1023px) {
  .p-top-flow__li-h3 + * {
    margin-top: 0.8rem;
  }
}

@media screen and (max-width: 767px) {
  .p-top-flow__text-box {
    order: 3;
  }
}
.p-top-flow__text-box .p-top__text + * {
  margin-top: 0.8rem;
}

.p-top-flow__li-li {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.8333333333;
}
@media screen and (max-width: 767px) {
  .p-top-flow__li-li {
    font-size: 1.6rem;
    line-height: 1.875;
  }
}
.p-top-flow__li-li li::before {
  content: "●";
}
.p-top-flow__li-li + * {
  margin-top: 0.8rem;
}

/* -------------------------------------------*/
.p-top-doctor {
  padding-block: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-doctor {
    padding-block: 4rem;
  }
}
.p-top-doctor .c-primary-title::after {
  width: 108.5365853659%;
  aspect-ratio: 178/25;
  background-image: url(../images/top/doctor-title-bg.svg);
}

.p-top-doctor__flex {
  gap: 3.2rem 4.5rem;
}
@media screen and (max-width: 1023px) {
  .p-top-doctor__flex {
    flex-direction: column;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctor__flex {
    row-gap: 2.4rem;
  }
}

.p-top-doctor__image {
  width: 42.5925925926%;
}
@media screen and (max-width: 1023px) {
  .p-top-doctor__image {
    width: 80%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-doctor__image {
    width: 90%;
  }
}
.p-top-doctor__image img {
  width: 100%;
  border-radius: 2rem;
}
.p-top-doctor__image figcaption {
  margin-top: 1.9rem;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  line-height: 1.44;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-doctor__image figcaption {
    margin-top: 1.2rem;
    font-size: 2rem;
  }
}
.p-top-doctor__image figcaption ruby {
  padding-left: 1em;
}

.p-top-doctor__box {
  flex: 1;
}
@media screen and (max-width: 1023px) {
  .p-top-doctor__box {
    width: 100%;
  }
}
.p-top-doctor__box .p-top__text {
  letter-spacing: 0.03em;
}

/* -------------------------------------------*/
.p-top-faq {
  padding-block: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-faq {
    padding-block: 4rem;
  }
}
.p-top-faq .c-primary-title::after {
  width: 106.0728744939%;
  aspect-ratio: 262/25;
  background-image: url(../images/top/faq-title-bg.svg);
}
/* -------------------------------------------*/
.p-top-access {
  padding-block: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-access {
    padding-block: 4rem;
  }
}
.p-top-access .c-primary-title::after {
  width: 102.8340080972%;
  aspect-ratio: 254/25;
  background-image: url(../images/top/access-title-bg.svg);
}
.p-top-access .p-top__body .u-con--md {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6rem 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-access .p-top__body .u-con--md {
    row-gap: 2.4rem;
  }
}

.p-top-access__image {
  width: 46.2962962963%;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-access__image {
    width: 100%;
  }
}
.p-top-access__image img {
  width: 100%;
}

.p-top-access__table {
  max-width: 42rem;
  flex: 1;
  border-bottom: 1px dotted #6A513E;
}
@media screen and (max-width: 1023px) {
  .p-top-access__table {
    width: 100%;
    max-width: 100%;
  }
}

.p-shop__table-th,
.p-shop__table-td {
  font-size: 1.8rem;
  line-height: 1.6666666667;
  border-top: 1px dotted #6A513E;
  padding-block: 1.8rem;
}
@media screen and (max-width: 767px) {
  .p-shop__table-th,
.p-shop__table-td {
    font-size: 1.7rem;
  }
}

.p-shop__table-th {
  width: 9.5rem;
  letter-spacing: 0.05em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .p-shop__table-th {
    width: 8rem;
  }
}

.p-shop__table-td {
  letter-spacing: 0.03em;
  padding-left: 1.7rem;
}
@media screen and (max-width: 767px) {
  .p-shop__table-td {
    padding-left: 1.2rem;
  }
}

.p-top-access__images {
  width: 100%;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  .p-top-access__images {
    gap: 1rem;
  }
}

.p-top-access__images-item {
  width: calc(25% - 1.5rem);
  border-radius: 2rem;
  overflow: hidden;
}
@media screen and (max-width: 1023px) {
  .p-top-access__images-item {
    width: calc(50% - 1rem);
  }
}
@media screen and (max-width: 767px) {
  .p-top-access__images-item {
    width: calc(50% - 0.5rem);
    border-radius: 1rem;
  }
}
.p-top-access__images-item img {
  width: 100%;
}

.p-top-access__map {
  width: 100%;
  aspect-ratio: 1080/600;
}
.p-top-access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
}

/* -------------------------------------------*/
.p-top-form {
  background-color: #FCF5E4;
  padding-block: 10.8rem 7.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-form {
    padding-block: 6rem;
  }
}
.p-top-form .c-primary-title {
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  line-height: 1.44;
}
@media screen and (max-width: 1023px) {
  .p-top-form .c-primary-title {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-form .c-primary-title {
    font-size: 2.4rem;
  }
}
.p-top-form .p-top__body .c-primary-title {
  letter-spacing: 0.14em;
  margin-left: 0;
}

.p-top-form__btn-wrap {
  max-width: 84rem;
  margin-inline: auto;
  gap: 4rem;
}
@media screen and (max-width: 1023px) {
  .p-top-form__btn-wrap {
    gap: 1.6rem 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .p-top-form__btn-wrap {
    flex-direction: column;
    align-items: center;
  }
}
.p-top-form__btn-wrap + * {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  .p-top-form__btn-wrap + * {
    margin-top: 4rem;
  }
}

.p-top-form__btn {
  width: calc(50% - 2rem);
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  border: 2px solid;
  border-radius: 5rem;
  min-height: 10rem;
}
@media screen and (max-width: 1023px) {
  .p-top-form__btn {
    width: calc(50% - 1.2rem);
  }
}
@media screen and (max-width: 767px) {
  .p-top-form__btn {
    width: 100%;
    max-width: 34.3rem;
    min-height: 8rem;
    justify-content: flex-start;
    padding-inline: 5rem;
  }
}
.p-top-form__btn.--line {
  gap: 1.8rem;
  border-color: #03C755;
  color: #03C755;
}
@media screen and (max-width: 767px) {
  .p-top-form__btn.--line {
    gap: 2.4rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .p-top-form__btn.--line {
    transition: 0.3s;
    transition-property: background-color, color, border-color;
  }
  .p-top-form__btn.--line:hover {
    background-color: #03C755;
    color: #fff;
  }
}
.p-top-form__btn.--tel {
  gap: 2.2rem;
}
.p-top-form__btn.--tel .text {
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (hover: hover) and (pointer: fine) {
  .p-top-form__btn.--tel {
    transition: 0.3s;
    transition-property: background-color, color, border-color;
  }
  .p-top-form__btn.--tel:hover {
    background-color: #6A513E;
    color: #fff;
  }
}
.p-top-form__btn .text {
  font-weight: 700;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  line-height: 1.4166666667;
}
@media screen and (max-width: 1023px) {
  .p-top-form__btn .text {
    font-size: 2rem;
  }
}
.p-top-form__btn .text .mn {
  font-size: 1.7rem;
  letter-spacing: 0.09em;
  line-height: 1.4705882353;
}
@media screen and (max-width: 1023px) {
  .p-top-form__btn .text .mn {
    font-size: 1.5rem;
  }
}
.p-top-form__btn .text .num {
  font-size: 3.4rem;
  letter-spacing: 0.02em;
  line-height: 1.4411764706;
  margin-top: -0.6rem;
}
@media screen and (max-width: 1023px) {
  .p-top-form__btn .text .num {
    font-size: 3rem;
  }
}
.p-top-form__btn .icon {
  width: 4rem;
}
.p-top-form__btn .icon img {
  width: 100%;
}

.p-top-form__content {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  .p-top-form__content {
    margin-top: 4rem;
  }
}

/* -------------------------------------------*/
/* -------------------------------------------*/