@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Lato:wght@700&family=Noto+Sans+JP:wght@100..900&family=Zen+Kaku+Gothic+New:wght@700;900&display=swap");
* {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}

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

/*------------------------------------------------------------------------------
  reset PC
------------------------------------------------------------------------------*/
html,
input,
textarea,
select,
button {
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", Meiryo, sans-serif;
  font-weight: 400;
  font-size: 16px;
}

html {
  color: #333;
  background: #fff;
  font-size: 16px;
  line-height: 1.5;
  word-break: break-all;
}

body {
  background: #fff;
  margin: 0;
  scrollbar-gutter: stable;
}
@media screen and (min-width: 1140px) {
  body {
    margin: 0;
  }
}
@media screen and (max-width: 1139px) {
  body {
    margin: 0;
  }
}
@media screen and (max-width: 767px) {
  body {
    margin: 0;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

img {
  border: 0;
  margin: 0;
  vertical-align: top;
  max-width: 100%;
  width: 100%;
  height: auto;
}

p {
  margin: 0;
  padding: 0;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

a {
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
@media screen and (min-width: 1140px) {
  a:hover {
    color: #ED861E;
  }
}

input,
select,
textarea,
button {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

button {
  border: none;
  cursor: pointer;
}

label {
  cursor: pointer;
}

table {
  border-collapse: collapse;
}

ul,
ol {
  list-style: none;
  margin: 0;
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 16px;
  font-weight: 500;
  margin: 0;
  padding: 0;
}

main {
  display: block;
}

dl, dt, dd {
  padding: 0;
  margin: 0;
}

@media screen and (min-width: 1140px) {
  .tab {
    display: none;
  }
  .sp {
    display: none !important;
  }
  a[href^="tel:"] {
    pointer-events: none;
  }
  a,
  a::before,
  a::after,
  button {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
}
@media screen and (max-width: 1139px) {
  .pc {
    display: none;
  }
  .sp {
    display: none;
  }
}
/*------------------------------------------------------------------------------
  reset SP
------------------------------------------------------------------------------*/
@media screen and (max-width: 767px) {
  body {
    font-size: 15px;
    position: relative;
    -webkit-appearance: none;
    -webkit-text-size-adjust: 100%;
  }
  input[type=submit] {
    -webkit-text-size-adjust: 100%;
  }
  input,
  select,
  textarea {
    font-size: 16px !important;
  }
  .pc {
    display: none !important;
  }
  .sp {
    display: block;
  }
}
/* -----------------------------------------------
* Modules エントリーポイント
-------------------------------------------------- */
.header {
  position: relative;
  z-index: 1002;
}
@media screen and (max-width: 1139px) {
  .header__inner {
    padding: 4px 12px 3px;
  }
}
.header__logoArea {
  display: none;
}
@media screen and (max-width: 1139px) {
  .header__logoArea {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 2px;
  }
}
.header__logo {
  width: 53px;
}
.header__logoText {
  font-size: 14px;
  font-weight: bold;
}

.hamburger-menu {
  position: fixed;
  top: 16px;
  right: 16px;
  z-index: 1002;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 60px;
  height: 60px;
  padding: 0;
  border: none;
  border-radius: 50%;
  border: 1px solid #fff;
  cursor: pointer;
  -webkit-transition: background 0.3s ease, -webkit-transform 0.2s ease;
  transition: background 0.3s ease, -webkit-transform 0.2s ease;
  transition: background 0.3s ease, transform 0.2s ease;
  transition: background 0.3s ease, transform 0.2s ease, -webkit-transform 0.2s ease;
}
@media screen and (max-width: 1139px) {
  .hamburger-menu {
    top: 4px;
    right: 12px;
    border-color: #ED861E;
    width: 51px;
    height: 51px;
  }
}
.hamburger-menu:hover {
  opacity: 0.92;
}
.hamburger-menu:focus-visible {
  outline: 2px solid #4B8C9A;
  outline-offset: 3px;
}
.hamburger-menu__inner {
  position: relative;
  width: 26px;
  height: 34px;
}
.hamburger-menu__bar {
  position: absolute;
  left: 50%;
  width: 26px;
  height: 2px;
  margin-left: -13px;
  border-radius: 1px;
  background: #fff;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: top 0.35s ease, background 0.3s ease, -webkit-transform 0.35s ease;
  transition: top 0.35s ease, background 0.3s ease, -webkit-transform 0.35s ease;
  transition: transform 0.35s ease, top 0.35s ease, background 0.3s ease;
  transition: transform 0.35s ease, top 0.35s ease, background 0.3s ease, -webkit-transform 0.35s ease;
}
@media screen and (max-width: 1139px) {
  .hamburger-menu__bar {
    background: #ED861E;
  }
}
.hamburger-menu__bar:nth-child(1) {
  top: 6px;
}
.hamburger-menu__bar:nth-child(2) {
  top: 14px;
}
.hamburger-menu__menu {
  position: absolute;
  bottom: 4px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  font-family: "Lato", sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #fff;
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s ease, visibility 0.2s ease;
  transition: opacity 0.2s ease, visibility 0.2s ease;
}
@media screen and (max-width: 1139px) {
  .hamburger-menu__menu {
    color: #ED861E;
  }
}

body.is-nav-open {
  overflow: hidden;
}
body.is-nav-open .hamburger-menu {
  border-color: #fff;
}
body.is-nav-open .hamburger-menu__bar {
  background: #fff;
}
body.is-nav-open .hamburger-menu__bar:nth-child(1) {
  top: 16px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
body.is-nav-open .hamburger-menu__bar:nth-child(2) {
  top: 16px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
body.is-nav-open .hamburger-menu__menu {
  opacity: 0;
  visibility: hidden;
}

.global-nav {
  position: fixed;
  inset: 0;
  z-index: 1000;
  pointer-events: none;
  visibility: hidden;
  -webkit-transition: visibility 0s linear 0.35s;
  transition: visibility 0s linear 0.35s;
}
.global-nav__panel {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  max-height: 100dvh;
  background: #ED861E;
  overflow-y: auto;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  transition: transform 0.35s ease;
  transition: transform 0.35s ease, -webkit-transform 0.35s ease;
  pointer-events: none;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  z-index: 1000;
}
.global-nav__img {
  width: 38%;
}
@media screen and (max-width: 767px) {
  .global-nav__img {
    display: none;
  }
}
.global-nav__img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.global-nav__wrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 88px 70px 40px;
  overflow-y: auto;
}
@media screen and (max-width: 1139px) {
  .global-nav__wrap {
    padding: 88px 30px 40px;
  }
}
@media screen and (max-width: 767px) {
  .global-nav__wrap {
    padding: 80px 20px 40px;
  }
}
.global-nav__list {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin: 0;
  list-style: none;
  gap: 26px 10px;
  display: grid;
  grid-template-columns: minmax(0, 450px) -webkit-max-content;
  grid-template-columns: minmax(0, 450px) max-content;
  grid-template-rows: repeat(6, auto);
  grid-auto-flow: column;
  grid-auto-columns: -webkit-max-content;
  grid-auto-columns: max-content;
  -webkit-column-gap: 80px;
     -moz-column-gap: 80px;
          column-gap: 80px;
  row-gap: 40px;
  -webkit-box-pack: start;
  -webkit-justify-content: start;
      -ms-flex-pack: start;
          justify-content: start;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 1139px) {
  .global-nav__list {
    grid-template-rows: none;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    -webkit-column-gap: 0;
       -moz-column-gap: 0;
            column-gap: 0;
    row-gap: 22px;
  }
}
.global-nav__list a {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #fff;
  position: relative;
  padding-left: 25px;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .global-nav__list a {
    font-size: 15px;
  }
}
.global-nav__list a::before {
  content: "";
  position: absolute;
  top: 1em;
  left: 0;
  width: 13px;
  height: 2px;
  background: #fff;
}
.global-nav__list a:hover, .global-nav__list a:focus-visible {
  opacity: 0.7;
}
.global-nav__lineBox {
  margin-top: 60px;
  background: rgba(255, 255, 255, 0.18);
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 15px 5% 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 20px;
}
@media screen and (max-width: 1139px) {
  .global-nav__lineBox {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 40px;
  }
}
@media screen and (max-width: 767px) {
  .global-nav__lineBox {
    padding: 20px;
  }
}
.global-nav__lineBox > * {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1139px) {
  .global-nav__lineBox > * {
    width: 100%;
  }
}
.global-nav__lineBox .lineBtn__copy {
  color: #fff;
}
.global-nav__lineBox .lineBtn__copy::before, .global-nav__lineBox .lineBtn__copy::after {
  background: #fff;
}
.global-nav__labels {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
}
@media screen and (max-width: 1139px) {
  .global-nav__labels {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.global-nav__lavelIcon {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.06em;
  background: #fff;
  border-radius: 100px;
  background: #fff;
  color: #ED861E;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
}
.global-nav__labelText {
  font-size: 24px;
  color: #fff;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .global-nav__labelText {
    font-size: 20px;
  }
}

body.is-nav-open .global-nav {
  pointer-events: auto;
  visibility: visible;
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
body.is-nav-open .global-nav .global-nav__panel {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  pointer-events: auto;
}

.footer {
  background: #389856;
}
.footer__inner {
  padding: 27px 20px;
}
@media screen and (max-width: 767px) {
  .footer__inner {
    padding: 17px 20px;
  }
}
.footer__copy {
  text-align: center;
  color: #fff;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .footer__copy {
    text-align: left;
  }
}

/* --------------------------------
c-pagetop
----------------------------------- */
.c-pagetop {
  right: 30px;
}
.c-pagetop a {
  display: block;
}
@media screen and (max-width: 767px) {
  .c-pagetop {
    right: 10px;
  }
}

.lineBtn {
  text-align: center;
}
.lineBtn__copy {
  font-size: 15px;
  color: #29AC52;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.lineBtn__copy:before, .lineBtn__copy:after {
  content: "";
  position: absolute;
  top: 50%;
  width: 1px;
  height: 1em;
  background: #29AC52;
}
.lineBtn__copy::before {
  left: -20px;
  -webkit-transform: translateY(-50%) rotate(-20deg);
          transform: translateY(-50%) rotate(-20deg);
}
.lineBtn__copy::after {
  right: -20px;
  -webkit-transform: translateY(-50%) rotate(20deg);
          transform: translateY(-50%) rotate(20deg);
}
.lineBtn__btn {
  margin-top: 6px;
  background: #29AC52;
  color: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 6px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.04em;
  padding: 14px 6px;
  -webkit-box-shadow: 0 2px 8px rgba(35, 104, 57, 0.44);
          box-shadow: 0 2px 8px rgba(35, 104, 57, 0.44);
  word-break: auto-phrase;
}
@media screen and (max-width: 767px) {
  .lineBtn__btn {
    gap: 5%;
  }
}
.lineBtn__btn:hover {
  color: #fff;
  opacity: 0.7;
}

.company-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.69vw;
}
.company-name__img {
  width: 100%;
  max-width: 4.3vw;
}
.company-name__text {
  font-size: 1.18vw;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
}

.scrolldown {
  position: absolute;
  bottom: -40px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 1139px) {
  .scrolldown {
    display: none;
  }
}
.scrolldown::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ED861E;
  -webkit-animation: circlemove 2.5s ease-in-out infinite, cirlemovehide 2.5s ease-out infinite;
          animation: circlemove 2.5s ease-in-out infinite, cirlemovehide 2.5s ease-out infinite;
}
.scrolldown::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 2px;
  height: 80px;
  background: #ED861E;
}
.scrolldown span {
  position: relative;
  left: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  color: #ED861E;
  font-size: 14px;
  letter-spacing: 0.05em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@-webkit-keyframes circlemove {
  0% {
    bottom: 80px;
  }
  100% {
    bottom: -5px;
  }
}
@keyframes circlemove {
  0% {
    bottom: 80px;
  }
  100% {
    bottom: -5px;
  }
}
/*上から下にかけて丸が透過→不透明→透過する*/
@-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;
  }
}
.cta {
  background: #389856;
  position: relative;
}
.cta::before, .cta::after {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/secton_cta.svg) no-repeat center center;
  background-size: cover;
  aspect-ratio: 1440/114;
  width: 100%;
}
.cta::before {
  top: -4vw;
}
.cta::after {
  bottom: -4vw;
}
.cta--footer-just-before {
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .cta--footer-just-before {
    padding-bottom: 30px;
  }
}
.cta--footer-just-before::after {
  content: none;
}
.cta__inner {
  position: relative;
  max-width: 1263px;
  width: 85.76%;
  margin: 0 auto;
  z-index: 1;
  padding-top: 62px;
}
@media screen and (max-width: 1139px) {
  .cta__inner {
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .cta__inner {
    width: 100%;
    padding: 0 20px 10px;
  }
}
.cta__enScroll {
  overflow: hidden;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  position: absolute;
  z-index: -1;
  top: 35px;
}
@media screen and (max-width: 1139px) {
  .cta__enScroll {
    margin-inline: -20px;
    width: calc(100% + 40px);
  }
}
@media screen and (max-width: 767px) {
  .cta__enScroll {
    top: 2px;
    width: 100svw;
  }
}
.cta__enTrack {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: voice-marquee 50s linear infinite;
          animation: voice-marquee 50s linear infinite;
  will-change: transform;
}
.cta__enTrack::before, .cta__enTrack::after {
  content: attr(data-marquee);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-padding-end: clamp(32px, 5vw, 80px);
          padding-inline-end: clamp(32px, 5vw, 80px);
  white-space: nowrap;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: clamp(48px, 10.4vw, 120px);
  line-height: 1.2;
  letter-spacing: 0.08em;
  color: rgba(218, 236, 224, 0.1);
}
@media screen and (max-width: 767px) {
  .cta__enTrack::before, .cta__enTrack::after {
    font-size: 70px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cta__enTrack {
    -webkit-animation: none;
            animation: none;
  }
  .cta__enTrack::after {
    display: none;
  }
}
.cta__content {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
}
@media screen and (max-width: 767px) {
  .cta__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.cta__img {
  width: 52%;
  margin-top: 20px;
}
@media screen and (max-width: 1139px) {
  .cta__img {
    width: 42%;
  }
}
@media screen and (max-width: 767px) {
  .cta__img {
    width: 104%;
    margin-left: -2%;
    position: relative;
    z-index: 3;
    margin-top: 30px;
  }
}
.cta__body {
  width: 47.692%;
}
@media screen and (max-width: 1139px) {
  .cta__body {
    width: 57%;
  }
}
@media screen and (max-width: 767px) {
  .cta__body {
    width: 100%;
    margin-top: -20vw;
  }
}
.cta__wrap {
  background: #fff;
  border-radius: 1000px 1000px 1000px 0;
  padding-top: 68px;
  aspect-ratio: 1/1;
  padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .cta__wrap {
    padding-top: 20vw;
    border-radius: 40vw 40vw 40vw 0;
    padding-inline: 12px;
  }
}
.cta__title {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}
.cta__label {
  background: #ED861E;
  color: #fff;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.2;
  letter-spacing: 0.06em;
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 66px;
}
@media screen and (max-width: 1139px) {
  .cta__label {
    font-size: 16px;
    width: 60px;
    height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .cta__label {
    font-size: clamp(0.75rem, -0.75rem + 8vw, 1rem);
    width: clamp(2.875rem, 1.625rem + 6.67vw, 3.188rem);
    height: clamp(2.875rem, 1.625rem + 6.67vw, 3.188rem);
  }
}
.cta__text {
  color: #ED861E;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 1139px) {
  .cta__text {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .cta__text {
    font-size: clamp(1.125rem, 0.125rem + 5.33vw, 1.375rem);
  }
}
.cta__body-img {
  width: 60.447%;
  margin: 30px auto 0;
}
@media screen and (max-width: 1139px) {
  .cta__body-img {
    width: 70%;
  }
}
@media screen and (max-width: 767px) {
  .cta__body-img {
    margin-top: 16px;
    width: 100%;
  }
}
.cta__lineBtn {
  width: 55%;
  margin: 40px auto 0;
}
@media screen and (max-width: 1139px) {
  .cta__lineBtn {
    width: 63%;
  }
}
@media screen and (max-width: 767px) {
  .cta__lineBtn {
    margin-top: 22px;
    width: 80%;
    max-width: 300px;
  }
}
.cta__annotation {
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .cta__annotation {
    margin-top: 18px;
  }
}
.cta__annotation-title {
  font-size: 12px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.04em;
  line-height: 1;
}
.cta__annotation-list {
  margin-top: 12px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 0 6px;
}
@media screen and (max-width: 767px) {
  .cta__annotation-list {
    margin-top: 8px;
  }
}
.cta__annotation-list li {
  padding-left: 0.8em;
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: 0.04em;
  color: #fff;
  position: relative;
}
@media screen and (max-width: 767px) {
  .cta__annotation-list li {
    width: 100%;
  }
}
.cta__annotation-list li::before {
  content: "";
  width: 2px;
  height: 2px;
  border-radius: 6px;
  background: #fff;
  position: absolute;
  top: 0.65em;
  left: 2px;
}
@media screen and (max-width: 767px) {
  .cta .lineBtn__btn {
    font-size: 16px;
    width: 90%;
    margin: 0 auto;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-inline: 6%;
    gap: 2%;
  }
}
.cta .lineBtn__icon {
  width: 32px;
}

/* --------------------------------
floating-btn（ページ先頭へ）
----------------------------------- */
.floating-btn {
  position: fixed;
  right: 28px;
  bottom: 50px;
  z-index: 100;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 50px;
  height: 50px;
  padding: 0;
  margin: 0;
  border: 1px solid #fff;
  border-radius: 50%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #389856;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 767px) {
  .floating-btn {
    right: 20px;
    bottom: 17px;
  }
}
.floating-btn:hover {
  opacity: 0.7;
}
.floating-btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}
.floating-btn__icon {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0;
}
.floating-btn__icon svg {
  display: block;
  width: 20px;
  height: 20px;
}

/* -----------------------------------------------
* Page エントリーポイント
-------------------------------------------------- */
.mv {
  position: relative;
}
.mv__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
}
.mv__img {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 1139px) {
  .mv__img {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.mv__img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .mv__img img {
    height: 105%;
  }
}
.mv__body {
  width: 27.2916%;
  background: #FEF0E2;
  padding: 4.16vw 1.38vw 4.86vw;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .mv__body {
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    width: 100%;
  }
}
.mv__content {
  margin-top: 4.16vw;
  background: #fff;
  outline: 1px solid #ED861E;
  padding: 4.16vw 1.38vw;
  outline-offset: -1.04vw;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .mv__content {
    padding: 50px 20px 50px;
    outline-offset: -6px;
  }
}
.mv__content::before {
  content: "";
  position: absolute;
  top: -8px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 45px;
  height: 38px;
  background: url("../img/icon_clip.svg") no-repeat;
}
.mv__lead {
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  letter-spacing: 0.12em;
  line-height: 1.7;
  font-size: 1.18vw;
}
@media screen and (max-width: 1139px) {
  .mv__lead {
    font-size: 17px;
  }
}
.mv__lead span {
  color: #ED861E;
  font-size: 1.4em;
}
.mv__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 2.08vw;
  padding: 0 0.69vw;
}
.mv__list li {
  border-bottom: 1px dashed #969696;
  position: relative;
  padding: 10px 0 0.69vw 1.38vw;
  font-weight: bold;
  font-size: 0.83vw;
  line-height: 1.8;
}
@media screen and (max-width: 1139px) {
  .mv__list li {
    font-size: 12px;
    padding-left: 24px;
    padding: 10px 0 10px 24px;
  }
}
.mv__list li::before {
  content: "";
  position: absolute;
  top: 1.11vw;
  left: 0;
  width: 18px;
  height: 15px;
  background: url("../img/icon_checkbox.svg") no-repeat;
  background-size: contain;
}
@media screen and (max-width: 1139px) {
  .mv__list li::before {
    top: 16px;
  }
}
.mv__list li:nth-child(2)::before {
  top: 1.8vw;
}
@media screen and (max-width: 1139px) {
  .mv__list li:nth-child(2)::before {
    top: 18px;
  }
}
.mv__list li .point {
  color: #ED861E;
  font-size: 1.3em;
}
.mv__list li .num {
  font-size: 1.4em;
  line-height: 1;
}
.mv__lineBtn {
  margin-top: 2.08vw;
  padding: 0 0.69vw;
}
@media screen and (max-width: 1139px) {
  .mv__lineBtn {
    margin-top: 30px;
  }
}
.mv__lineBtn .lineBtn__btn {
  gap: 1.38vw;
}
.mv__annotation {
  font-size: 10px;
  line-height: 1.6;
  font-weight: 500;
}
.mv__copyArea {
  width: 25.6944%;
  display: grid;
  place-items: center;
  position: relative;
  background: #ED861E url("../img/icon_home.svg") no-repeat center bottom;
  background-size: 100%;
}
@media screen and (max-width: 1139px) {
  .mv__copyArea {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 45%;
  }
}
.mv__copy {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  color: #fff;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  font-size: 2.22vw;
  letter-spacing: 0.2em;
  line-height: 2;
}
@media screen and (max-width: 1139px) {
  .mv__copy {
    font-size: 3.5vw;
  }
}
@media screen and (max-width: 767px) {
  .mv__copy {
    font-size: 5.86vw;
  }
}
.mv__copy span {
  font-size: 1.4375em;
}
@media screen and (max-width: 1139px) {
  .mv__company {
    display: none;
  }
}

@-webkit-keyframes voice-marquee {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

@keyframes voice-marquee {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.voice {
  overflow: hidden;
}
.voice__inner {
  padding: 100px 20px 84px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .voice__inner {
    padding: 50px 10px 72px;
  }
}
.voice__content {
  background: rgba(254, 240, 226, 0.57);
  -webkit-backdrop-filter: blur(6px);
          backdrop-filter: blur(6px);
  max-width: 1280px;
  margin: 0 auto;
  border-radius: 20px;
  position: relative;
  padding-block: 73px;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .voice__content {
    padding-block: 40px;
    background: rgba(254, 240, 226, 0.5);
    -webkit-backdrop-filter: blur(4px);
            backdrop-filter: blur(4px);
  }
}
.voice__content::before, .voice__content::after {
  content: "";
  position: absolute;
}
.voice__content::before {
  background: url("../img/icon_voice-left.svg") no-repeat;
  background-size: contain;
  aspect-ratio: 218/296;
  width: 218px;
  bottom: 14px;
  left: 68px;
}
@media screen and (max-width: 767px) {
  .voice__content::before {
    left: 9px;
    bottom: 4px;
    width: 23vw;
  }
}
.voice__content::after {
  background: url("../img/icon_voice-right.svg") no-repeat;
  background-size: contain;
  aspect-ratio: 115/235;
  width: 115px;
  bottom: 10px;
  right: 65px;
}
@media screen and (max-width: 767px) {
  .voice__content::after {
    right: 1px;
    bottom: 4px;
    width: 13vw;
  }
}
.voice__enScroll {
  overflow: hidden;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
  position: absolute;
  z-index: 1;
  top: 73px;
}
@media screen and (max-width: 1139px) {
  .voice__enScroll {
    margin-inline: -20px;
    width: calc(100% + 40px);
  }
}
@media screen and (max-width: 767px) {
  .voice__enScroll {
    top: 2px;
  }
}
.voice__enTrack {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: voice-marquee 50s linear infinite;
          animation: voice-marquee 50s linear infinite;
  will-change: transform;
}
.voice__enTrack::before, .voice__enTrack::after {
  content: attr(data-marquee);
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-padding-end: clamp(32px, 5vw, 80px);
          padding-inline-end: clamp(32px, 5vw, 80px);
  white-space: nowrap;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: clamp(48px, 10.4vw, 120px);
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: rgba(237, 134, 30, 0.12);
}
@media screen and (max-width: 767px) {
  .voice__enTrack::before, .voice__enTrack::after {
    font-size: 70px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .voice__enTrack {
    -webkit-animation: none;
            animation: none;
  }
  .voice__enTrack::after {
    display: none;
  }
}
.voice__title {
  color: #ED861E;
  font-size: 18px;
  font-weight: bold;
  font-family: "Lato", sans-serif;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-align: center;
}
.voice__title::first-letter {
  text-transform: uppercase;
}
.voice__lead {
  font-size: 24px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.12em;
  text-align: center;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 30px auto 0;
  padding-inline: 1em;
}
@media screen and (max-width: 767px) {
  .voice__lead {
    font-size: 16px;
    margin-top: 20px;
  }
}
.voice__lead::before, .voice__lead::after {
  content: "";
  position: absolute;
  bottom: 0;
  background: #ED861E;
  width: 2px;
  height: 70%;
}
.voice__lead::before {
  left: 0;
  -webkit-transform: rotate(-20deg);
          transform: rotate(-20deg);
}
.voice__lead::after {
  right: 0;
  -webkit-transform: rotate(20deg);
          transform: rotate(20deg);
}
.voice__lead span {
  color: #ED861E;
}
.voice__sliderBox {
  margin-top: 60px;
}
@media screen and (max-width: 1139px) {
  .voice__sliderBox {
    margin-top: 32px;
  }
}
.voice__slider {
  overflow: hidden;
  margin-inline: calc(50% - 50vw);
  width: 100vw;
}
@media screen and (max-width: 1139px) {
  .voice__slider {
    margin-inline: -20px;
    width: calc(100% + 40px);
  }
}
.voice__scroll {
  overflow: hidden;
}
.voice__track {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  gap: clamp(16px, 2.08vw, 28px);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-animation: voice-marquee 90s linear infinite;
          animation: voice-marquee 90s linear infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .voice__track {
    -webkit-animation: none;
            animation: none;
  }
}
.voice__item {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
}
.voice__item:nth-child(even) {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .voice__item:nth-child(even) {
    margin-top: 0;
  }
  .voice__item:nth-child(20n+2), .voice__item:nth-child(20n+4), .voice__item:nth-child(20n+11), .voice__item:nth-child(20n+13), .voice__item:nth-child(20n+15) {
    margin-top: 24px;
  }
}
.voice__img {
  display: block;
  width: clamp(200px, 22vw, 320px);
  height: auto;
}
@media screen and (max-width: 767px) {
  .voice__img:nth-child(even) {
    margin-top: 15px;
  }
}
.voice__labels {
  margin-top: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .voice__labels {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    gap: 4px;
  }
}
.voice__label {
  background: #ED861E;
  color: #fff;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.6;
  padding: 13px 24px;
  border-radius: 50px 50px 50px 0;
}
@media screen and (max-width: 767px) {
  .voice__label {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.voice__text {
  margin-top: 28px;
  text-align: center;
  font-weight: 500;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .voice__text {
    font-size: 15px;
    margin-top: 18px;
  }
}

.pain {
  background: #F5F5F5;
  z-index: 2;
  position: relative;
}
.pain::before {
  content: "";
  position: absolute;
  top: -1.667vw;
  left: 0;
  background: url(../img/section_bg_pain.svg) no-repeat center bottom;
  background-size: cover;
  width: 100%;
  height: 1.667vw;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  .pain::before {
    background: url(../img/section_bg_pain_sp.svg) no-repeat center bottom;
    background-size: cover;
    height: 3.2vw;
    top: -3.2vw;
  }
}
.pain::after {
  content: "";
  position: absolute;
  bottom: -36px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 31px solid transparent;
  border-left: 31px solid transparent;
  border-top: 39px solid #F5F5F5;
  border-bottom: 0;
}
@media screen and (max-width: 767px) {
  .pain::after {
    border-right: 17px solid transparent;
    border-left: 17px solid transparent;
    border-top: 21px solid #F5F5F5;
    bottom: -18px;
  }
}
.pain__inner {
  max-width: 1100px;
  margin: 0 auto;
  padding: 43px 30px 90px 75px;
}
@media screen and (max-width: 1139px) {
  .pain__inner {
    padding: 26px 20px 50px 20px;
  }
}
.pain__content {
  margin: 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 66px;
}
@media screen and (max-width: 1139px) {
  .pain__content {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .pain__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.pain__hukidashi {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
}
@media screen and (max-width: 767px) {
  .pain__hukidashi {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
.pain__body {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
}
@media screen and (max-width: 767px) {
  .pain__body {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 84.5%;
    margin: 0 3px 0 auto;
  }
}

.solution {
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#FEF6EE));
  background: -webkit-linear-gradient(top, #fff 0%, #FEF6EE 100%);
  background: linear-gradient(to bottom, #fff 0%, #FEF6EE 100%);
  position: relative;
}
@media screen and (max-width: 767px) {
  .solution {
    overflow: hidden;
  }
}
.solution::before {
  content: "";
  position: absolute;
  top: -11px;
  left: -73px;
  background: url(../img/solution_bg.svg) no-repeat center center;
  background-size: contain;
  aspect-ratio: 1238/928;
  width: 86%;
}
@media screen and (max-width: 767px) {
  .solution::before {
    width: 106%;
    left: 0;
    top: 41px;
    background: url(../img/solution_bg_sp.svg) no-repeat center center;
    background-size: contain;
    aspect-ratio: 397/297;
  }
}
.solution__inner {
  max-width: 1440px;
  margin: 0 auto;
  padding: 109px 0 167px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .solution__inner {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}
.solution__first-wrap {
  width: 82.986%;
  margin: 0 0 0 auto;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 66px;
}
@media screen and (max-width: 1139px) {
  .solution__first-wrap {
    gap: 30px;
    width: 90%;
  }
}
@media screen and (max-width: 767px) {
  .solution__first-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%;
    gap: 31px;
  }
}
.solution__first-img {
  padding-left: 20px;
}
@media screen and (max-width: 767px) {
  .solution__first-img {
    width: 100%;
  }
}
.solution__title {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  color: #ED861E;
  font-weight: 900;
  letter-spacing: 0.12em;
  line-height: 1.6;
  font-size: 22px;
  font-family: "Zen Kaku Gothic New", sans-serif;
}
@media screen and (max-width: 767px) {
  .solution__title {
    -webkit-align-self: center;
        -ms-flex-item-align: center;
            align-self: center;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.3em;
  }
}
.solution__title .t-m {
  font-size: 1.18em;
}
@media screen and (max-width: 767px) {
  .solution__title .t-m {
    font-size: 1wm;
  }
}
.solution__title .t-l {
  font-size: 1.727em;
}
@media screen and (max-width: 767px) {
  .solution__title .t-l {
    font-size: 1.22em;
  }
}
.solution__title .t-xl {
  font-size: 2.727em;
  display: inline-block;
  margin-top: -0.6em;
  margin-bottom: -0.4em;
}
@media screen and (max-width: 767px) {
  .solution__title .t-xl {
    font-size: 2.44em;
  }
}
.solution__second-wrap {
  max-width: 950px;
  margin: 70px auto 0;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 60px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1139px) {
  .solution__second-wrap {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .solution__second-wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 20px;
    margin-top: 32px;
  }
}
.solution__second-img {
  width: 46.5%;
}
@media screen and (max-width: 767px) {
  .solution__second-img {
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .solution__body {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
.solution__text-wrap > * + * {
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .solution__text-wrap > * + * {
    margin-top: 20px;
  }
}
.solution__text {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
}
.solution__text span {
  font-weight: bold;
  font-size: 18px;
}
.solution__company {
  margin-top: 30px;
  gap: 10px;
}
.solution__company .company-name__text {
  font-size: 18px;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .solution__company .company-name__text {
    font-size: clamp(0.813rem, -0.438rem + 6.67vw, 1.125rem);
    gap: 2px;
  }
}
.solution__company .company-name__text span {
  font-size: 1.2em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .solution__company .company-name__text span {
    font-size: 1.1em;
    word-break: auto-phrase;
    display: inline-block;
    margin-left: -0.5em;
  }
}
.solution__company .company-name__img {
  width: 73px;
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .solution__company .company-name__img {
    max-width: 65px;
    width: 100%;
  }
}

.what {
  position: relative;
}
.what::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%) rotate(45deg);
          transform: translateX(-50%) rotate(45deg);
  bottom: -25px;
  width: 50px;
  height: 50px;
  background: #fff;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .what::after {
    width: 34px;
    height: 34px;
    bottom: -15px;
  }
}
.what__inner {
  max-width: 1140px;
  margin: 97px auto 0;
  padding: 40px 20px 100px;
}
@media screen and (max-width: 767px) {
  .what__inner {
    padding-block: 40px 50px;
    margin-top: 40px;
  }
}
.what__title {
  text-align: center;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 26px;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .what__title {
    line-height: 1.5;
    font-size: 20px;
  }
}
.what__content {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .what__content {
    margin-top: 30px;
  }
}
.what__lead {
  text-align: center;
  line-height: 2;
  letter-spacing: 0.12em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .what__lead {
    font-size: 16px;
    line-height: 1.6;
    text-align: left;
  }
}
.what__lead span {
  color: #4B8C9A;
  font-weight: bold;
}
.what__list {
  margin-top: 40px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 13px;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .what__list {
    margin-top: 60px;
    gap: 14px 15px;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .what__list li {
    width: calc((100% - 15px) / 2);
  }
}
.what__text {
  margin-top: 9px;
  text-align: center;
  color: #4B8C9A;
  font-weight: bold;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .what__text {
    margin-top: 4px;
    font-size: 14px;
    line-height: 1.4;
  }
}

.link {
  background: url(../img/link_bg.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}
@media screen and (max-width: 767px) {
  .link {
    background: url(../img/link_bg_sp.jpg) no-repeat center top;
    background-size: contain;
  }
}
.link::before {
  content: "Link";
  font-size: 200px;
  font-family: "Lato", sans-serif;
  font-weight: bold;
  line-height: 1.2;
  letter-spacing: 0.14em;
  color: rgba(254, 240, 226, 0.68);
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  display: inline-block;
  position: absolute;
  top: 170px;
  left: -170px;
}
@media screen and (max-width: 767px) {
  .link::before {
    top: 77vw;
    font-size: 39vw;
    left: -34vw;
  }
}
.link__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 137px 20px;
}
@media screen and (max-width: 767px) {
  .link__inner {
    padding-top: 60vw;
    padding-bottom: 17vw;
  }
}
.link__title {
  font-size: 26px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .link__title {
    font-size: 20px;
  }
}
.link__content {
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .link__content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.link__text-box {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .link__text-box {
    margin-top: 8vw;
  }
}
.link__text-box > * + * {
  margin-top: 14px;
}
@media screen and (max-width: 767px) {
  .link__text-box > * + * {
    margin-top: 5.33vw;
  }
}
.link__text {
  line-height: 2;
  letter-spacing: 0.12em;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .link__text {
    line-height: 1.6;
  }
}
.link__text span {
  font-weight: bold;
  color: #ED861E;
}
.link__list {
  margin-top: 60px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 12px;
}
@media screen and (max-width: 767px) {
  .link__list {
    margin-top: 8vw;
    gap: 6px;
  }
}
.link__list li {
  max-width: 125px;
  width: 100%;
}
.link__list li:nth-child(2) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .link__list li:nth-child(2) {
    margin-top: 4.26vw;
  }
}

.near {
  background: #F5F5F5;
  position: relative;
}
.near::before {
  content: "";
  position: absolute;
  top: -3.5vw;
  left: 0;
  background: url(../img/section_bg_near.svg) no-repeat center bottom;
  background-size: cover;
  aspect-ratio: 1440/56;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .near::before {
    background: url(../img/section_bg_near_sp.svg) no-repeat center bottom;
    background-size: cover;
    aspect-ratio: 375/23;
  }
}
.near__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 47px 20px 157px;
}
@media screen and (max-width: 767px) {
  .near__inner {
    padding-top: 27px;
    padding-bottom: 81px;
  }
}
.near__title {
  text-align: center;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 26px;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .near__title {
    font-size: 20px;
    letter-spacing: -0.04em;
  }
}
.near__content {
  margin-top: 73px;
}
@media screen and (max-width: 767px) {
  .near__content {
    margin-top: 36px;
  }
}
.near__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  gap: 13px;
}
@media screen and (max-width: 767px) {
  .near__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 22px;
  }
}
.near__item {
  width: calc((100% - 39px) / 4);
  background: #fff;
  position: relative;
  border-radius: 10px;
  padding: 40px 27px;
}
@media screen and (max-width: 767px) {
  .near__item {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    padding: 36px 11px;
    gap: 3%;
  }
}
.near__wrap {
  display: contents;
}
@media screen and (max-width: 767px) {
  .near__wrap {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.near__num {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: 50px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: transparent;
  -webkit-text-stroke: 1px #4B8C9A;
  text-stroke: 1px #4B8C9A;
  paint-order: stroke;
  position: absolute;
  left: 10px;
  top: -26px;
  display: inline-block;
}
.near__img {
  width: 51%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .near__img {
    width: 27.5%;
  }
}
.near__sub-title {
  margin-top: 20px;
  text-align: center;
  font-size: 20px;
  line-height: 1.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .near__sub-title {
    text-align: left;
    margin-top: 0;
  }
}
.near__sub-list {
  margin-top: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .near__sub-list {
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.near__sub-item {
  background: rgba(75, 140, 154, 0.14);
  border-radius: 50px;
  display: inline-block;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  padding: 5px 12px;
}
.near__text {
  margin: 30px auto 0;
  text-align: center;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .near__text {
    font-size: 15px;
    line-height: 1.6;
    text-align: left;
  }
}
.near__text span {
  font-weight: bold;
  color: #ED861E;
}

.method {
  position: relative;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#FEF6EE));
  background: -webkit-linear-gradient(top, #fff, #FEF6EE);
  background: linear-gradient(to bottom, #fff, #FEF6EE);
}
.method::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/section_white_round.svg) no-repeat center center;
  background-size: cover;
  aspect-ratio: 1440/114;
  width: 100%;
}
.method::before {
  top: -4vw;
}
.method__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 60px 20px 157px;
}
@media screen and (max-width: 767px) {
  .method__inner {
    padding-top: 20px;
    padding-bottom: 81px;
  }
}
.method__head {
  width: 91.8%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 47px;
}
@media screen and (max-width: 1139px) {
  .method__head {
    width: 100%;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .method__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
  }
}
.method__title {
  position: relative;
}
@media screen and (max-width: 1139px) {
  .method__title {
    width: 50%;
  }
}
@media screen and (max-width: 767px) {
  .method__title {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.method__title--en {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: 110px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: #FEF0E2;
}
@media screen and (max-width: 1139px) {
  .method__title--en {
    font-size: 80px;
  }
}
@media screen and (max-width: 767px) {
  .method__title--en {
    font-size: clamp(3.75rem, -0.25rem + 21.33vw, 4.75rem);
    line-height: 0.9;
    letter-spacing: 0.06em;
  }
}
.method__title--ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.7;
  letter-spacing: 0.12em;
  color: #ED861E;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 1139px) {
  .method__title--ja {
    font-size: 22px;
  }
}
@media screen and (max-width: 767px) {
  .method__title--ja {
    font-size: 20px;
    text-align: center;
    width: 100%;
  }
}
.method__lead {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 1139px) {
  .method__lead {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
@media screen and (max-width: 767px) {
  .method__lead {
    line-height: 1.6;
  }
}
.method__content {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .method__content {
    margin-top: 30px;
  }
}
.method__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 70px;
}
@media screen and (max-width: 767px) {
  .method__list {
    gap: 50px;
  }
}
.method__item {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 70px;
}
@media screen and (max-width: 1139px) {
  .method__item {
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .method__item {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
  }
}
.method__item:nth-child(even) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -webkit-flex-direction: row-reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  .method__item:nth-child(even) {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.method__img {
  width: 54%;
}
@media screen and (max-width: 1139px) {
  .method__img {
    width: 45%;
  }
}
@media screen and (max-width: 767px) {
  .method__img {
    width: 100%;
  }
}
.method__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.method__num {
  font-size: 100px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.12em;
  font-family: "Lato", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #ED861E;
  text-stroke: 1px #ED861E;
  paint-order: stroke;
}
@media screen and (max-width: 1139px) {
  .method__num {
    font-size: 80px;
  }
}
@media screen and (max-width: 767px) {
  .method__num {
    font-size: 50px;
  }
}
.method__num span {
  font-size: 0.2em;
  line-height: 1;
  letter-spacing: 0.14em;
  font-weight: bold;
  color: #ED861E;
  display: block;
  -webkit-text-stroke: 1px transparent;
  margin-bottom: -6px;
}
@media screen and (max-width: 767px) {
  .method__num span {
    font-size: 14px;
    margin-bottom: 2px;
  }
}
.method__sub-title {
  font-size: 30px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.6;
  letter-spacing: 0.12em;
  margin-top: 20px;
}
@media screen and (max-width: 1139px) {
  .method__sub-title {
    font-size: 28px;
  }
}
@media screen and (max-width: 767px) {
  .method__sub-title {
    font-size: 20px;
  }
}
.method__text {
  margin-top: 14px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
}
.method__text span {
  font-weight: bold;
}

.merit {
  position: relative;
}
.merit::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/section_white_round.svg) no-repeat center center;
  background-size: cover;
  aspect-ratio: 1440/114;
  width: 100%;
}
.merit::before {
  top: -4vw;
}
.merit__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 43px 20px 219px;
}
@media screen and (max-width: 767px) {
  .merit__inner {
    padding-block: 19px 80px;
  }
}
.merit__title {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.12em;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .merit__title {
    font-size: 20px;
  }
}
.merit__content {
  max-width: 950px;
  width: 100%;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .merit__content {
    margin-top: 30px;
  }
}
.merit__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 20px;
}
.merit__item {
  background: #FEF0E2;
  padding: 30px 80px 60px 70px;
  border-radius: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 40px;
}
@media screen and (max-width: 1139px) {
  .merit__item {
    padding: 20px 50px 50px;
  }
}
@media screen and (max-width: 767px) {
  .merit__item {
    padding: 30px 12px 24px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 12px;
  }
}
.merit__nums {
  position: relative;
  width: 188px;
  margin-top: 36px;
}
@media screen and (max-width: 767px) {
  .merit__nums {
    width: 140px;
    margin-top: 0;
  }
}
.merit__num {
  font-size: 70px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.12em;
  font-family: "Lato", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #ED861E;
  text-stroke: 1px #ED861E;
  paint-order: stroke;
  position: absolute;
  top: -34px;
  left: -10px;
}
@media screen and (max-width: 767px) {
  .merit__num {
    top: -12px;
    left: -44px;
    font-size: 50px;
    letter-spacing: 0.04em;
  }
}
.merit__num span {
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.14em;
  font-weight: bold;
  color: #ED861E;
  display: block;
  -webkit-text-stroke: 1px transparent;
}
.merit__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .merit__body {
    margin-top: 0;
    width: 100%;
  }
}
.merit__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 1139px) {
  .merit__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 4px;
    -webkit-box-align: start;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .merit__head {
    gap: 6px;
  }
}
.merit__label {
  background: #ED861E;
  color: #fff;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  padding: 5px 12px;
  border-radius: 100px;
}
.merit__sub-title {
  font-size: 22px;
  font-weight: bold;
  line-height: 1.7;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .merit__sub-title {
    font-size: 18px;
  }
}
.merit__text {
  margin-top: 22px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.12em;
  word-break: auto-phrase;
}
@media screen and (max-width: 767px) {
  .merit__text {
    margin-top: 20px;
    line-height: 1.6;
    font-weight: 400;
  }
}

.greeting__inner {
  max-width: 1140px;
  margin: 97px auto 0;
  padding: 70px 20px 153px;
}
@media screen and (max-width: 767px) {
  .greeting__inner {
    padding-block: 41px 81px;
    margin-top: 40px;
  }
}
.greeting__title {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .greeting__title {
    font-size: 20px;
  }
}
.greeting__content {
  margin-top: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
}
@media screen and (max-width: 1139px) {
  .greeting__content {
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .greeting__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 30px;
    gap: 30px;
  }
}
.greeting__profile-box {
  width: 42.5%;
}
@media screen and (max-width: 1139px) {
  .greeting__profile-box {
    width: 35%;
  }
}
@media screen and (max-width: 767px) {
  .greeting__profile-box {
    width: 100%;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (max-width: 767px) {
  .greeting__img--pc {
    display: none;
  }
}
.greeting__img--sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .greeting__img--sp {
    display: block;
    margin-bottom: 20px;
  }
}
.greeting__profile {
  margin-top: 18px;
  background: #FEF6EE;
  border-radius: 10px;
  padding: 28px 18px;
}
@media screen and (max-width: 767px) {
  .greeting__profile {
    margin-top: 0;
    padding: 22px 12px;
  }
}
.greeting__sub-title {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .greeting__sub-title {
    font-size: 16px;
  }
}
.greeting__name {
  margin-top: 16px;
  text-align: center;
  font-size: 25px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 1139px) {
  .greeting__name {
    font-size: 20px;
  }
}
@media screen and (max-width: 767px) {
  .greeting__name {
    font-size: 22px;
    margin-top: 30px;
  }
}
.greeting__name span {
  display: inline-block;
  margin-left: 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 1139px) {
  .greeting__name span {
    margin-left: 6px;
  }
}
@media screen and (max-width: 767px) {
  .greeting__name span {
    font-size: 14px;
    margin-left: 14px;
  }
}
.greeting__list {
  margin-top: 30px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.greeting__list dt {
  width: 117px;
  text-align: center;
  color: #ED861E;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.12em;
  padding: 5px 1px;
  border: 1px solid #ED861E;
  border-radius: 50px;
}
@media screen and (max-width: 767px) {
  .greeting__list dt {
    font-size: 14px;
  }
}
.greeting__list dd {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
  margin-top: 0.25em;
}
.greeting__wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 8px;
}
@media screen and (max-width: 1139px) {
  .greeting__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .greeting__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.greeting__sub-list li {
  font-size: 15px;
  padding-left: 1em;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.12em;
  position: relative;
}
.greeting__sub-list li::before {
  content: "";
  width: 3px;
  height: 3px;
  border-radius: 6px;
  background: #333;
  position: absolute;
  top: 0.65em;
  left: 6px;
}
.greeting__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .greeting__body {
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (max-width: 767px) {
  .greeting__title-img {
    max-width: 341px;
    width: 100%;
  }
}
.greeting__text-box {
  margin-top: 32px;
}
@media screen and (max-width: 767px) {
  .greeting__text-box {
    margin-top: 0;
  }
}
.greeting__text-box > * + * {
  margin-top: 24px;
}
.greeting__text {
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .greeting__text {
    font-size: 15px;
    font-weight: 400;
    line-height: 1.6;
  }
}
.greeting__text span {
  font-weight: bold;
}

.case {
  background: #FEF6EE;
  position: relative;
}
.case::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/section_orange_round.svg) no-repeat center center;
  background-size: cover;
  aspect-ratio: 1440/114;
  width: 100%;
}
.case::before {
  top: -4vw;
}
.case__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 43px 20px 100px;
}
@media screen and (max-width: 767px) {
  .case__inner {
    padding-block: 19px 50px;
  }
}
.case__title {
  font-size: 26px;
  font-weight: bold;
  text-align: center;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.12em;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .case__title {
    font-size: 20px;
  }
}
.case__lead {
  margin-top: 40px;
  text-align: center;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .case__lead {
    margin-top: 30px;
    line-height: 1.6;
    font-weight: 400;
    text-align: left;
  }
}
.case__annotation {
  margin-top: 14px;
  font-size: 12px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .case__annotation {
    font-size: 11px;
    font-weight: 400;
    text-align: left;
  }
}
.case__content {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .case__content {
    margin-top: 30px;
  }
}
.case__num {
  font-size: 70px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.12em;
  font-family: "Lato", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #ED861E;
  text-stroke: 1px #ED861E;
  paint-order: stroke;
}
.case__num span {
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.14em;
  font-weight: bold;
  color: #ED861E;
  display: block;
  -webkit-text-stroke: 1px transparent;
}
@media screen and (max-width: 767px) {
  .case__num span {
    text-align: center;
  }
}
.case__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
.case__item {
  background: #fff;
  padding: 26px 60px 50px;
}
@media screen and (max-width: 767px) {
  .case__item {
    padding: 16px 12px 24px;
  }
}
.case__head {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  border-bottom: 1px dashed #969696;
  padding-bottom: 18px;
}
@media screen and (max-width: 1139px) {
  .case__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .case__head {
    gap: 0;
    padding-bottom: 21px;
  }
}
.case__head-body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
}
@media screen and (max-width: 1139px) {
  .case__head-body {
    -webkit-align-self: flex-start;
        -ms-flex-item-align: start;
            align-self: flex-start;
  }
}
.case__icon {
  width: 84px;
}
@media screen and (max-width: 767px) {
  .case__icon {
    width: 67px;
  }
}
.case__sub-title {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .case__sub-title {
    font-size: 16px;
    line-height: 1.4;
  }
}
.case__sub-title-annotation {
  display: block;
  font-size: 15px;
  font-weight: 500;
  letter-spacing: 0.04em;
}
.case__body {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 36px;
  margin-top: 36px;
}
@media screen and (max-width: 1139px) {
  .case__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
.case__before-after {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .case__before-after {
    gap: 20px;
  }
}
.case__before, .case__after {
  max-width: 264px;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .case__before, .case__after {
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
    max-width: 100%;
  }
}
.case__before::before, .case__after::before {
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  top: -15px;
  color: #fff;
  font-weight: bold;
  font-size: 15px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: center;
  padding: 5px 12px;
  border-radius: 100px;
}
@media screen and (max-width: 767px) {
  .case__before::before, .case__after::before {
    width: 70%;
    max-width: 76px;
    letter-spacing: 0.04em;
    padding: 3px;
  }
}
.case__before::before {
  content: "Before";
  background: #4B8C9A;
}
.case__before::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 14px solid transparent;
  border-bottom: 14px solid transparent;
  border-left: 16px solid #ED861E;
  border-right: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -24px;
}
@media screen and (max-width: 767px) {
  .case__before::after {
    right: -17px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 12px solid #ED861E;
  }
}
.case__after::before {
  content: "After";
  background: #ED861E;
}
.case__text-wrap {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.case__text-wrap > * + * {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .case__text-wrap > * + * {
    margin-top: 18px;
  }
}
.case__text-title {
  font-size: 15px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.case__text-title--before {
  color: #4B8C9A;
}
.case__text-title--after {
  color: #ED861E;
}
.case__text {
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.12em;
  text-align: justify;
}

.promise__inner {
  max-width: 1078px;
  width: 100%;
  margin: 0 auto;
  padding: 100px 20px 157px;
}
@media screen and (max-width: 767px) {
  .promise__inner {
    padding-block: 50px 81px;
  }
}
.promise__title {
  font-size: 26px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.12em;
  font-family: "Zen Kaku Gothic New", sans-serif;
  text-align: center;
}
.promise__content {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .promise__content {
    margin-top: 45px;
  }
}
.promise__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .promise__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.promise__item {
  padding: 36px 44px 0;
  width: 33.3333333333%;
}
@media screen and (max-width: 1139px) {
  .promise__item {
    padding: 36px 20px 0;
  }
}
@media screen and (max-width: 767px) {
  .promise__item {
    width: 100%;
    padding: 35px 0 30px;
    border-bottom: 1px dashed #969696;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
  }
}
@media screen and (max-width: 767px) {
  .promise__item:first-child {
    padding-top: 0;
  }
}
.promise__item:nth-child(n+2) {
  border-left: 1px dashed #969696;
}
@media screen and (max-width: 767px) {
  .promise__item:nth-child(n+2) {
    border-left: none;
    border-bottom: 1px dashed #969696;
  }
}
.promise__img-box {
  position: relative;
  width: 101px;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .promise__img-box {
    width: 80px;
  }
}
.promise__num {
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.12em;
  font-family: "Lato", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #ED861E;
  text-stroke: 1px #ED861E;
  paint-order: stroke;
  position: absolute;
  top: -36px;
  left: -28px;
}
@media screen and (max-width: 767px) {
  .promise__num {
    font-size: 30px;
    left: 0;
    top: -18px;
  }
}
.promise__wrap {
  display: contents;
}
@media screen and (max-width: 767px) {
  .promise__wrap {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.promise__sub-title {
  margin-top: 16px;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.4;
  letter-spacing: 0.12em;
  min-height: 2.8em;
}
@media screen and (max-width: 767px) {
  .promise__sub-title {
    text-align: left;
    margin-top: 0;
    min-height: unset;
  }
}
.promise__text {
  margin-top: 16px;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.12em;
  font-weight: 400;
}

.flow {
  background: #FEF6EE;
  position: relative;
}
.flow::before {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/section_orange_round.svg) no-repeat center center;
  background-size: contain;
  aspect-ratio: 1440/114;
  width: 100%;
}
.flow::before {
  top: -4vw;
}
.flow::after {
  content: "";
  position: absolute;
  left: 0;
  background: url(../img/section_orange_bg.svg) no-repeat center center;
  background-size: contain;
  aspect-ratio: 1440/114;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .flow::after {
    background: url(../img/section_orange_bg_sp.svg) no-repeat center center;
    background-size: contain;
  }
}
.flow::after {
  bottom: -4vw;
}
.flow__inner {
  max-width: 1084px;
  width: 100%;
  margin: 0 auto;
  padding: 43px 20px 156px;
}
@media screen and (max-width: 767px) {
  .flow__inner {
    padding-block: 50px 81px;
  }
}
.flow__title {
  font-size: 26px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.12em;
  text-align: center;
  position: relative;
  z-index: 2;
}
.flow__content {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .flow__flow {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
  }
}
.flow__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 11px;
}
@media screen and (max-width: 767px) {
  .flow__list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 22px;
  }
}
.flow__num {
  font-size: 50px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0.12em;
  font-family: "Lato", sans-serif;
  color: transparent;
  -webkit-text-stroke: 1px #ED861E;
  text-stroke: 1px #ED861E;
  paint-order: stroke;
  width: 50%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1139px) {
  .flow__num {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .flow__num {
    font-size: 30px;
    width: 40px;
  }
}
.flow__num span {
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.14em;
  font-weight: bold;
  color: #ED861E;
  display: block;
  -webkit-text-stroke: 1px transparent;
}
@media screen and (max-width: 767px) {
  .flow__num span {
    font-size: 12px;
  }
}
.flow__img {
  width: 50%;
  margin: -20px auto 0;
  position: relative;
}
@media screen and (max-width: 1139px) {
  .flow__img {
    width: 75%;
  }
}
@media screen and (max-width: 767px) {
  .flow__img {
    width: 62px;
    margin-top: -6px;
  }
}
.flow__img::before {
  content: "";
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -200%;
  width: 200%;
  height: 1px;
  background: #ED861E;
}
@media screen and (max-width: 1139px) {
  .flow__img::before {
    width: 120%;
    right: -120%;
  }
}
@media screen and (max-width: 767px) {
  .flow__img::before {
    width: 1px;
    height: 80%;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 767px) {
  .flow__img img {
    position: relative;
    z-index: 2;
  }
}
.flow__item {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .flow__item {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    gap: 12px;
  }
}
.flow__item:last-child .flow__img::before {
  content: none;
}
.flow__wrap {
  display: contents;
}
@media screen and (max-width: 767px) {
  .flow__wrap {
    display: block;
    -webkit-box-flex: 1;
    -webkit-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}
.flow__sub-title {
  margin-top: 12px;
  font-weight: bold;
  line-height: 1.6;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (max-width: 1139px) {
  .flow__sub-title {
    word-break: auto-phrase;
    min-height: 3.2em;
  }
}
@media screen and (max-width: 767px) {
  .flow__sub-title {
    margin-top: 0;
    text-align: left;
    min-height: unset;
  }
}
.flow__text {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow__text {
    text-align: left;
    margin-top: 4px;
  }
}
.flow__map {
  background: #fff;
  border-radius: 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 24px;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 34px 98px 28px;
  max-width: 790px;
  margin: 102px auto 0;
}
@media screen and (max-width: 1139px) {
  .flow__map {
    margin-top: 70px;
  }
}
@media screen and (max-width: 767px) {
  .flow__map {
    margin-top: 40px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 12px;
    padding: 20px 20px 40px;
  }
}
.flow__body-title {
  font-size: 26px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.12em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .flow__body-title {
    font-size: 20px;
  }
}
.flow__body-text {
  margin-top: 20px;
  text-align: center;
  font-size: 20px;
  line-height: 2;
  letter-spacing: 0.12em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .flow__body-text {
    margin-top: 10px;
    font-size: 18px;
  }
}
.flow__body-text span {
  font-size: 16px;
}
@media screen and (max-width: 767px) {
  .flow__body-text span {
    font-size: 14px;
  }
}
.flow__map-img {
  width: 264px;
}
@media screen and (max-width: 767px) {
  .flow__map-img {
    width: 78%;
    margin: 0 auto;
  }
}

.faq__inner {
  max-width: 950px;
  margin: 0 auto;
  width: 100%;
  padding: 64px 20px 100px;
}
@media screen and (max-width: 767px) {
  .faq__inner {
    padding-block: 28px 50px;
  }
}
.faq__title {
  font-size: 26px;
  font-weight: bold;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 1.7;
  letter-spacing: 0.12em;
  text-align: center;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .faq__title {
    font-size: 20px;
  }
}
.faq__content {
  margin-top: 50px;
}
.faq__list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .faq__list {
    gap: 20px;
  }
}
.faq__head {
  background: #FEF6EE;
  padding: 10px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .faq__head {
    padding: 10px;
  }
}
.faq__head::before {
  content: "Q";
  font-family: "Lato", sans-serif;
  color: #ED861E;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.12em;
  left: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq__head::before {
    font-size: 16px;
  }
}
.faq__head-title {
  padding-left: 17px;
  padding-top: 2px;
  color: #ED861E;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .faq__head-title {
    font-size: 16px;
    padding-left: 6px;
  }
}
.faq__body {
  padding: 10px 20px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .faq__body {
    -webkit-box-align: center;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 10px;
  }
}
.faq__body::before {
  content: "A";
  font-family: "Lato", sans-serif;
  color: #ED861E;
  font-weight: bold;
  font-size: 20px;
  line-height: 1.6;
  letter-spacing: 0.12em;
  left: 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .faq__body::before {
    font-size: 16px;
  }
}
.faq__body-text {
  padding-left: 17px;
  padding-top: 4px;
}
@media screen and (max-width: 767px) {
  .faq__body-text {
    padding-left: 6px;
    font-size: 15px;
  }
}

.message {
  background: #FEF6EE;
}
.message__inner {
  max-width: 1140px;
  margin: 0 auto;
  padding: 83px 20px 163px;
}
@media screen and (max-width: 767px) {
  .message__inner {
    padding-block: 28px 81px;
    padding-inline: 10px;
  }
}
.message__content {
  background: #fff;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  gap: 67px;
  outline-offset: -15px;
  outline: 1px solid #ED861E;
  padding: 51px 75px 45px 0;
  -webkit-box-shadow: 0 2px 12px rgba(204, 185, 165, 0.34);
          box-shadow: 0 2px 12px rgba(204, 185, 165, 0.34);
}
@media screen and (max-width: 1139px) {
  .message__content {
    gap: 30px;
    padding: 40px 40px 45px 0;
  }
}
@media screen and (max-width: 767px) {
  .message__content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    outline-offset: -6px;
    padding: 0;
  }
}
.message__img {
  width: 31.708%;
  left: 5px;
  top: -32px;
  position: relative;
}
@media screen and (max-width: 767px) {
  .message__img {
    width: calc(100% - 18px);
    left: 6px;
    top: -6px;
  }
}
.message__img::before {
  content: "";
  background: url(../img/icon_clip.svg) no-repeat center center;
  background-size: contain;
  width: 61px;
  height: 52px;
  position: absolute;
  top: -18px;
  right: 87px;
}
@media screen and (max-width: 767px) {
  .message__img::before {
    aspect-ratio: 61/52;
    width: 16vw;
    height: auto;
    right: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    top: -12px;
  }
}
.message__body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 767px) {
  .message__body {
    padding: 0 20px 36px;
  }
}
.message__title {
  position: relative;
}
.message__title--en {
  font-family: "Lato", sans-serif;
  font-weight: bold;
  font-size: 70px;
  line-height: 1.2;
  letter-spacing: 0.12em;
  color: #FEF0E2;
  display: inline-block;
}
.message__title--en::first-letter {
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .message__title--en {
    font-size: clamp(3.25rem, 1.25rem + 10.67vw, 3.75rem);
  }
}
.message__title--ja {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: bold;
  font-size: 26px;
  line-height: 1.7;
  letter-spacing: 0.12em;
  color: #ED861E;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}
@media screen and (max-width: 767px) {
  .message__title--ja {
    font-size: 20px;
  }
}
.message__note {
  margin-top: 30px;
  background-image: -webkit-gradient(linear, left top, right top, from(transparent), color-stop(50%, transparent), color-stop(50%, #fff), to(#fff)), repeating-linear-gradient(180deg, transparent 0, transparent calc(2.8em - 1px), #ccc calc(2.8em - 1px), #ccc 2.8em);
  background-image: -webkit-linear-gradient(left, transparent 0%, transparent 50%, #fff 50%, #fff 100%), -webkit-repeating-linear-gradient(top, transparent 0, transparent calc(2.8em - 1px), #ccc calc(2.8em - 1px), #ccc 2.8em);
  background-image: linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 100%), repeating-linear-gradient(180deg, transparent 0, transparent calc(2.8em - 1px), #ccc calc(2.8em - 1px), #ccc 2.8em);
  background-size: 8px 100%, 100% 100%;
  line-height: 2.8em;
  padding-bottom: 1px;
}
@media screen and (max-width: 1139px) {
  .message__note {
    margin-top: 20px;
  }
}
@media screen and (max-width: 767px) {
  .message__note {
    margin-top: 12px;
  }
}
.message__text {
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: justify;
}
.message__sign {
  margin-top: 30px;
  font-weight: bold;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.12em;
  text-align: right;
  font-family: "Zen Kaku Gothic New", sans-serif;
}/*# sourceMappingURL=style.css.map */