@charset "UTF-8";
@font-face {
  font-family: canto-roman;
  font-style: normal;
  src: url("../fonts/canto-roman.ttf") format("truetype");
}
@font-face {
  font-family: din-medium;
  font-style: normal;
  src: url("../fonts/din-medium.otf") format("opentype");
}
@font-face {
  font-family: din;
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/D-DIN-Bold.otf") format("opentype");
}
@font-face {
  font-family: "kozuka-gothic-pr6n";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/KozGoPr6N-Medium.otf") format("opentype");
}
@font-face {
  font-family: "kozuka-gothic-pr6n";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/KozGoPr6N-Regular.otf") format("opentype");
}
@font-face {
  font-family: MyriadPro-Semibold;
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/MyriadPro-Semibold.otf") format("opentype");
}
@font-face {
  font-family: Koburina;
  font-style: normal;
  font-weight: 300;
  src: url("./fonts/kgstdw3.otf") format("opentype");
}
@font-face {
  font-family: Koburina;
  font-style: normal;
  font-weight: 600;
  src: url("./fonts/kgstdw6.otf") format("opentype");
}
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

*:focus {
  outline: none;
}

html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
  padding: 0;
  margin: 0;
  font-family: "kozuka-gothic-pr6n", sans-serif;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

article,
aside,
footer,
header,
nav,
section,
figcaption,
figure,
main,
details,
hgroup,
menu {
  display: block;
}

blockquote,
q {
  quotes: none;
}

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

ul,
ol,
li,
menu,
dir,
figure {
  -webkit-padding-start: 0;
          padding-inline-start: 0;
  margin-block: 0 0;
}

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace;
  font-size: 1em;
}

a {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  -webkit-text-decoration-skip: objects;
          text-decoration-skip: objects;
}

a:active,
a:hover {
  outline-width: 0;
}

b,
strong {
  font-weight: inherit;
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace;
  font-size: 1em;
}

sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

audio,
video {
  display: inline-block;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

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

button,
input,
optgroup,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

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

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

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

textarea {
  overflow: auto;
}

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

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

[type=search] {
  -webkit-appearance: textfield;
     -moz-appearance: textfield;
          appearance: textfield;
  outline-offset: -2px;
}

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

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

[hidden],
template {
  display: none;
}

input[type=button],
input[type=text],
input[type=search],
input[type=submit],
input[type=image],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
}

table,
tbody {
  padding: 0;
  border-spacing: 0;
  border-collapse: collapse;
  border: 0;
}

ul li {
  list-style: none;
}

img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  line-height: 0;
  border-style: none;
}

html {
  line-height: 1;
  -webkit-tap-highlight-color: transparent;
}

body {
  position: relative;
  overflow-x: hidden;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
      -ms-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

span {
  display: inline-block;
}

a {
  text-decoration: none;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}

a:hover {
  opacity: 0.7;
}

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

.body {
  position: relative;
}

.header {
  position: fixed;
  inset: 0 0 auto;
  z-index: 12;
  width: 100%;
  background: #fff;
  border-top: 8px solid #006954;
}
.header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 30px 30px 28px 52px;
}
@media screen and (width <= 900px) {
  .header__wrap {
    gap: 20px;
    padding: 13px 20px;
  }
}
.header__logo {
  display: block;
  width: 248px;
}
@media screen and (width <= 900px) {
  .header__logo {
    width: 139px;
    margin: 9px 0 0;
  }
}
.header__nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (width <= 900px) {
  .header__nav {
    gap: 30px;
  }
}
.header__ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 49px;
}
@media screen and (max-width: 1200px) {
  .header__ul {
    display: none;
  }
}
.header__ul li {
  display: block;
}
.header__ul a {
  display: block;
}
.header__ul img {
  width: auto;
  height: 14px;
}
.header__btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 159px;
  height: 50px;
  font-family: din, sans-serif;
  font-size: 20px;
  font-weight: 700;
  color: #fff;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 93, 128)), to(rgb(51, 126, 154)));
  background: linear-gradient(90deg, rgb(0, 93, 128) 0%, rgb(51, 126, 154) 100%);
  border-radius: 100px;
}
@media screen and (width <= 900px) {
  .header__btn {
    width: 112px;
    height: 46px;
    font-size: 16px;
  }
}
.header__btn.open {
  display: none;
}

.hamburger {
  display: none;
  padding: 15px 0;
  cursor: pointer;
}
@media screen and (max-width: 1200px) {
  .hamburger {
    display: block;
  }
}
@media screen and (width <= 900px) {
  .hamburger {
    padding: 13px 0;
  }
}
.hamburger__overlay {
  position: fixed;
  inset: 0;
  z-index: 10;
  display: block;
  width: 100%;
  height: 100%;
  pointer-events: all;
  content: "";
  background: rgba(0, 0, 0, 0.4);
}
.hamburger__line {
  position: relative;
  width: 30px;
  height: 20px;
  pointer-events: all;
  -webkit-transition: 0.5s opacity;
  transition: 0.5s opacity;
}
.hamburger__line:hover {
  opacity: 0.7;
}
.hamburger__border1, .hamburger__border2, .hamburger__border3 {
  position: absolute;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  background: #006954;
  border-radius: 2px;
  -webkit-transition: 0.5s;
  transition: 0.5s;
}
.hamburger__border1 {
  top: 0;
}
.hamburger__border1.open {
  top: 50%;
  left: 50%;
  width: 36.0555127546px;
  -webkit-transform: rotate(33.690067526deg) translate(-50%, -50%);
          transform: rotate(33.690067526deg) translate(-50%, -50%);
  -webkit-transform-origin: top left;
          transform-origin: top left;
}
.hamburger__border2 {
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.hamburger__border2.open {
  visibility: hidden;
  opacity: 0;
}
.hamburger__border3 {
  bottom: 0;
}
.hamburger__border3.open {
  bottom: 50%;
  left: 50%;
  width: 36.0555127546px;
  -webkit-transform: rotate(-33.690067526deg) translate(-50%, 50%);
          transform: rotate(-33.690067526deg) translate(-50%, 50%);
  -webkit-transform-origin: bottom left;
          transform-origin: bottom left;
}

.hamin {
  position: fixed;
  inset: 0;
  z-index: 11;
  display: none;
  width: 100%;
  height: 100%;
  padding: 160px 0 0;
  background: #fff;
}
.hamin.js-open {
  display: block;
  opacity: 1;
}
.hamin ul {
  max-width: 285px;
  margin: 0 auto;
  border-bottom: 1px solid #99c3bb;
}
.hamin li {
  border-top: 1px solid #99c3bb;
}
.hamin li a {
  display: block;
  width: 100%;
  padding: 24px 0;
}
.hamin img {
  width: auto;
  height: 14px;
  margin: 0 auto;
}
.hamin__btn {
  display: block;
  max-width: 285px;
  margin: 45px auto 0;
  font-family: DIN, sans-serif;
  font-size: 16px;
  font-weight: 700;
  line-height: 46px;
  color: #fff;
  text-align: center;
  text-indent: 0.1em;
  letter-spacing: 0.1em;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 93, 128)), to(rgb(51, 126, 154)));
  background: linear-gradient(90deg, rgb(0, 93, 128) 0%, rgb(51, 126, 154) 100%);
  border-radius: 40px;
}

.btn {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 240px;
  height: 56px;
  padding: 0 0 0 52px;
  margin: 0 auto;
  cursor: pointer;
  background: #006954;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media screen and (width <= 900px) {
  .btn {
    width: 200px;
    height: 48px;
    padding: 0 0 0 33px;
  }
}
.btn__arrow {
  display: block;
  width: 20px;
}
.btn__1 {
  display: block;
  width: 71.7px;
  margin: 0 0 0 22px;
}
.btn__2 {
  display: none;
  width: 38px;
  margin: 0 0 0 39px;
}
.btn.js-active .btn__arrow {
  -webkit-transform: rotateZ(180deg);
          transform: rotateZ(180deg);
}
.btn.js-active .btn__1 {
  display: none;
}
.btn.js-active .btn__2 {
  display: block;
}

.kv {
  position: relative;
  z-index: 1;
}
.kv__kv {
  position: relative;
  z-index: 1;
}
@media screen and (width <= 900px) {
  .kv__kv {
    padding: 8px 0 0;
  }
}
.kv__wrap {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0 0 50px 50px;
}
@media screen and (max-width: 1200px) {
  .kv__wrap {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    padding: 0 0 50px 20px;
  }
}
@media screen and (width <= 900px) {
  .kv__wrap {
    padding: 0 0 max(32px, calc(8.5333333333vw + 0px)) max(32px, calc(8.5333333333vw + 0px));
  }
}
.kv__title {
  width: 474px;
}
@media screen and (width <= 900px) {
  .kv__title {
    width: max(313px, calc(83.4666666667vw + 0px));
  }
}
.kv__t {
  width: 315.4px;
}
@media screen and (width <= 900px) {
  .kv__t {
    width: max(280px, calc(74.6666666667vw + 0px));
  }
}
.kv__catch {
  margin-top: 45px;
}
@media screen and (width <= 900px) {
  .kv__catch {
    margin-top: max(33px, calc(8.8vw + 0px));
  }
}
@media screen and (width <= 900px) {
  .kv__content {
    display: none;
  }
}
.kv__4 {
  max-width: 313px;
  margin: 0 0 0 auto;
}
.kv__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 11px;
  padding: 29px 50px 0 0;
}
@media screen and (max-width: 1200px) {
  .kv__flex {
    padding: 29px 20px 0 0;
  }
}
.kv__1, .kv__2, .kv__3 {
  width: 180px;
}
@media screen and (max-width: 1200px) {
  .kv__1, .kv__2, .kv__3 {
    width: 150px;
  }
}
.kv__sp {
  position: relative;
  z-index: 1;
  display: none;
  padding: 0 0 48px;
}
@media screen and (width <= 900px) {
  .kv__sp {
    display: block;
  }
}
.kv__sp::after {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 200px;
  content: "";
  background: -webkit-gradient(linear, left bottom, left top, from(rgb(178, 210, 204)), color-stop(22.3%, rgba(182, 212, 207, 0.78)), color-stop(45.4%, rgba(195, 220, 215, 0.55)), color-stop(68.88%, rgba(215, 232, 229, 0.31)), color-stop(92.47%, rgba(244, 249, 248, 0.08)), to(rgba(255, 255, 255, 0)));
  background: linear-gradient(0deg, rgb(178, 210, 204) 0%, rgba(182, 212, 207, 0.78) 22.3%, rgba(195, 220, 215, 0.55) 45.4%, rgba(215, 232, 229, 0.31) 68.88%, rgba(244, 249, 248, 0.08) 92.47%, rgba(255, 255, 255, 0) 100%);
}
.kv__content-sp {
  position: relative;
  z-index: 2;
}
.kv__4-sp {
  width: 345px;
  margin: 38px 0 0;
}
.kv__1-sp {
  display: block;
  width: 153px;
  margin: 20px auto 0;
}
.kv__2-sp, .kv__3-sp {
  display: block;
  width: 153px;
}
.kv__flex-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  max-width: 316px;
  margin: 8px auto 0;
}

.s1 {
  position: relative;
}
.s1::before {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  display: block;
  width: clamp(383px, calc(50vw + -267px), 766px);
  height: clamp(280px, calc(50vw + -370px), 560px);
  margin: 0 0 0 auto;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  content: "";
  background: #4c9687;
}
@media screen and (width <= 900px) {
  .s1::before {
    width: 120px;
    height: 88px;
  }
}
.s1::after {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  display: block;
  width: 100%;
  height: clamp(1567px, calc(100vw + 267px), 3000px);
  margin: max(0px, calc(-50vw + 1260px)) 0 0;
  clip-path: polygon(0 0, 100% 60.6892150606%, 100% 100%, 0 39.3107849394%);
  content: "";
  background: #e5f0ee;
}
@media screen and (width <= 900px) {
  .s1::after {
    height: 452px;
    margin: 740px 0 0;
    clip-path: polygon(0 0, 100% 60.6194690265%, 100% 100%, 0 39.3805309735%);
  }
}

.s2 {
  position: relative;
}
.s2::before {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1;
  display: block;
  width: clamp(383px, calc(50vw + -267px), 766px);
  height: clamp(280px, calc(50vw + -370px), 560px);
  margin: 0 0 0 auto;
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  content: "";
  background: #9cc4bc;
}
@media screen and (width <= 900px) {
  .s2::before {
    width: 120px;
    height: 89px;
  }
}
.s2::after {
  position: absolute;
  inset: auto 0 -135px;
  z-index: 1;
  display: block;
  width: 100%;
  height: clamp(951px, calc(100vw + -349px), 1350px);
  clip-path: polygon(0 0, 0% 100%, 100% 100%);
  content: "";
  background: #d4d9db;
}
@media screen and (width <= 900px) {
  .s2::after {
    inset: auto 0 0;
    height: 274px;
  }
}

.message {
  position: relative;
  z-index: 3;
  padding: 50px 0 80px;
}
@media screen and (width <= 900px) {
  .message {
    padding: 56px 0 0;
  }
}
.message__title img {
  width: 311px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .message__title img {
    width: 325px;
  }
}
.message__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 75px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  max-width: 740px;
  padding: 59px 20px 0;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .message__flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 26px;
    padding: 33px 25px 0;
  }
}
.message__img {
  width: 460px;
}
@media screen and (width <= 900px) {
  .message__img {
    width: 100%;
  }
}
.message__sig {
  width: 163px;
  padding: 169px 0 0;
}
@media screen and (width <= 900px) {
  .message__sig {
    padding: 0;
  }
}
.message__text {
  max-width: 740px;
  padding: 64px 20px 0;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .message__text {
    padding: 32px 15px 0;
  }
}
.message__text p {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 30px;
  color: #231815;
  text-align: justify;
  letter-spacing: 0.08em;
}
@media screen and (width <= 900px) {
  .message__text p {
    padding: 0 10px;
  }
}
.message__t {
  max-width: 592px;
  padding: 0 0 31px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .message__t {
    max-width: 323px;
    padding: 0 0 24px;
    margin: 0;
  }
}

.feat {
  position: relative;
  z-index: 3;
  max-width: 1140px;
  padding: 100px 20px 0;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .feat {
    padding: 76px 0 0;
  }
}
@media screen and (width <= 900px) {
  .feat::after {
    position: absolute;
    inset: auto 0 -70px;
    z-index: 1;
    display: block;
    width: 100%;
    height: 452px;
    clip-path: polygon(0 0, 100% 60.6194690265%, 100% 100%, 0 39.3805309735%);
    content: "";
    background: #e5f0ee;
  }
}
.feat__head {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  border-bottom: 2px solid #000;
}
@media screen and (width <= 900px) {
  .feat__head {
    display: block;
  }
}
.feat__head::after {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 30px;
  content: "";
  background: #9cc4bc;
}
@media screen and (width <= 900px) {
  .feat__head::after {
    height: calc(100% - 39px);
  }
}
.feat__head::before {
  position: absolute;
  inset: auto 0 0;
  z-index: 2;
  display: block;
  width: calc(100% - 121px);
  height: 30px;
  clip-path: polygon(0 0, calc(100% - 34px) 0%, 100% 100%, 0% 100%);
  content: "";
  background: #267f6d;
}
@media screen and (width <= 900px) {
  .feat__head::before {
    width: 350px;
    height: calc(100% - 39px);
    clip-path: polygon(0 0, 252px 0%, 100% 100%, 0% 100%);
  }
}
.feat__title {
  position: relative;
  z-index: 3;
  width: 427px;
  padding: 2px 0 0 26px;
  clip-path: polygon(0 0, 87.1% 0%, 100% 100%, 0% 100%);
  font-family: Koburina, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 44px;
  color: #fff;
  letter-spacing: 0.14em;
  background: #000;
}
@media screen and (width <= 900px) {
  .feat__title {
    width: auto;
    max-width: 350px;
    padding: 0 0 0 25px;
    clip-path: polygon(0 0, 297px 0%, 100% 100%, 0% 100%);
    font-size: 16px;
    line-height: 39px;
  }
}
.feat__t {
  position: relative;
  z-index: 3;
  width: 407px;
  padding: 0 0 6px;
}
@media screen and (width <= 900px) {
  .feat__t {
    width: auto;
    max-width: 216px;
    padding: 17px 0 17px 25px;
  }
}
.feat__conts {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 31px;
  margin: 40px auto 0;
}
@media screen and (max-width: 1050px) {
  .feat__conts {
    gap: 10px;
  }
}
@media screen and (width <= 900px) {
  .feat__conts {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 24px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.feat__article {
  width: 364px;
  padding: 19px 19px 23px;
  background: #fff;
  border: 1px solid #006954;
}
@media screen and (width <= 900px) {
  .feat__article {
    width: 325px;
  }
}
.feat__box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 22px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #267f6d;
}
@media screen and (max-width: 1000px) {
  .feat__box {
    gap: 10px;
  }
}
@media screen and (width <= 900px) {
  .feat__box {
    gap: 22px;
  }
}
.feat__num {
  width: 61px;
  padding: 0 0 0 20px;
  clip-path: polygon(0% 0%, 77% 0%, 100% 50%, 77% 100%, 0% 100%);
  font-family: din, sans-serif;
  font-size: 26px;
  font-weight: 700;
  line-height: 56px;
  color: #fff;
  background: #267f6d;
}
.feat__subtitle {
  font-family: Koburina, sans-serif;
  font-size: 18px;
  font-weight: 700;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 26px;
  color: #231815;
  letter-spacing: 0.08em;
}
@media screen and (max-width: 1000px) {
  .feat__subtitle {
    font-size: 17px;
  }
}
@media screen and (width <= 900px) {
  .feat__subtitle {
    font-size: 18px;
  }
}
.feat__img {
  margin: 32px 0 0;
}
@media screen and (width <= 900px) {
  .feat__img {
    margin: 30px 0 0;
  }
}
.feat__text {
  padding: 26px 0 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 30px;
  color: #231815;
  text-align: justify;
  letter-spacing: 0.12em;
}

.st {
  position: relative;
  z-index: 3;
  padding: 165px 0 0;
}
@media screen and (width <= 900px) {
  .st {
    padding: 75px 0 0;
  }
}
.st::after {
  position: absolute;
  inset: auto 0 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 0;
  clip-path: polygon(0 0, 100% calc(100% - 216px), 100% 100%, 0% 100%);
  content: "";
  background: #e5f0ee;
  -webkit-transition: height 0.5s ease-out;
  transition: height 0.5s ease-out;
}
.st.js-active::after {
  height: clamp(1383px, calc(100vw + 83px), 2600px);
}
.st__title img {
  width: 410px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .st__title img {
    width: 100%;
    max-width: 325px;
  }
}
.st__head {
  position: relative;
  max-width: 940px;
  padding: 65px 20px 78px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .st__head {
    max-width: 740px;
    padding: 33px 15px 95px;
  }
}
.st__img {
  position: relative;
  z-index: 1;
  max-width: 836px;
  padding: 0 0 0 18px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .st__img {
    padding: 0 10px;
  }
}
.st__text {
  position: absolute;
  inset: auto 20px 64px;
  z-index: 2;
  width: 570px;
}
@media screen and (width <= 900px) {
  .st__text {
    inset: auto 15px 41px;
    width: 330px;
  }
}

.st-line {
  position: relative;
  z-index: 3;
  background: #4c9687;
}
.st-line__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 45px;
  max-width: 940px;
  padding: 31px 20px 29px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .st-line__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 28px 25px 26px;
  }
}
.st-line__left, .st-line__right {
  width: 376px;
}
@media screen and (width <= 900px) {
  .st-line__left, .st-line__right {
    width: 325px;
  }
}
.st-line__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 0 0 15px;
  border-bottom: 1px solid #fff;
}
@media screen and (width <= 900px) {
  .st-line__flex {
    padding: 0 0 13px;
  }
}
.st-line__flex_2 {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
@media screen and (width <= 900px) {
  .st-line__flex_2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}
.st-line__img {
  width: 130px;
}
@media screen and (width <= 900px) {
  .st-line__img {
    width: 105px;
  }
}
.st-line__t1 {
  width: 190px;
  margin: 0 0 0 32px;
}
@media screen and (width <= 900px) {
  .st-line__t1 {
    width: 160px;
    margin: 0 0 0 25px;
  }
}
.st-line__t2 {
  width: 208px;
  margin: 0 27px 0 0;
}
@media screen and (width <= 900px) {
  .st-line__t2 {
    width: 192px;
    margin: 0 0 0 25px;
  }
}
.st-line__p {
  padding: 16px 0 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 22px;
  color: #fff;
  letter-spacing: 0.08em;
}
.st-line__x {
  display: block;
  -ms-flex-item-align: center;
      align-self: center;
  width: 60px;
}
@media screen and (width <= 900px) {
  .st-line__x {
    width: 32px;
    margin: 16px 0 20px;
  }
}

.talk {
  position: relative;
  z-index: 3;
}
.talk__head {
  max-width: 840px;
  padding: 64px 20px 0;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .talk__head {
    padding: 40px 25px 0;
  }
}
.talk__accordion {
  position: relative;
  display: none;
}
.talk__accordion-wrap {
  max-width: 840px;
  padding: 0 20px 68px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .talk__accordion-wrap {
    padding: 0 25px 40px;
  }
}
.talk__title {
  position: relative;
  z-index: 2;
  padding: 11.67px 26px;
  background: #e5f0ee;
  border-left: 6px solid #99c3bb;
}
@media screen and (width <= 900px) {
  .talk__title {
    padding: 14.5px 0 14.5px 26px;
  }
}
.talk__title img {
  width: auto;
  height: 16.66px;
}
@media screen and (width <= 900px) {
  .talk__title img {
    width: 239px;
    height: auto;
  }
}
.talk__title_2 {
  margin: 100px 0 0;
}
@media screen and (width <= 900px) {
  .talk__title_2 {
    margin: 40px 0 0;
  }
  .talk__title_2 img {
    width: 186px;
  }
}
.talk__flex {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 50px;
  padding: 40px 0 0;
}
@media screen and (width <= 900px) {
  .talk__flex {
    gap: 16px;
    padding: 32px 0 0;
  }
}
.talk__flex_1 {
  padding: 45px 0 0;
}
@media screen and (width <= 900px) {
  .talk__flex_1 {
    padding: 27px 0 0;
  }
}
.talk__flex_2 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media screen and (width <= 900px) {
  .talk__flex_2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}
.talk__flex figure {
  display: block;
  width: 90px;
}
@media screen and (width <= 900px) {
  .talk__flex figure {
    width: 64px;
  }
}
.talk__flex figcaption {
  display: block;
  padding: 14px 0 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W6", "kozuka-gothic-pr6n", sans-serif;
  font-size: 14px;
  font-weight: 600;
  color: #877016;
  text-align: center;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}
@media screen and (width <= 900px) {
  .talk__flex figcaption {
    padding: 9px 0 0;
  }
}
.talk__txtwrap {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 16px;
  line-height: 27px;
  color: #231815;
  text-align: justify;
  text-indent: 0.08em;
}
@media screen and (width <= 900px) {
  .talk__txtwrap {
    font-size: 15px;
  }
}
.talk__btn {
  padding: 58px 0 96px;
}
@media screen and (width <= 900px) {
  .talk__btn {
    padding: 40px 0 72px;
  }
}
.talk__btn.js-active {
  padding: 64px 0 96px;
}
@media screen and (width <= 900px) {
  .talk__btn.js-active {
    padding: 40px 0 72px;
  }
}

.dp {
  position: relative;
  z-index: 3;
  padding: 141px 0 142px;
}
@media screen and (width <= 900px) {
  .dp {
    padding: 75px 0 72px;
  }
}
.dp__title img {
  max-width: 490px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .dp__title img {
    max-width: 325px;
  }
}
.dp__head {
  padding: 37px 20px 0;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 30px;
  text-align: center;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}
@media screen and (width <= 900px) {
  .dp__head {
    padding: 30px 25px 0;
  }
}
.dp__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 1140px;
  padding: 43px 20px 0;
  margin: 0 auto;
}
@media screen and (max-width: 1140px) {
  .dp__main {
    gap: 20px;
  }
}
@media screen and (width <= 900px) {
  .dp__main {
    padding: 33px 25px 0;
  }
}
.dp__main.js-active {
  padding: 81px 20px 0;
}
@media screen and (width <= 900px) {
  .dp__main.js-active {
    padding: 33px 25px 0;
  }
}
.dp__main span {
  display: inline-block;
}
.dp__accordion {
  display: none;
  max-width: 1140px;
  padding: 38px 20px 0;
  margin: 0 auto;
}
@media screen and (max-width: 1140px) {
  .dp__accordion {
    padding: 20px 20px 0;
  }
}
@media screen and (width <= 900px) {
  .dp__accordion {
    padding: 20px 25px 0;
  }
}
.dp__accordion-in {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 40px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 1140px) {
  .dp__accordion-in {
    gap: 20px;
  }
}
.dp__foot {
  max-width: 1140px;
  padding: 15px 20px 37px;
  margin: 0 auto;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 12px;
  color: #231815;
  text-align: right;
}
@media screen and (width <= 900px) {
  .dp__foot {
    max-width: 720px;
    padding: 15px 25px 20px;
  }
}
@media screen and (max-width: 719px) {
  .dp__foot {
    max-width: 375px;
  }
}

.dp-box {
  width: 530px;
  padding: 19px;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  background: #fff;
  border: 1px solid #99c3bb;
}
@media screen and (max-width: 1140px) {
  .dp-box {
    width: calc(50% - 10px);
  }
}
@media screen and (width <= 900px) {
  .dp-box {
    width: 325px;
  }
}
.dp-box__main {
  display: grid;
  grid-template-rows: 56px auto;
  grid-template-columns: 154px auto;
  gap: 0 26px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media screen and (max-width: 1140px) {
  .dp-box__main {
    grid-template-rows: 198px auto;
    grid-template-columns: 150px auto;
    gap: 0 16px;
  }
}
.dp-box__pic {
  grid-area: 1/1/3/2;
  width: 154px;
}
@media screen and (max-width: 1140px) {
  .dp-box__pic {
    grid-area: 1/1/2/2;
    width: 150px;
    height: 100%;
  }
}
.dp-box__pic img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
}
.dp-box__title {
  grid-area: 1/2/2/3;
}
@media screen and (max-width: 1140px) {
  .dp-box__title {
    grid-area: 1/2/2/3;
    align-self: center;
  }
}
.dp-box__col {
  grid-area: 2/2/3/3;
}
@media screen and (max-width: 1140px) {
  .dp-box__col {
    grid-area: 2/1/3/3;
    padding: 10px 0 0;
  }
}
.dp-box__name {
  padding: 0 0 11px;
}
.dp-box__name img {
  width: auto;
  height: 45px;
}
.dp-box__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 6px 0 0;
}
.dp-box__dl dt {
  width: 120px;
  padding: 0 3px;
  font-size: 13px;
  line-height: 22px;
  color: #fff;
  text-align: justify;
  -moz-text-align-last: justify;
       text-align-last: justify;
  letter-spacing: -0.06em;
  background: #4c9687;
}
@media screen and (width <= 900px) {
  .dp-box__dl dt {
    font-size: 12px;
  }
}
.dp-box__dl dt.dp-box__small {
  padding: 0 0 0 3px;
}
.dp-box__dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 13px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 22px;
  color: #231815;
}
.dp-box__dl dd.ls {
  letter-spacing: -0.06em;
}
.dp-box__dl dd span {
  display: inline-block;
}
.dp-box__foot {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding: 24px 0 0;
}
@media screen and (max-width: 1140px) {
  .dp-box__foot {
    padding: 10px 0 0;
  }
}
@media screen and (width <= 900px) {
  .dp-box__foot {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.dp-box__qca {
  width: 70px;
  font-size: 13px;
  line-height: 70px;
  color: #fff;
  text-align: center;
  text-indent: 1em;
  letter-spacing: 1em;
  background: #4c9687;
}
@media screen and (width <= 900px) {
  .dp-box__qca {
    width: 100%;
    line-height: 22px;
  }
}
.dp-box__qcat {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 13px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 18px;
}

.voice {
  position: relative;
  z-index: 2;
  padding: 0 0 134px;
}
@media screen and (width <= 900px) {
  .voice {
    padding: 0 0 65px;
  }
}
.voice::before {
  position: absolute;
  inset: 135px 0 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: calc(100% - 135px);
  content: "";
  background: #d4d9db;
}
@media screen and (width <= 900px) {
  .voice::before {
    inset: 0;
    height: 100%;
  }
}
.voice__head {
  position: relative;
  z-index: 2;
  width: max(500px, calc(50vw + -150px));
  padding: 0 0 0 max(100px, calc(50vw + -550px));
  clip-path: polygon(0 0, calc(100% - 55px) 0%, 100% 100%, 0% 100%);
  background: #000;
}
@media screen and (width <= 900px) {
  .voice__head {
    width: min(500px, 93.3333333333%);
    padding: 0 25px;
  }
}
.voice__title {
  font-family: Koburina, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 48px;
  color: #fff;
  letter-spacing: 0.14em;
}
@media screen and (width <= 900px) {
  .voice__title {
    font-size: 16px;
    line-height: 39px;
  }
}
.voice__message {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 32px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  max-width: 1240px;
  padding: 0 20px 40px 70px;
  margin: 80px auto 0;
}
@media screen and (width <= 900px) {
  .voice__message {
    padding: 0 25px 28px;
    margin: 40px auto 0;
  }
}
.voice__message_2 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  max-width: 1040px;
  padding: 0 20px 40px;
  margin: 53px auto 0;
}
@media screen and (width <= 900px) {
  .voice__message_2 {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    padding: 0 25px 28px;
    margin: 50px auto 0;
  }
}
.voice__message::after {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  content: "";
  background: #1f7b68;
}
.voice__message picture {
  width: 73px;
}
.voice__wrap {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 40px;
  padding: 0 calc(50vw + -520px) 0 0;
}
@media screen and (width <= 900px) {
  .voice__wrap {
    display: block;
  }
}
.voice__wrap_2 {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  padding: 0 0 0 calc(50vw + -520px);
}
.voice__pic {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (width <= 900px) {
  .voice__pic {
    max-width: 715px;
    padding: 0 25px 0 0;
  }
}
.voice__conts {
  width: 600px;
  padding: 0 20px;
}
@media screen and (width <= 900px) {
  .voice__conts {
    width: auto;
    padding: 26px 25px 0;
  }
}
.voice__name img {
  width: auto;
  height: 49px;
}
.voice__t {
  padding: 40px 0 0;
}
@media screen and (width <= 900px) {
  .voice__t {
    padding: 30px 0 0;
  }
}
.voice__t img {
  width: auto;
  height: 71px;
}
@media screen and (width <= 900px) {
  .voice__t img {
    height: 108px;
  }
}
.voice__text {
  padding: 30px 0 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 30px;
  text-align: justify;
  letter-spacing: 0.08em;
}
@media screen and (width <= 900px) {
  .voice__text {
    padding: 27px 0 0;
    font-size: 15px;
    line-height: 27px;
  }
}

.data {
  position: relative;
  z-index: 3;
  padding: 105px 0 84px;
  background-image: url("./img/data-bg.png");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media screen and (width <= 900px) {
  .data {
    padding: 75px 0 70px;
    background-color: #e5f0ee;
    background-image: none;
  }
}
.data__title img {
  max-width: 446px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .data__title img {
    max-width: 325px;
  }
}
.data__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  max-width: 1040px;
  padding: 0 20px;
  margin: 20px auto 0;
}
@media screen and (width <= 900px) {
  .data__flex {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 375px;
    padding: 0 25px;
  }
}
.data__flex_1 {
  margin: 80px auto 0;
}
@media screen and (width <= 900px) {
  .data__flex_1 {
    margin: 32px auto 0;
  }
}
.data__flex_last {
  margin: 32px auto 0;
}
@media screen and (width <= 900px) {
  .data__flex_last {
    display: none;
  }
}
@media screen and (width <= 900px) {
  .data__flex_last2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.data__co1 {
  width: 390px;
}
@media screen and (width <= 900px) {
  .data__co1 {
    width: auto;
    max-width: 325px;
  }
}
.data__co2 {
  width: 350px;
}
@media screen and (width <= 900px) {
  .data__co2 {
    width: auto;
    max-width: 325px;
  }
}
.data__1 {
  width: 590px;
}
@media screen and (width <= 900px) {
  .data__1 {
    width: auto;
    max-width: 325px;
  }
}
.data__3 {
  padding: 20px 0 0;
}
.data__4 {
  width: 500px;
}
@media screen and (width <= 900px) {
  .data__4 {
    width: auto;
    max-width: 325px;
  }
}
.data__5 {
  width: 700px;
}
@media screen and (width <= 900px) {
  .data__5 {
    width: auto;
    max-width: 325px;
  }
}
.data__6 {
  width: 630px;
}
@media screen and (width <= 900px) {
  .data__6 {
    width: auto;
    max-width: 325px;
  }
}
.data__7 {
  padding: 20px 0 0;
}
@media screen and (width <= 900px) {
  .data__7 {
    padding: 0;
  }
}
.data__img1 {
  width: 480px;
}
@media screen and (width <= 900px) {
  .data__img1 {
    display: none;
  }
}
.data__img2 {
  width: 280px;
}
@media screen and (width <= 900px) {
  .data__img2 {
    display: none;
  }
}
@media screen and (width <= 900px) {
  .data__img3 {
    display: none;
  }
}
.data__img4, .data__img5, .data__img6 {
  width: 320px;
}
.data__foot {
  max-width: 1040px;
  padding: 12px 20px 0;
  margin: 0 auto;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 12px;
  line-height: 18px;
  color: #231815;
  text-align: right;
}
@media screen and (width <= 900px) {
  .data__foot {
    max-width: 375px;
    padding: 14px 25px 0;
  }
}

.req {
  position: relative;
  z-index: 3;
  padding: 125px 0 80px;
}
@media screen and (width <= 900px) {
  .req {
    padding: 72px 0;
  }
}
.req::before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: block;
  width: clamp(410px, calc(50vw + -240px), 820px);
  height: clamp(300px, calc(50vw + -350px), 600px);
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  content: "";
  background: #e8f1f6;
}
@media screen and (width <= 900px) {
  .req::before {
    width: 120px;
    height: 88px;
  }
}
.req__title img {
  max-width: 371px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .req__title img {
    max-width: 278px;
  }
}
.req__wrap {
  max-width: 790px;
  padding: 0 20px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .req__wrap {
    max-width: 500px;
    padding: 0 25px;
  }
}
.req__dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 80px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
}
@media screen and (width <= 900px) {
  .req__dl {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 11px;
  }
}
.req__dl_1 {
  padding: 87px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_1 {
    padding: 34px 0 0;
  }
}
.req__dl_2 {
  padding: 30px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_2 {
    padding: 14px 0 0;
  }
}
.req__dl_3 {
  padding: 58px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_3 {
    padding: 14px 0 0;
  }
}
.req__dl_4 {
  padding: 53px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_4 {
    padding: 27px 0 0;
  }
}
.req__dl_5 {
  padding: 10px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_5 {
    padding: 14px 0 0;
  }
}
.req__dl_5 a {
  color: #0019ff;
  text-decoration: underline;
}
.req__dl_6 {
  padding: 44px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_6 {
    padding: 14px 0 0;
  }
}
.req__dl_7 {
  padding: 10px 0 0;
}
@media screen and (width <= 900px) {
  .req__dl_7 {
    padding: 14px 0 0;
  }
}
.req__dl dt {
  width: 130px;
  margin: 2px 0 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  color: #fff;
  text-align: center;
  letter-spacing: -0.057em;
  background: #4c9687;
}
.req__dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 30px;
  color: #231815;
  letter-spacing: 0.06em;
}
.req__in {
  padding: 0 0 0 15px;
  margin: 19px 0 0;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: 0;
  border-left: 6px solid #d4d9db;
}
.req__in a {
  display: block;
  color: #0019ff;
  text-decoration: underline;
}
.req__box {
  max-width: 940px;
  padding: 0 20px;
  margin: 125px auto 0;
}
@media screen and (width <= 900px) {
  .req__box {
    max-width: 500px;
    padding: 0 25px;
    margin: 70px auto 0;
  }
}
.req__boxin {
  padding: 49px 20px 40px;
  border: 1px solid #1f7b68;
}
@media screen and (width <= 900px) {
  .req__boxin {
    padding: 40px 20px 29px;
  }
}
.req__title1 img {
  max-width: 477px;
  margin: 0 auto;
}
@media screen and (width <= 900px) {
  .req__title1 img {
    max-width: 283px;
  }
}
.req__text {
  max-width: 700px;
  margin: 52px auto 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  line-height: 30px;
  letter-spacing: 0.05em;
}
@media screen and (width <= 900px) {
  .req__text {
    margin: 25px auto 0;
  }
}
.req__img {
  max-width: 320px;
  margin: 49px auto 0;
}
@media screen and (width <= 900px) {
  .req__img {
    max-width: 220px;
    margin: 25px auto 0;
  }
}

.group {
  position: relative;
  z-index: 2;
  padding: 90px 20px;
  background: #d4d9db;
}
@media screen and (width <= 900px) {
  .group {
    padding: 40px 25px;
  }
}
.group__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  max-width: 1100px;
  margin: 0 auto;
}
@media screen and (max-width: 1140px) {
  .group__wrap {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    max-width: 540px;
  }
}
@media screen and (width <= 900px) {
  .group__wrap {
    gap: 20px 12px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 325px;
  }
}
.group__box {
  display: block;
  width: 260px;
  background: #fff;
}
@media screen and (width <= 900px) {
  .group__box {
    width: 156px;
  }
}
.group__box:hover {
  opacity: 0.5;
}
.group__in {
  padding: 23px 15px 22.8px;
}
@media screen and (width <= 900px) {
  .group__in {
    padding: 12px 10px 11px;
  }
}
.group__name {
  padding: 0 0 12px;
}
@media screen and (width <= 900px) {
  .group__name {
    padding: 0 0 9px;
  }
}
.group__name img {
  width: auto;
  height: 14.8px;
}
@media screen and (width <= 900px) {
  .group__name img {
    height: 33px;
  }
}
.group__name2 {
  padding: 0 0 12px;
}
@media screen and (width <= 900px) {
  .group__name2 {
    padding: 0 0 9px;
  }
}
.group__name2 img {
  width: auto;
  height: 38.7px;
}
@media screen and (width <= 900px) {
  .group__name2 img {
    height: 33px;
  }
}
.group__cont {
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 14px;
  line-height: 24px;
  color: #231815;
  letter-spacing: 0;
  border-top: 1px solid #267f6d;
}
@media screen and (width <= 900px) {
  .group__cont {
    padding: 7px 0 0;
    font-size: 12px;
    line-height: 17px;
  }
  .group__cont span {
    display: inline-block;
  }
}

.footer {
  position: relative;
  z-index: 2;
  padding: 60px 20px 87px;
  font-family: Koburina, sans-serif;
  color: #231815;
}
@media screen and (width <= 900px) {
  .footer {
    padding: 70px 25px 100px;
  }
}
.footer::before {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
  display: block;
  width: clamp(200px, calc(50vw + -450px), 400px);
  height: clamp(145px, calc(50vw + -505px), 290px);
  clip-path: polygon(0 0, 100% 100%, 100% 0);
  content: "";
  background: #e8f1f6;
}
@media screen and (width <= 900px) {
  .footer::before {
    width: 120px;
    height: 88px;
  }
}
.footer::after {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  display: block;
  width: clamp(230px, calc(50vw + -420px), 460px);
  height: clamp(168px, calc(50vw + -482px), 336px);
  clip-path: polygon(0 0, 0 100%, 100% 100%);
  content: "";
  background: #006954;
  opacity: 0.5;
}
@media screen and (width <= 900px) {
  .footer::after {
    width: 120px;
    height: 88px;
  }
}
.footer__logo {
  display: block;
  max-width: 360px;
  margin: 0 auto 44px;
}
@media screen and (width <= 900px) {
  .footer__logo {
    max-width: 240px;
    margin: 0 auto 32px;
  }
}
.footer__box {
  max-width: 900px;
  padding: 30px 0 22px;
  margin: 0 auto;
  border-top: 1px solid #1f7b68;
  border-bottom: 1px solid #1f7b68;
}
@media screen and (width <= 900px) {
  .footer__box {
    max-width: 450px;
    padding: 26px 0 20px;
  }
}
.footer__text1 {
  text-align: center;
}
.footer__text1 span {
  font-family: Koburina, sans-serif;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.088em;
}
@media screen and (width <= 900px) {
  .footer__text1 span {
    font-size: 15px;
    line-height: 27px;
  }
}
.footer__text1 span:nth-of-type(2) {
  padding: 0 1em;
}
@media screen and (width <= 900px) {
  .footer__text1 span:nth-of-type(2) {
    padding: 0 0 0 1em;
  }
}
@media screen and (width <= 900px) {
  .footer__text1 span:last-of-type {
    display: block;
  }
}
.footer__tel {
  display: block;
  max-width: 329px;
  margin: 28px auto 0;
}
.footer__tel:hover {
  opacity: 0.5;
}
@media screen and (width <= 900px) {
  .footer__tel {
    max-width: 289px;
    margin: 21px auto 0;
  }
}
.footer__time {
  padding: 19px 0 25px;
  font-family: Koburina, sans-serif;
  font-size: 16px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: center;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}
@media screen and (width <= 900px) {
  .footer__time {
    padding: 22px 0 30px;
    font-size: 15px;
  }
}
.footer__btn {
  display: block;
  max-width: 400px;
  margin: 0 auto;
  font-family: Koburina, sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 48px;
  color: #fff;
  text-align: center;
  text-indent: 0.14em;
  letter-spacing: 0.14em;
  background: #006954;
  border: 1px solid #006954;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.footer__btn:hover {
  color: #006954;
  background: #fff;
}
@media screen and (width <= 900px) {
  .footer__btn {
    max-width: 325px;
  }
}
.footer__text2 {
  padding: 25px 0 0;
  font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "ヒラギノ角ゴ Pro W3", "kozuka-gothic-pr6n", sans-serif;
  font-size: 14px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  text-align: center;
  text-indent: 0.08em;
  letter-spacing: 0.08em;
}
@media screen and (width <= 900px) {
  .footer__text2 {
    padding: 21px 0 0;
    line-height: 21px;
    text-align: left;
    text-indent: 0;
  }
}
.footer__text3 {
  padding: 30px 0 0;
  font-family: Koburina, sans-serif;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  text-indent: 0.14em;
  letter-spacing: 0.14em;
}
@media screen and (width <= 900px) {
  .footer__text3 {
    padding: 16px 0 0;
    font-size: 16px;
    line-height: 25px;
  }
}
.footer__text3 br {
  display: none;
}
@media screen and (width <= 900px) {
  .footer__text3 br {
    display: block;
  }
}

.js-inview, .js-intime {
  opacity: 0;
  -webkit-transition: opacity 2s 0.4s;
  transition: opacity 2s 0.4s;
}
.js-inview.js-show, .js-intime.js-show {
  opacity: 1;
}