@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
/* -------------------------------------------------------
reset
------------------------------------------------------- */
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  font: inherit;
  font-size: 100%;
}

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

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

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

img {
  vertical-align: bottom;
  max-width: 100%;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

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

html {
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
}

select {
  outline: none;
  border: none;
}

a {
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}
a:hover {
  opacity: 0.7;
}

.anim {
  opacity: 0;
}

.anim.is-show {
  /*
  opacity: 1;
  transform: translateY(0);
  */
  animation-name: fadeUpAnime;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  opacity: 0;
  animation-delay: 0.2s;
}

@keyframes fadeUpAnime {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
html,
body {
  font-size: 62.5%;
  scroll-behavior: smooth;
}

body {
  width: 100%;
  font-size: 16px;
  font-size: 1.6rem;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 2;
  overflow-x: clip;
  -webkit-text-size-adjust: 100%;
  color: #252525;
  background-color: #FEFFF5;
  position: relative;
}

.preload * {
  -webkit-transition: none !important;
  -moz-transition: none !important;
  -ms-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

a {
  transition: 0.3s;
}

img {
  width: 100%;
}

/*--------------------------------------------------------------------------
余白, フォントサイズ
---------------------------------------------------------------------------*/
.mlr-auto {
  margin-inline: auto !important;
}

/* マージン関連クラス */
.m-0 {
  margin: 0px !important;
}

.mt-0 {
  margin-top: 0px !important;
}

.mb-0 {
  margin-bottom: 0px !important;
}

.mtb-0 {
  margin-block: 0px !important;
}

.ml-0 {
  margin-left: 0px !important;
}

.mr-0 {
  margin-right: 0px !important;
}

.mlr-0 {
  margin-inline: 0px !important;
}

@media screen and (min-width: 768px) {
  .m-0-pc {
    margin: 0px !important;
  }
  .mt-0-pc {
    margin-top: 0px !important;
  }
  .mb-0-pc {
    margin-bottom: 0px !important;
  }
  .mtb-0-pc {
    margin-block: 0px !important;
  }
  .ml-0-pc {
    margin-left: 0px !important;
  }
  .mr-0-pc {
    margin-right: 0px !important;
  }
  .mlr-0-pc {
    margin-inline: 0px !important;
  }
}
/* パディング関連クラス */
.p-0 {
  padding: 0px !important;
}

.pt-0 {
  padding-top: 0px !important;
}

.pb-0 {
  padding-bottom: 0px !important;
}

.ptb-0 {
  padding-block: 0px !important;
}

.pl-0 {
  padding-left: 0px !important;
}

.pr-0 {
  padding-right: 0px !important;
}

.plr-0 {
  padding-inline: 0px !important;
}

@media screen and (min-width: 768px) {
  .p-0-pc {
    padding: 0px !important;
  }
  .pt-0-pc {
    padding-top: 0px !important;
  }
  .pb-0-pc {
    padding-bottom: 0px !important;
  }
  .ptb-0-pc {
    padding-block: 0px !important;
  }
  .pl-0-pc {
    padding-left: 0px !important;
  }
  .pr-0-pc {
    padding-right: 0px !important;
  }
  .plr-0-pc {
    padding-inline: 0px !important;
  }
}
.fs-0 {
  font-size: 0px !important;
}

@media screen and (max-width: 340px) {
  .fs-0-xs {
    font-size: 0px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-0-pc {
    font-size: 0px !important;
  }
}
/* border-radius */
.radius-0 {
  border-radius: 0px !important;
}

/* マージン関連クラス */
.m-2 {
  margin: 2px !important;
}

.mt-2 {
  margin-top: 2px !important;
}

.mb-2 {
  margin-bottom: 2px !important;
}

.mtb-2 {
  margin-block: 2px !important;
}

.ml-2 {
  margin-left: 2px !important;
}

.mr-2 {
  margin-right: 2px !important;
}

.mlr-2 {
  margin-inline: 2px !important;
}

@media screen and (min-width: 768px) {
  .m-2-pc {
    margin: 2px !important;
  }
  .mt-2-pc {
    margin-top: 2px !important;
  }
  .mb-2-pc {
    margin-bottom: 2px !important;
  }
  .mtb-2-pc {
    margin-block: 2px !important;
  }
  .ml-2-pc {
    margin-left: 2px !important;
  }
  .mr-2-pc {
    margin-right: 2px !important;
  }
  .mlr-2-pc {
    margin-inline: 2px !important;
  }
}
/* パディング関連クラス */
.p-2 {
  padding: 2px !important;
}

.pt-2 {
  padding-top: 2px !important;
}

.pb-2 {
  padding-bottom: 2px !important;
}

.ptb-2 {
  padding-block: 2px !important;
}

.pl-2 {
  padding-left: 2px !important;
}

.pr-2 {
  padding-right: 2px !important;
}

.plr-2 {
  padding-inline: 2px !important;
}

@media screen and (min-width: 768px) {
  .p-2-pc {
    padding: 2px !important;
  }
  .pt-2-pc {
    padding-top: 2px !important;
  }
  .pb-2-pc {
    padding-bottom: 2px !important;
  }
  .ptb-2-pc {
    padding-block: 2px !important;
  }
  .pl-2-pc {
    padding-left: 2px !important;
  }
  .pr-2-pc {
    padding-right: 2px !important;
  }
  .plr-2-pc {
    padding-inline: 2px !important;
  }
}
.fs-2 {
  font-size: 2px !important;
}

@media screen and (max-width: 340px) {
  .fs-2-xs {
    font-size: 1.9px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-2-pc {
    font-size: 2px !important;
  }
}
/* border-radius */
.radius-2 {
  border-radius: 2px !important;
}

/* マージン関連クラス */
.m-4 {
  margin: 4px !important;
}

.mt-4 {
  margin-top: 4px !important;
}

.mb-4 {
  margin-bottom: 4px !important;
}

.mtb-4 {
  margin-block: 4px !important;
}

.ml-4 {
  margin-left: 4px !important;
}

.mr-4 {
  margin-right: 4px !important;
}

.mlr-4 {
  margin-inline: 4px !important;
}

@media screen and (min-width: 768px) {
  .m-4-pc {
    margin: 4px !important;
  }
  .mt-4-pc {
    margin-top: 4px !important;
  }
  .mb-4-pc {
    margin-bottom: 4px !important;
  }
  .mtb-4-pc {
    margin-block: 4px !important;
  }
  .ml-4-pc {
    margin-left: 4px !important;
  }
  .mr-4-pc {
    margin-right: 4px !important;
  }
  .mlr-4-pc {
    margin-inline: 4px !important;
  }
}
/* パディング関連クラス */
.p-4 {
  padding: 4px !important;
}

.pt-4 {
  padding-top: 4px !important;
}

.pb-4 {
  padding-bottom: 4px !important;
}

.ptb-4 {
  padding-block: 4px !important;
}

.pl-4 {
  padding-left: 4px !important;
}

.pr-4 {
  padding-right: 4px !important;
}

.plr-4 {
  padding-inline: 4px !important;
}

@media screen and (min-width: 768px) {
  .p-4-pc {
    padding: 4px !important;
  }
  .pt-4-pc {
    padding-top: 4px !important;
  }
  .pb-4-pc {
    padding-bottom: 4px !important;
  }
  .ptb-4-pc {
    padding-block: 4px !important;
  }
  .pl-4-pc {
    padding-left: 4px !important;
  }
  .pr-4-pc {
    padding-right: 4px !important;
  }
  .plr-4-pc {
    padding-inline: 4px !important;
  }
}
.fs-4 {
  font-size: 4px !important;
}

@media screen and (max-width: 340px) {
  .fs-4-xs {
    font-size: 3.8px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-4-pc {
    font-size: 4px !important;
  }
}
/* border-radius */
.radius-4 {
  border-radius: 4px !important;
}

/* マージン関連クラス */
.m-6 {
  margin: 6px !important;
}

.mt-6 {
  margin-top: 6px !important;
}

.mb-6 {
  margin-bottom: 6px !important;
}

.mtb-6 {
  margin-block: 6px !important;
}

.ml-6 {
  margin-left: 6px !important;
}

.mr-6 {
  margin-right: 6px !important;
}

.mlr-6 {
  margin-inline: 6px !important;
}

@media screen and (min-width: 768px) {
  .m-6-pc {
    margin: 6px !important;
  }
  .mt-6-pc {
    margin-top: 6px !important;
  }
  .mb-6-pc {
    margin-bottom: 6px !important;
  }
  .mtb-6-pc {
    margin-block: 6px !important;
  }
  .ml-6-pc {
    margin-left: 6px !important;
  }
  .mr-6-pc {
    margin-right: 6px !important;
  }
  .mlr-6-pc {
    margin-inline: 6px !important;
  }
}
/* パディング関連クラス */
.p-6 {
  padding: 6px !important;
}

.pt-6 {
  padding-top: 6px !important;
}

.pb-6 {
  padding-bottom: 6px !important;
}

.ptb-6 {
  padding-block: 6px !important;
}

.pl-6 {
  padding-left: 6px !important;
}

.pr-6 {
  padding-right: 6px !important;
}

.plr-6 {
  padding-inline: 6px !important;
}

@media screen and (min-width: 768px) {
  .p-6-pc {
    padding: 6px !important;
  }
  .pt-6-pc {
    padding-top: 6px !important;
  }
  .pb-6-pc {
    padding-bottom: 6px !important;
  }
  .ptb-6-pc {
    padding-block: 6px !important;
  }
  .pl-6-pc {
    padding-left: 6px !important;
  }
  .pr-6-pc {
    padding-right: 6px !important;
  }
  .plr-6-pc {
    padding-inline: 6px !important;
  }
}
.fs-6 {
  font-size: 6px !important;
}

@media screen and (max-width: 340px) {
  .fs-6-xs {
    font-size: 5.7px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-6-pc {
    font-size: 6px !important;
  }
}
/* border-radius */
.radius-6 {
  border-radius: 6px !important;
}

/* マージン関連クラス */
.m-8 {
  margin: 8px !important;
}

.mt-8 {
  margin-top: 8px !important;
}

.mb-8 {
  margin-bottom: 8px !important;
}

.mtb-8 {
  margin-block: 8px !important;
}

.ml-8 {
  margin-left: 8px !important;
}

.mr-8 {
  margin-right: 8px !important;
}

.mlr-8 {
  margin-inline: 8px !important;
}

@media screen and (min-width: 768px) {
  .m-8-pc {
    margin: 8px !important;
  }
  .mt-8-pc {
    margin-top: 8px !important;
  }
  .mb-8-pc {
    margin-bottom: 8px !important;
  }
  .mtb-8-pc {
    margin-block: 8px !important;
  }
  .ml-8-pc {
    margin-left: 8px !important;
  }
  .mr-8-pc {
    margin-right: 8px !important;
  }
  .mlr-8-pc {
    margin-inline: 8px !important;
  }
}
/* パディング関連クラス */
.p-8 {
  padding: 8px !important;
}

.pt-8 {
  padding-top: 8px !important;
}

.pb-8 {
  padding-bottom: 8px !important;
}

.ptb-8 {
  padding-block: 8px !important;
}

.pl-8 {
  padding-left: 8px !important;
}

.pr-8 {
  padding-right: 8px !important;
}

.plr-8 {
  padding-inline: 8px !important;
}

@media screen and (min-width: 768px) {
  .p-8-pc {
    padding: 8px !important;
  }
  .pt-8-pc {
    padding-top: 8px !important;
  }
  .pb-8-pc {
    padding-bottom: 8px !important;
  }
  .ptb-8-pc {
    padding-block: 8px !important;
  }
  .pl-8-pc {
    padding-left: 8px !important;
  }
  .pr-8-pc {
    padding-right: 8px !important;
  }
  .plr-8-pc {
    padding-inline: 8px !important;
  }
}
.fs-8 {
  font-size: 8px !important;
}

@media screen and (max-width: 340px) {
  .fs-8-xs {
    font-size: 7.6px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-8-pc {
    font-size: 8px !important;
  }
}
/* border-radius */
.radius-8 {
  border-radius: 8px !important;
}

/* マージン関連クラス */
.m-10 {
  margin: 10px !important;
}

.mt-10 {
  margin-top: 10px !important;
}

.mb-10 {
  margin-bottom: 10px !important;
}

.mtb-10 {
  margin-block: 10px !important;
}

.ml-10 {
  margin-left: 10px !important;
}

.mr-10 {
  margin-right: 10px !important;
}

.mlr-10 {
  margin-inline: 10px !important;
}

@media screen and (min-width: 768px) {
  .m-10-pc {
    margin: 10px !important;
  }
  .mt-10-pc {
    margin-top: 10px !important;
  }
  .mb-10-pc {
    margin-bottom: 10px !important;
  }
  .mtb-10-pc {
    margin-block: 10px !important;
  }
  .ml-10-pc {
    margin-left: 10px !important;
  }
  .mr-10-pc {
    margin-right: 10px !important;
  }
  .mlr-10-pc {
    margin-inline: 10px !important;
  }
}
/* パディング関連クラス */
.p-10 {
  padding: 10px !important;
}

.pt-10 {
  padding-top: 10px !important;
}

.pb-10 {
  padding-bottom: 10px !important;
}

.ptb-10 {
  padding-block: 10px !important;
}

.pl-10 {
  padding-left: 10px !important;
}

.pr-10 {
  padding-right: 10px !important;
}

.plr-10 {
  padding-inline: 10px !important;
}

@media screen and (min-width: 768px) {
  .p-10-pc {
    padding: 10px !important;
  }
  .pt-10-pc {
    padding-top: 10px !important;
  }
  .pb-10-pc {
    padding-bottom: 10px !important;
  }
  .ptb-10-pc {
    padding-block: 10px !important;
  }
  .pl-10-pc {
    padding-left: 10px !important;
  }
  .pr-10-pc {
    padding-right: 10px !important;
  }
  .plr-10-pc {
    padding-inline: 10px !important;
  }
}
.fs-10 {
  font-size: 10px !important;
}

@media screen and (max-width: 340px) {
  .fs-10-xs {
    font-size: 9.5px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-10-pc {
    font-size: 10px !important;
  }
}
/* border-radius */
.radius-10 {
  border-radius: 10px !important;
}

/* マージン関連クラス */
.m-12 {
  margin: 12px !important;
}

.mt-12 {
  margin-top: 12px !important;
}

.mb-12 {
  margin-bottom: 12px !important;
}

.mtb-12 {
  margin-block: 12px !important;
}

.ml-12 {
  margin-left: 12px !important;
}

.mr-12 {
  margin-right: 12px !important;
}

.mlr-12 {
  margin-inline: 12px !important;
}

@media screen and (min-width: 768px) {
  .m-12-pc {
    margin: 12px !important;
  }
  .mt-12-pc {
    margin-top: 12px !important;
  }
  .mb-12-pc {
    margin-bottom: 12px !important;
  }
  .mtb-12-pc {
    margin-block: 12px !important;
  }
  .ml-12-pc {
    margin-left: 12px !important;
  }
  .mr-12-pc {
    margin-right: 12px !important;
  }
  .mlr-12-pc {
    margin-inline: 12px !important;
  }
}
/* パディング関連クラス */
.p-12 {
  padding: 12px !important;
}

.pt-12 {
  padding-top: 12px !important;
}

.pb-12 {
  padding-bottom: 12px !important;
}

.ptb-12 {
  padding-block: 12px !important;
}

.pl-12 {
  padding-left: 12px !important;
}

.pr-12 {
  padding-right: 12px !important;
}

.plr-12 {
  padding-inline: 12px !important;
}

@media screen and (min-width: 768px) {
  .p-12-pc {
    padding: 12px !important;
  }
  .pt-12-pc {
    padding-top: 12px !important;
  }
  .pb-12-pc {
    padding-bottom: 12px !important;
  }
  .ptb-12-pc {
    padding-block: 12px !important;
  }
  .pl-12-pc {
    padding-left: 12px !important;
  }
  .pr-12-pc {
    padding-right: 12px !important;
  }
  .plr-12-pc {
    padding-inline: 12px !important;
  }
}
.fs-12 {
  font-size: 12px !important;
}

@media screen and (max-width: 340px) {
  .fs-12-xs {
    font-size: 11.4px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-12-pc {
    font-size: 12px !important;
  }
}
/* border-radius */
.radius-12 {
  border-radius: 12px !important;
}

/* マージン関連クラス */
.m-13 {
  margin: 13px !important;
}

.mt-13 {
  margin-top: 13px !important;
}

.mb-13 {
  margin-bottom: 13px !important;
}

.mtb-13 {
  margin-block: 13px !important;
}

.ml-13 {
  margin-left: 13px !important;
}

.mr-13 {
  margin-right: 13px !important;
}

.mlr-13 {
  margin-inline: 13px !important;
}

@media screen and (min-width: 768px) {
  .m-13-pc {
    margin: 13px !important;
  }
  .mt-13-pc {
    margin-top: 13px !important;
  }
  .mb-13-pc {
    margin-bottom: 13px !important;
  }
  .mtb-13-pc {
    margin-block: 13px !important;
  }
  .ml-13-pc {
    margin-left: 13px !important;
  }
  .mr-13-pc {
    margin-right: 13px !important;
  }
  .mlr-13-pc {
    margin-inline: 13px !important;
  }
}
/* パディング関連クラス */
.p-13 {
  padding: 13px !important;
}

.pt-13 {
  padding-top: 13px !important;
}

.pb-13 {
  padding-bottom: 13px !important;
}

.ptb-13 {
  padding-block: 13px !important;
}

.pl-13 {
  padding-left: 13px !important;
}

.pr-13 {
  padding-right: 13px !important;
}

.plr-13 {
  padding-inline: 13px !important;
}

@media screen and (min-width: 768px) {
  .p-13-pc {
    padding: 13px !important;
  }
  .pt-13-pc {
    padding-top: 13px !important;
  }
  .pb-13-pc {
    padding-bottom: 13px !important;
  }
  .ptb-13-pc {
    padding-block: 13px !important;
  }
  .pl-13-pc {
    padding-left: 13px !important;
  }
  .pr-13-pc {
    padding-right: 13px !important;
  }
  .plr-13-pc {
    padding-inline: 13px !important;
  }
}
.fs-13 {
  font-size: 13px !important;
}

@media screen and (max-width: 340px) {
  .fs-13-xs {
    font-size: 12.35px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-13-pc {
    font-size: 13px !important;
  }
}
/* border-radius */
.radius-13 {
  border-radius: 13px !important;
}

/* マージン関連クラス */
.m-14 {
  margin: 14px !important;
}

.mt-14 {
  margin-top: 14px !important;
}

.mb-14 {
  margin-bottom: 14px !important;
}

.mtb-14 {
  margin-block: 14px !important;
}

.ml-14 {
  margin-left: 14px !important;
}

.mr-14 {
  margin-right: 14px !important;
}

.mlr-14 {
  margin-inline: 14px !important;
}

@media screen and (min-width: 768px) {
  .m-14-pc {
    margin: 14px !important;
  }
  .mt-14-pc {
    margin-top: 14px !important;
  }
  .mb-14-pc {
    margin-bottom: 14px !important;
  }
  .mtb-14-pc {
    margin-block: 14px !important;
  }
  .ml-14-pc {
    margin-left: 14px !important;
  }
  .mr-14-pc {
    margin-right: 14px !important;
  }
  .mlr-14-pc {
    margin-inline: 14px !important;
  }
}
/* パディング関連クラス */
.p-14 {
  padding: 14px !important;
}

.pt-14 {
  padding-top: 14px !important;
}

.pb-14 {
  padding-bottom: 14px !important;
}

.ptb-14 {
  padding-block: 14px !important;
}

.pl-14 {
  padding-left: 14px !important;
}

.pr-14 {
  padding-right: 14px !important;
}

.plr-14 {
  padding-inline: 14px !important;
}

@media screen and (min-width: 768px) {
  .p-14-pc {
    padding: 14px !important;
  }
  .pt-14-pc {
    padding-top: 14px !important;
  }
  .pb-14-pc {
    padding-bottom: 14px !important;
  }
  .ptb-14-pc {
    padding-block: 14px !important;
  }
  .pl-14-pc {
    padding-left: 14px !important;
  }
  .pr-14-pc {
    padding-right: 14px !important;
  }
  .plr-14-pc {
    padding-inline: 14px !important;
  }
}
.fs-14 {
  font-size: 14px !important;
}

@media screen and (max-width: 340px) {
  .fs-14-xs {
    font-size: 13.3px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-14-pc {
    font-size: 14px !important;
  }
}
/* border-radius */
.radius-14 {
  border-radius: 14px !important;
}

/* マージン関連クラス */
.m-16 {
  margin: 16px !important;
}

.mt-16 {
  margin-top: 16px !important;
}

.mb-16 {
  margin-bottom: 16px !important;
}

.mtb-16 {
  margin-block: 16px !important;
}

.ml-16 {
  margin-left: 16px !important;
}

.mr-16 {
  margin-right: 16px !important;
}

.mlr-16 {
  margin-inline: 16px !important;
}

@media screen and (min-width: 768px) {
  .m-16-pc {
    margin: 16px !important;
  }
  .mt-16-pc {
    margin-top: 16px !important;
  }
  .mb-16-pc {
    margin-bottom: 16px !important;
  }
  .mtb-16-pc {
    margin-block: 16px !important;
  }
  .ml-16-pc {
    margin-left: 16px !important;
  }
  .mr-16-pc {
    margin-right: 16px !important;
  }
  .mlr-16-pc {
    margin-inline: 16px !important;
  }
}
/* パディング関連クラス */
.p-16 {
  padding: 16px !important;
}

.pt-16 {
  padding-top: 16px !important;
}

.pb-16 {
  padding-bottom: 16px !important;
}

.ptb-16 {
  padding-block: 16px !important;
}

.pl-16 {
  padding-left: 16px !important;
}

.pr-16 {
  padding-right: 16px !important;
}

.plr-16 {
  padding-inline: 16px !important;
}

@media screen and (min-width: 768px) {
  .p-16-pc {
    padding: 16px !important;
  }
  .pt-16-pc {
    padding-top: 16px !important;
  }
  .pb-16-pc {
    padding-bottom: 16px !important;
  }
  .ptb-16-pc {
    padding-block: 16px !important;
  }
  .pl-16-pc {
    padding-left: 16px !important;
  }
  .pr-16-pc {
    padding-right: 16px !important;
  }
  .plr-16-pc {
    padding-inline: 16px !important;
  }
}
.fs-16 {
  font-size: 16px !important;
}

@media screen and (max-width: 340px) {
  .fs-16-xs {
    font-size: 15.2px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-16-pc {
    font-size: 16px !important;
  }
}
/* border-radius */
.radius-16 {
  border-radius: 16px !important;
}

/* マージン関連クラス */
.m-18 {
  margin: 18px !important;
}

.mt-18 {
  margin-top: 18px !important;
}

.mb-18 {
  margin-bottom: 18px !important;
}

.mtb-18 {
  margin-block: 18px !important;
}

.ml-18 {
  margin-left: 18px !important;
}

.mr-18 {
  margin-right: 18px !important;
}

.mlr-18 {
  margin-inline: 18px !important;
}

@media screen and (min-width: 768px) {
  .m-18-pc {
    margin: 18px !important;
  }
  .mt-18-pc {
    margin-top: 18px !important;
  }
  .mb-18-pc {
    margin-bottom: 18px !important;
  }
  .mtb-18-pc {
    margin-block: 18px !important;
  }
  .ml-18-pc {
    margin-left: 18px !important;
  }
  .mr-18-pc {
    margin-right: 18px !important;
  }
  .mlr-18-pc {
    margin-inline: 18px !important;
  }
}
/* パディング関連クラス */
.p-18 {
  padding: 18px !important;
}

.pt-18 {
  padding-top: 18px !important;
}

.pb-18 {
  padding-bottom: 18px !important;
}

.ptb-18 {
  padding-block: 18px !important;
}

.pl-18 {
  padding-left: 18px !important;
}

.pr-18 {
  padding-right: 18px !important;
}

.plr-18 {
  padding-inline: 18px !important;
}

@media screen and (min-width: 768px) {
  .p-18-pc {
    padding: 18px !important;
  }
  .pt-18-pc {
    padding-top: 18px !important;
  }
  .pb-18-pc {
    padding-bottom: 18px !important;
  }
  .ptb-18-pc {
    padding-block: 18px !important;
  }
  .pl-18-pc {
    padding-left: 18px !important;
  }
  .pr-18-pc {
    padding-right: 18px !important;
  }
  .plr-18-pc {
    padding-inline: 18px !important;
  }
}
.fs-18 {
  font-size: 18px !important;
}

@media screen and (max-width: 340px) {
  .fs-18-xs {
    font-size: 17.1px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-18-pc {
    font-size: 18px !important;
  }
}
/* border-radius */
.radius-18 {
  border-radius: 18px !important;
}

/* マージン関連クラス */
.m-20 {
  margin: 20px !important;
}

.mt-20 {
  margin-top: 20px !important;
}

.mb-20 {
  margin-bottom: 20px !important;
}

.mtb-20 {
  margin-block: 20px !important;
}

.ml-20 {
  margin-left: 20px !important;
}

.mr-20 {
  margin-right: 20px !important;
}

.mlr-20 {
  margin-inline: 20px !important;
}

@media screen and (min-width: 768px) {
  .m-20-pc {
    margin: 20px !important;
  }
  .mt-20-pc {
    margin-top: 20px !important;
  }
  .mb-20-pc {
    margin-bottom: 20px !important;
  }
  .mtb-20-pc {
    margin-block: 20px !important;
  }
  .ml-20-pc {
    margin-left: 20px !important;
  }
  .mr-20-pc {
    margin-right: 20px !important;
  }
  .mlr-20-pc {
    margin-inline: 20px !important;
  }
}
/* パディング関連クラス */
.p-20 {
  padding: 20px !important;
}

.pt-20 {
  padding-top: 20px !important;
}

.pb-20 {
  padding-bottom: 20px !important;
}

.ptb-20 {
  padding-block: 20px !important;
}

.pl-20 {
  padding-left: 20px !important;
}

.pr-20 {
  padding-right: 20px !important;
}

.plr-20 {
  padding-inline: 20px !important;
}

@media screen and (min-width: 768px) {
  .p-20-pc {
    padding: 20px !important;
  }
  .pt-20-pc {
    padding-top: 20px !important;
  }
  .pb-20-pc {
    padding-bottom: 20px !important;
  }
  .ptb-20-pc {
    padding-block: 20px !important;
  }
  .pl-20-pc {
    padding-left: 20px !important;
  }
  .pr-20-pc {
    padding-right: 20px !important;
  }
  .plr-20-pc {
    padding-inline: 20px !important;
  }
}
.fs-20 {
  font-size: 20px !important;
}

@media screen and (max-width: 340px) {
  .fs-20-xs {
    font-size: 19px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-20-pc {
    font-size: 20px !important;
  }
}
/* border-radius */
.radius-20 {
  border-radius: 20px !important;
}

/* マージン関連クラス */
.m-22 {
  margin: 22px !important;
}

.mt-22 {
  margin-top: 22px !important;
}

.mb-22 {
  margin-bottom: 22px !important;
}

.mtb-22 {
  margin-block: 22px !important;
}

.ml-22 {
  margin-left: 22px !important;
}

.mr-22 {
  margin-right: 22px !important;
}

.mlr-22 {
  margin-inline: 22px !important;
}

@media screen and (min-width: 768px) {
  .m-22-pc {
    margin: 22px !important;
  }
  .mt-22-pc {
    margin-top: 22px !important;
  }
  .mb-22-pc {
    margin-bottom: 22px !important;
  }
  .mtb-22-pc {
    margin-block: 22px !important;
  }
  .ml-22-pc {
    margin-left: 22px !important;
  }
  .mr-22-pc {
    margin-right: 22px !important;
  }
  .mlr-22-pc {
    margin-inline: 22px !important;
  }
}
/* パディング関連クラス */
.p-22 {
  padding: 22px !important;
}

.pt-22 {
  padding-top: 22px !important;
}

.pb-22 {
  padding-bottom: 22px !important;
}

.ptb-22 {
  padding-block: 22px !important;
}

.pl-22 {
  padding-left: 22px !important;
}

.pr-22 {
  padding-right: 22px !important;
}

.plr-22 {
  padding-inline: 22px !important;
}

@media screen and (min-width: 768px) {
  .p-22-pc {
    padding: 22px !important;
  }
  .pt-22-pc {
    padding-top: 22px !important;
  }
  .pb-22-pc {
    padding-bottom: 22px !important;
  }
  .ptb-22-pc {
    padding-block: 22px !important;
  }
  .pl-22-pc {
    padding-left: 22px !important;
  }
  .pr-22-pc {
    padding-right: 22px !important;
  }
  .plr-22-pc {
    padding-inline: 22px !important;
  }
}
.fs-22 {
  font-size: 22px !important;
}

@media screen and (max-width: 340px) {
  .fs-22-xs {
    font-size: 20.9px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-22-pc {
    font-size: 22px !important;
  }
}
/* border-radius */
.radius-22 {
  border-radius: 22px !important;
}

/* マージン関連クラス */
.m-24 {
  margin: 24px !important;
}

.mt-24 {
  margin-top: 24px !important;
}

.mb-24 {
  margin-bottom: 24px !important;
}

.mtb-24 {
  margin-block: 24px !important;
}

.ml-24 {
  margin-left: 24px !important;
}

.mr-24 {
  margin-right: 24px !important;
}

.mlr-24 {
  margin-inline: 24px !important;
}

@media screen and (min-width: 768px) {
  .m-24-pc {
    margin: 24px !important;
  }
  .mt-24-pc {
    margin-top: 24px !important;
  }
  .mb-24-pc {
    margin-bottom: 24px !important;
  }
  .mtb-24-pc {
    margin-block: 24px !important;
  }
  .ml-24-pc {
    margin-left: 24px !important;
  }
  .mr-24-pc {
    margin-right: 24px !important;
  }
  .mlr-24-pc {
    margin-inline: 24px !important;
  }
}
/* パディング関連クラス */
.p-24 {
  padding: 24px !important;
}

.pt-24 {
  padding-top: 24px !important;
}

.pb-24 {
  padding-bottom: 24px !important;
}

.ptb-24 {
  padding-block: 24px !important;
}

.pl-24 {
  padding-left: 24px !important;
}

.pr-24 {
  padding-right: 24px !important;
}

.plr-24 {
  padding-inline: 24px !important;
}

@media screen and (min-width: 768px) {
  .p-24-pc {
    padding: 24px !important;
  }
  .pt-24-pc {
    padding-top: 24px !important;
  }
  .pb-24-pc {
    padding-bottom: 24px !important;
  }
  .ptb-24-pc {
    padding-block: 24px !important;
  }
  .pl-24-pc {
    padding-left: 24px !important;
  }
  .pr-24-pc {
    padding-right: 24px !important;
  }
  .plr-24-pc {
    padding-inline: 24px !important;
  }
}
.fs-24 {
  font-size: 24px !important;
}

@media screen and (max-width: 340px) {
  .fs-24-xs {
    font-size: 22.8px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-24-pc {
    font-size: 24px !important;
  }
}
/* border-radius */
.radius-24 {
  border-radius: 24px !important;
}

/* マージン関連クラス */
.m-26 {
  margin: 26px !important;
}

.mt-26 {
  margin-top: 26px !important;
}

.mb-26 {
  margin-bottom: 26px !important;
}

.mtb-26 {
  margin-block: 26px !important;
}

.ml-26 {
  margin-left: 26px !important;
}

.mr-26 {
  margin-right: 26px !important;
}

.mlr-26 {
  margin-inline: 26px !important;
}

@media screen and (min-width: 768px) {
  .m-26-pc {
    margin: 26px !important;
  }
  .mt-26-pc {
    margin-top: 26px !important;
  }
  .mb-26-pc {
    margin-bottom: 26px !important;
  }
  .mtb-26-pc {
    margin-block: 26px !important;
  }
  .ml-26-pc {
    margin-left: 26px !important;
  }
  .mr-26-pc {
    margin-right: 26px !important;
  }
  .mlr-26-pc {
    margin-inline: 26px !important;
  }
}
/* パディング関連クラス */
.p-26 {
  padding: 26px !important;
}

.pt-26 {
  padding-top: 26px !important;
}

.pb-26 {
  padding-bottom: 26px !important;
}

.ptb-26 {
  padding-block: 26px !important;
}

.pl-26 {
  padding-left: 26px !important;
}

.pr-26 {
  padding-right: 26px !important;
}

.plr-26 {
  padding-inline: 26px !important;
}

@media screen and (min-width: 768px) {
  .p-26-pc {
    padding: 26px !important;
  }
  .pt-26-pc {
    padding-top: 26px !important;
  }
  .pb-26-pc {
    padding-bottom: 26px !important;
  }
  .ptb-26-pc {
    padding-block: 26px !important;
  }
  .pl-26-pc {
    padding-left: 26px !important;
  }
  .pr-26-pc {
    padding-right: 26px !important;
  }
  .plr-26-pc {
    padding-inline: 26px !important;
  }
}
.fs-26 {
  font-size: 26px !important;
}

@media screen and (max-width: 340px) {
  .fs-26-xs {
    font-size: 24.7px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-26-pc {
    font-size: 26px !important;
  }
}
/* border-radius */
.radius-26 {
  border-radius: 26px !important;
}

/* マージン関連クラス */
.m-28 {
  margin: 28px !important;
}

.mt-28 {
  margin-top: 28px !important;
}

.mb-28 {
  margin-bottom: 28px !important;
}

.mtb-28 {
  margin-block: 28px !important;
}

.ml-28 {
  margin-left: 28px !important;
}

.mr-28 {
  margin-right: 28px !important;
}

.mlr-28 {
  margin-inline: 28px !important;
}

@media screen and (min-width: 768px) {
  .m-28-pc {
    margin: 28px !important;
  }
  .mt-28-pc {
    margin-top: 28px !important;
  }
  .mb-28-pc {
    margin-bottom: 28px !important;
  }
  .mtb-28-pc {
    margin-block: 28px !important;
  }
  .ml-28-pc {
    margin-left: 28px !important;
  }
  .mr-28-pc {
    margin-right: 28px !important;
  }
  .mlr-28-pc {
    margin-inline: 28px !important;
  }
}
/* パディング関連クラス */
.p-28 {
  padding: 28px !important;
}

.pt-28 {
  padding-top: 28px !important;
}

.pb-28 {
  padding-bottom: 28px !important;
}

.ptb-28 {
  padding-block: 28px !important;
}

.pl-28 {
  padding-left: 28px !important;
}

.pr-28 {
  padding-right: 28px !important;
}

.plr-28 {
  padding-inline: 28px !important;
}

@media screen and (min-width: 768px) {
  .p-28-pc {
    padding: 28px !important;
  }
  .pt-28-pc {
    padding-top: 28px !important;
  }
  .pb-28-pc {
    padding-bottom: 28px !important;
  }
  .ptb-28-pc {
    padding-block: 28px !important;
  }
  .pl-28-pc {
    padding-left: 28px !important;
  }
  .pr-28-pc {
    padding-right: 28px !important;
  }
  .plr-28-pc {
    padding-inline: 28px !important;
  }
}
.fs-28 {
  font-size: 28px !important;
}

@media screen and (max-width: 340px) {
  .fs-28-xs {
    font-size: 26.6px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-28-pc {
    font-size: 28px !important;
  }
}
/* border-radius */
.radius-28 {
  border-radius: 28px !important;
}

/* マージン関連クラス */
.m-30 {
  margin: 30px !important;
}

.mt-30 {
  margin-top: 30px !important;
}

.mb-30 {
  margin-bottom: 30px !important;
}

.mtb-30 {
  margin-block: 30px !important;
}

.ml-30 {
  margin-left: 30px !important;
}

.mr-30 {
  margin-right: 30px !important;
}

.mlr-30 {
  margin-inline: 30px !important;
}

@media screen and (min-width: 768px) {
  .m-30-pc {
    margin: 30px !important;
  }
  .mt-30-pc {
    margin-top: 30px !important;
  }
  .mb-30-pc {
    margin-bottom: 30px !important;
  }
  .mtb-30-pc {
    margin-block: 30px !important;
  }
  .ml-30-pc {
    margin-left: 30px !important;
  }
  .mr-30-pc {
    margin-right: 30px !important;
  }
  .mlr-30-pc {
    margin-inline: 30px !important;
  }
}
/* パディング関連クラス */
.p-30 {
  padding: 30px !important;
}

.pt-30 {
  padding-top: 30px !important;
}

.pb-30 {
  padding-bottom: 30px !important;
}

.ptb-30 {
  padding-block: 30px !important;
}

.pl-30 {
  padding-left: 30px !important;
}

.pr-30 {
  padding-right: 30px !important;
}

.plr-30 {
  padding-inline: 30px !important;
}

@media screen and (min-width: 768px) {
  .p-30-pc {
    padding: 30px !important;
  }
  .pt-30-pc {
    padding-top: 30px !important;
  }
  .pb-30-pc {
    padding-bottom: 30px !important;
  }
  .ptb-30-pc {
    padding-block: 30px !important;
  }
  .pl-30-pc {
    padding-left: 30px !important;
  }
  .pr-30-pc {
    padding-right: 30px !important;
  }
  .plr-30-pc {
    padding-inline: 30px !important;
  }
}
.fs-30 {
  font-size: 30px !important;
}

@media screen and (max-width: 340px) {
  .fs-30-xs {
    font-size: 28.5px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-30-pc {
    font-size: 30px !important;
  }
}
/* border-radius */
.radius-30 {
  border-radius: 30px !important;
}

/* マージン関連クラス */
.m-32 {
  margin: 32px !important;
}

.mt-32 {
  margin-top: 32px !important;
}

.mb-32 {
  margin-bottom: 32px !important;
}

.mtb-32 {
  margin-block: 32px !important;
}

.ml-32 {
  margin-left: 32px !important;
}

.mr-32 {
  margin-right: 32px !important;
}

.mlr-32 {
  margin-inline: 32px !important;
}

@media screen and (min-width: 768px) {
  .m-32-pc {
    margin: 32px !important;
  }
  .mt-32-pc {
    margin-top: 32px !important;
  }
  .mb-32-pc {
    margin-bottom: 32px !important;
  }
  .mtb-32-pc {
    margin-block: 32px !important;
  }
  .ml-32-pc {
    margin-left: 32px !important;
  }
  .mr-32-pc {
    margin-right: 32px !important;
  }
  .mlr-32-pc {
    margin-inline: 32px !important;
  }
}
/* パディング関連クラス */
.p-32 {
  padding: 32px !important;
}

.pt-32 {
  padding-top: 32px !important;
}

.pb-32 {
  padding-bottom: 32px !important;
}

.ptb-32 {
  padding-block: 32px !important;
}

.pl-32 {
  padding-left: 32px !important;
}

.pr-32 {
  padding-right: 32px !important;
}

.plr-32 {
  padding-inline: 32px !important;
}

@media screen and (min-width: 768px) {
  .p-32-pc {
    padding: 32px !important;
  }
  .pt-32-pc {
    padding-top: 32px !important;
  }
  .pb-32-pc {
    padding-bottom: 32px !important;
  }
  .ptb-32-pc {
    padding-block: 32px !important;
  }
  .pl-32-pc {
    padding-left: 32px !important;
  }
  .pr-32-pc {
    padding-right: 32px !important;
  }
  .plr-32-pc {
    padding-inline: 32px !important;
  }
}
.fs-32 {
  font-size: 32px !important;
}

@media screen and (max-width: 340px) {
  .fs-32-xs {
    font-size: 30.4px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-32-pc {
    font-size: 32px !important;
  }
}
/* border-radius */
.radius-32 {
  border-radius: 32px !important;
}

/* マージン関連クラス */
.m-36 {
  margin: 36px !important;
}

.mt-36 {
  margin-top: 36px !important;
}

.mb-36 {
  margin-bottom: 36px !important;
}

.mtb-36 {
  margin-block: 36px !important;
}

.ml-36 {
  margin-left: 36px !important;
}

.mr-36 {
  margin-right: 36px !important;
}

.mlr-36 {
  margin-inline: 36px !important;
}

@media screen and (min-width: 768px) {
  .m-36-pc {
    margin: 36px !important;
  }
  .mt-36-pc {
    margin-top: 36px !important;
  }
  .mb-36-pc {
    margin-bottom: 36px !important;
  }
  .mtb-36-pc {
    margin-block: 36px !important;
  }
  .ml-36-pc {
    margin-left: 36px !important;
  }
  .mr-36-pc {
    margin-right: 36px !important;
  }
  .mlr-36-pc {
    margin-inline: 36px !important;
  }
}
/* パディング関連クラス */
.p-36 {
  padding: 36px !important;
}

.pt-36 {
  padding-top: 36px !important;
}

.pb-36 {
  padding-bottom: 36px !important;
}

.ptb-36 {
  padding-block: 36px !important;
}

.pl-36 {
  padding-left: 36px !important;
}

.pr-36 {
  padding-right: 36px !important;
}

.plr-36 {
  padding-inline: 36px !important;
}

@media screen and (min-width: 768px) {
  .p-36-pc {
    padding: 36px !important;
  }
  .pt-36-pc {
    padding-top: 36px !important;
  }
  .pb-36-pc {
    padding-bottom: 36px !important;
  }
  .ptb-36-pc {
    padding-block: 36px !important;
  }
  .pl-36-pc {
    padding-left: 36px !important;
  }
  .pr-36-pc {
    padding-right: 36px !important;
  }
  .plr-36-pc {
    padding-inline: 36px !important;
  }
}
.fs-36 {
  font-size: 36px !important;
}

@media screen and (max-width: 340px) {
  .fs-36-xs {
    font-size: 34.2px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-36-pc {
    font-size: 36px !important;
  }
}
/* border-radius */
.radius-36 {
  border-radius: 36px !important;
}

/* マージン関連クラス */
.m-40 {
  margin: 40px !important;
}

.mt-40 {
  margin-top: 40px !important;
}

.mb-40 {
  margin-bottom: 40px !important;
}

.mtb-40 {
  margin-block: 40px !important;
}

.ml-40 {
  margin-left: 40px !important;
}

.mr-40 {
  margin-right: 40px !important;
}

.mlr-40 {
  margin-inline: 40px !important;
}

@media screen and (min-width: 768px) {
  .m-40-pc {
    margin: 40px !important;
  }
  .mt-40-pc {
    margin-top: 40px !important;
  }
  .mb-40-pc {
    margin-bottom: 40px !important;
  }
  .mtb-40-pc {
    margin-block: 40px !important;
  }
  .ml-40-pc {
    margin-left: 40px !important;
  }
  .mr-40-pc {
    margin-right: 40px !important;
  }
  .mlr-40-pc {
    margin-inline: 40px !important;
  }
}
/* パディング関連クラス */
.p-40 {
  padding: 40px !important;
}

.pt-40 {
  padding-top: 40px !important;
}

.pb-40 {
  padding-bottom: 40px !important;
}

.ptb-40 {
  padding-block: 40px !important;
}

.pl-40 {
  padding-left: 40px !important;
}

.pr-40 {
  padding-right: 40px !important;
}

.plr-40 {
  padding-inline: 40px !important;
}

@media screen and (min-width: 768px) {
  .p-40-pc {
    padding: 40px !important;
  }
  .pt-40-pc {
    padding-top: 40px !important;
  }
  .pb-40-pc {
    padding-bottom: 40px !important;
  }
  .ptb-40-pc {
    padding-block: 40px !important;
  }
  .pl-40-pc {
    padding-left: 40px !important;
  }
  .pr-40-pc {
    padding-right: 40px !important;
  }
  .plr-40-pc {
    padding-inline: 40px !important;
  }
}
.fs-40 {
  font-size: 40px !important;
}

@media screen and (max-width: 340px) {
  .fs-40-xs {
    font-size: 38px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-40-pc {
    font-size: 40px !important;
  }
}
/* border-radius */
.radius-40 {
  border-radius: 40px !important;
}

/* マージン関連クラス */
.m-44 {
  margin: 44px !important;
}

.mt-44 {
  margin-top: 44px !important;
}

.mb-44 {
  margin-bottom: 44px !important;
}

.mtb-44 {
  margin-block: 44px !important;
}

.ml-44 {
  margin-left: 44px !important;
}

.mr-44 {
  margin-right: 44px !important;
}

.mlr-44 {
  margin-inline: 44px !important;
}

@media screen and (min-width: 768px) {
  .m-44-pc {
    margin: 44px !important;
  }
  .mt-44-pc {
    margin-top: 44px !important;
  }
  .mb-44-pc {
    margin-bottom: 44px !important;
  }
  .mtb-44-pc {
    margin-block: 44px !important;
  }
  .ml-44-pc {
    margin-left: 44px !important;
  }
  .mr-44-pc {
    margin-right: 44px !important;
  }
  .mlr-44-pc {
    margin-inline: 44px !important;
  }
}
/* パディング関連クラス */
.p-44 {
  padding: 44px !important;
}

.pt-44 {
  padding-top: 44px !important;
}

.pb-44 {
  padding-bottom: 44px !important;
}

.ptb-44 {
  padding-block: 44px !important;
}

.pl-44 {
  padding-left: 44px !important;
}

.pr-44 {
  padding-right: 44px !important;
}

.plr-44 {
  padding-inline: 44px !important;
}

@media screen and (min-width: 768px) {
  .p-44-pc {
    padding: 44px !important;
  }
  .pt-44-pc {
    padding-top: 44px !important;
  }
  .pb-44-pc {
    padding-bottom: 44px !important;
  }
  .ptb-44-pc {
    padding-block: 44px !important;
  }
  .pl-44-pc {
    padding-left: 44px !important;
  }
  .pr-44-pc {
    padding-right: 44px !important;
  }
  .plr-44-pc {
    padding-inline: 44px !important;
  }
}
.fs-44 {
  font-size: 44px !important;
}

@media screen and (max-width: 340px) {
  .fs-44-xs {
    font-size: 41.8px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-44-pc {
    font-size: 44px !important;
  }
}
/* border-radius */
.radius-44 {
  border-radius: 44px !important;
}

/* マージン関連クラス */
.m-48 {
  margin: 48px !important;
}

.mt-48 {
  margin-top: 48px !important;
}

.mb-48 {
  margin-bottom: 48px !important;
}

.mtb-48 {
  margin-block: 48px !important;
}

.ml-48 {
  margin-left: 48px !important;
}

.mr-48 {
  margin-right: 48px !important;
}

.mlr-48 {
  margin-inline: 48px !important;
}

@media screen and (min-width: 768px) {
  .m-48-pc {
    margin: 48px !important;
  }
  .mt-48-pc {
    margin-top: 48px !important;
  }
  .mb-48-pc {
    margin-bottom: 48px !important;
  }
  .mtb-48-pc {
    margin-block: 48px !important;
  }
  .ml-48-pc {
    margin-left: 48px !important;
  }
  .mr-48-pc {
    margin-right: 48px !important;
  }
  .mlr-48-pc {
    margin-inline: 48px !important;
  }
}
/* パディング関連クラス */
.p-48 {
  padding: 48px !important;
}

.pt-48 {
  padding-top: 48px !important;
}

.pb-48 {
  padding-bottom: 48px !important;
}

.ptb-48 {
  padding-block: 48px !important;
}

.pl-48 {
  padding-left: 48px !important;
}

.pr-48 {
  padding-right: 48px !important;
}

.plr-48 {
  padding-inline: 48px !important;
}

@media screen and (min-width: 768px) {
  .p-48-pc {
    padding: 48px !important;
  }
  .pt-48-pc {
    padding-top: 48px !important;
  }
  .pb-48-pc {
    padding-bottom: 48px !important;
  }
  .ptb-48-pc {
    padding-block: 48px !important;
  }
  .pl-48-pc {
    padding-left: 48px !important;
  }
  .pr-48-pc {
    padding-right: 48px !important;
  }
  .plr-48-pc {
    padding-inline: 48px !important;
  }
}
.fs-48 {
  font-size: 48px !important;
}

@media screen and (max-width: 340px) {
  .fs-48-xs {
    font-size: 45.6px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-48-pc {
    font-size: 48px !important;
  }
}
/* border-radius */
.radius-48 {
  border-radius: 48px !important;
}

/* マージン関連クラス */
.m-52 {
  margin: 52px !important;
}

.mt-52 {
  margin-top: 52px !important;
}

.mb-52 {
  margin-bottom: 52px !important;
}

.mtb-52 {
  margin-block: 52px !important;
}

.ml-52 {
  margin-left: 52px !important;
}

.mr-52 {
  margin-right: 52px !important;
}

.mlr-52 {
  margin-inline: 52px !important;
}

@media screen and (min-width: 768px) {
  .m-52-pc {
    margin: 52px !important;
  }
  .mt-52-pc {
    margin-top: 52px !important;
  }
  .mb-52-pc {
    margin-bottom: 52px !important;
  }
  .mtb-52-pc {
    margin-block: 52px !important;
  }
  .ml-52-pc {
    margin-left: 52px !important;
  }
  .mr-52-pc {
    margin-right: 52px !important;
  }
  .mlr-52-pc {
    margin-inline: 52px !important;
  }
}
/* パディング関連クラス */
.p-52 {
  padding: 52px !important;
}

.pt-52 {
  padding-top: 52px !important;
}

.pb-52 {
  padding-bottom: 52px !important;
}

.ptb-52 {
  padding-block: 52px !important;
}

.pl-52 {
  padding-left: 52px !important;
}

.pr-52 {
  padding-right: 52px !important;
}

.plr-52 {
  padding-inline: 52px !important;
}

@media screen and (min-width: 768px) {
  .p-52-pc {
    padding: 52px !important;
  }
  .pt-52-pc {
    padding-top: 52px !important;
  }
  .pb-52-pc {
    padding-bottom: 52px !important;
  }
  .ptb-52-pc {
    padding-block: 52px !important;
  }
  .pl-52-pc {
    padding-left: 52px !important;
  }
  .pr-52-pc {
    padding-right: 52px !important;
  }
  .plr-52-pc {
    padding-inline: 52px !important;
  }
}
.fs-52 {
  font-size: 52px !important;
}

@media screen and (max-width: 340px) {
  .fs-52-xs {
    font-size: 49.4px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-52-pc {
    font-size: 52px !important;
  }
}
/* border-radius */
.radius-52 {
  border-radius: 52px !important;
}

/* マージン関連クラス */
.m-56 {
  margin: 56px !important;
}

.mt-56 {
  margin-top: 56px !important;
}

.mb-56 {
  margin-bottom: 56px !important;
}

.mtb-56 {
  margin-block: 56px !important;
}

.ml-56 {
  margin-left: 56px !important;
}

.mr-56 {
  margin-right: 56px !important;
}

.mlr-56 {
  margin-inline: 56px !important;
}

@media screen and (min-width: 768px) {
  .m-56-pc {
    margin: 56px !important;
  }
  .mt-56-pc {
    margin-top: 56px !important;
  }
  .mb-56-pc {
    margin-bottom: 56px !important;
  }
  .mtb-56-pc {
    margin-block: 56px !important;
  }
  .ml-56-pc {
    margin-left: 56px !important;
  }
  .mr-56-pc {
    margin-right: 56px !important;
  }
  .mlr-56-pc {
    margin-inline: 56px !important;
  }
}
/* パディング関連クラス */
.p-56 {
  padding: 56px !important;
}

.pt-56 {
  padding-top: 56px !important;
}

.pb-56 {
  padding-bottom: 56px !important;
}

.ptb-56 {
  padding-block: 56px !important;
}

.pl-56 {
  padding-left: 56px !important;
}

.pr-56 {
  padding-right: 56px !important;
}

.plr-56 {
  padding-inline: 56px !important;
}

@media screen and (min-width: 768px) {
  .p-56-pc {
    padding: 56px !important;
  }
  .pt-56-pc {
    padding-top: 56px !important;
  }
  .pb-56-pc {
    padding-bottom: 56px !important;
  }
  .ptb-56-pc {
    padding-block: 56px !important;
  }
  .pl-56-pc {
    padding-left: 56px !important;
  }
  .pr-56-pc {
    padding-right: 56px !important;
  }
  .plr-56-pc {
    padding-inline: 56px !important;
  }
}
.fs-56 {
  font-size: 56px !important;
}

@media screen and (max-width: 340px) {
  .fs-56-xs {
    font-size: 53.2px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-56-pc {
    font-size: 56px !important;
  }
}
/* border-radius */
.radius-56 {
  border-radius: 56px !important;
}

/* マージン関連クラス */
.m-60 {
  margin: 60px !important;
}

.mt-60 {
  margin-top: 60px !important;
}

.mb-60 {
  margin-bottom: 60px !important;
}

.mtb-60 {
  margin-block: 60px !important;
}

.ml-60 {
  margin-left: 60px !important;
}

.mr-60 {
  margin-right: 60px !important;
}

.mlr-60 {
  margin-inline: 60px !important;
}

@media screen and (min-width: 768px) {
  .m-60-pc {
    margin: 60px !important;
  }
  .mt-60-pc {
    margin-top: 60px !important;
  }
  .mb-60-pc {
    margin-bottom: 60px !important;
  }
  .mtb-60-pc {
    margin-block: 60px !important;
  }
  .ml-60-pc {
    margin-left: 60px !important;
  }
  .mr-60-pc {
    margin-right: 60px !important;
  }
  .mlr-60-pc {
    margin-inline: 60px !important;
  }
}
/* パディング関連クラス */
.p-60 {
  padding: 60px !important;
}

.pt-60 {
  padding-top: 60px !important;
}

.pb-60 {
  padding-bottom: 60px !important;
}

.ptb-60 {
  padding-block: 60px !important;
}

.pl-60 {
  padding-left: 60px !important;
}

.pr-60 {
  padding-right: 60px !important;
}

.plr-60 {
  padding-inline: 60px !important;
}

@media screen and (min-width: 768px) {
  .p-60-pc {
    padding: 60px !important;
  }
  .pt-60-pc {
    padding-top: 60px !important;
  }
  .pb-60-pc {
    padding-bottom: 60px !important;
  }
  .ptb-60-pc {
    padding-block: 60px !important;
  }
  .pl-60-pc {
    padding-left: 60px !important;
  }
  .pr-60-pc {
    padding-right: 60px !important;
  }
  .plr-60-pc {
    padding-inline: 60px !important;
  }
}
.fs-60 {
  font-size: 60px !important;
}

@media screen and (max-width: 340px) {
  .fs-60-xs {
    font-size: 57px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-60-pc {
    font-size: 60px !important;
  }
}
/* border-radius */
.radius-60 {
  border-radius: 60px !important;
}

/* マージン関連クラス */
.m-64 {
  margin: 64px !important;
}

.mt-64 {
  margin-top: 64px !important;
}

.mb-64 {
  margin-bottom: 64px !important;
}

.mtb-64 {
  margin-block: 64px !important;
}

.ml-64 {
  margin-left: 64px !important;
}

.mr-64 {
  margin-right: 64px !important;
}

.mlr-64 {
  margin-inline: 64px !important;
}

@media screen and (min-width: 768px) {
  .m-64-pc {
    margin: 64px !important;
  }
  .mt-64-pc {
    margin-top: 64px !important;
  }
  .mb-64-pc {
    margin-bottom: 64px !important;
  }
  .mtb-64-pc {
    margin-block: 64px !important;
  }
  .ml-64-pc {
    margin-left: 64px !important;
  }
  .mr-64-pc {
    margin-right: 64px !important;
  }
  .mlr-64-pc {
    margin-inline: 64px !important;
  }
}
/* パディング関連クラス */
.p-64 {
  padding: 64px !important;
}

.pt-64 {
  padding-top: 64px !important;
}

.pb-64 {
  padding-bottom: 64px !important;
}

.ptb-64 {
  padding-block: 64px !important;
}

.pl-64 {
  padding-left: 64px !important;
}

.pr-64 {
  padding-right: 64px !important;
}

.plr-64 {
  padding-inline: 64px !important;
}

@media screen and (min-width: 768px) {
  .p-64-pc {
    padding: 64px !important;
  }
  .pt-64-pc {
    padding-top: 64px !important;
  }
  .pb-64-pc {
    padding-bottom: 64px !important;
  }
  .ptb-64-pc {
    padding-block: 64px !important;
  }
  .pl-64-pc {
    padding-left: 64px !important;
  }
  .pr-64-pc {
    padding-right: 64px !important;
  }
  .plr-64-pc {
    padding-inline: 64px !important;
  }
}
.fs-64 {
  font-size: 64px !important;
}

@media screen and (max-width: 340px) {
  .fs-64-xs {
    font-size: 60.8px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-64-pc {
    font-size: 64px !important;
  }
}
/* border-radius */
.radius-64 {
  border-radius: 64px !important;
}

/* マージン関連クラス */
.m-72 {
  margin: 72px !important;
}

.mt-72 {
  margin-top: 72px !important;
}

.mb-72 {
  margin-bottom: 72px !important;
}

.mtb-72 {
  margin-block: 72px !important;
}

.ml-72 {
  margin-left: 72px !important;
}

.mr-72 {
  margin-right: 72px !important;
}

.mlr-72 {
  margin-inline: 72px !important;
}

@media screen and (min-width: 768px) {
  .m-72-pc {
    margin: 72px !important;
  }
  .mt-72-pc {
    margin-top: 72px !important;
  }
  .mb-72-pc {
    margin-bottom: 72px !important;
  }
  .mtb-72-pc {
    margin-block: 72px !important;
  }
  .ml-72-pc {
    margin-left: 72px !important;
  }
  .mr-72-pc {
    margin-right: 72px !important;
  }
  .mlr-72-pc {
    margin-inline: 72px !important;
  }
}
/* パディング関連クラス */
.p-72 {
  padding: 72px !important;
}

.pt-72 {
  padding-top: 72px !important;
}

.pb-72 {
  padding-bottom: 72px !important;
}

.ptb-72 {
  padding-block: 72px !important;
}

.pl-72 {
  padding-left: 72px !important;
}

.pr-72 {
  padding-right: 72px !important;
}

.plr-72 {
  padding-inline: 72px !important;
}

@media screen and (min-width: 768px) {
  .p-72-pc {
    padding: 72px !important;
  }
  .pt-72-pc {
    padding-top: 72px !important;
  }
  .pb-72-pc {
    padding-bottom: 72px !important;
  }
  .ptb-72-pc {
    padding-block: 72px !important;
  }
  .pl-72-pc {
    padding-left: 72px !important;
  }
  .pr-72-pc {
    padding-right: 72px !important;
  }
  .plr-72-pc {
    padding-inline: 72px !important;
  }
}
.fs-72 {
  font-size: 72px !important;
}

@media screen and (max-width: 340px) {
  .fs-72-xs {
    font-size: 68.4px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-72-pc {
    font-size: 72px !important;
  }
}
/* border-radius */
.radius-72 {
  border-radius: 72px !important;
}

/* マージン関連クラス */
.m-80 {
  margin: 80px !important;
}

.mt-80 {
  margin-top: 80px !important;
}

.mb-80 {
  margin-bottom: 80px !important;
}

.mtb-80 {
  margin-block: 80px !important;
}

.ml-80 {
  margin-left: 80px !important;
}

.mr-80 {
  margin-right: 80px !important;
}

.mlr-80 {
  margin-inline: 80px !important;
}

@media screen and (min-width: 768px) {
  .m-80-pc {
    margin: 80px !important;
  }
  .mt-80-pc {
    margin-top: 80px !important;
  }
  .mb-80-pc {
    margin-bottom: 80px !important;
  }
  .mtb-80-pc {
    margin-block: 80px !important;
  }
  .ml-80-pc {
    margin-left: 80px !important;
  }
  .mr-80-pc {
    margin-right: 80px !important;
  }
  .mlr-80-pc {
    margin-inline: 80px !important;
  }
}
/* パディング関連クラス */
.p-80 {
  padding: 80px !important;
}

.pt-80 {
  padding-top: 80px !important;
}

.pb-80 {
  padding-bottom: 80px !important;
}

.ptb-80 {
  padding-block: 80px !important;
}

.pl-80 {
  padding-left: 80px !important;
}

.pr-80 {
  padding-right: 80px !important;
}

.plr-80 {
  padding-inline: 80px !important;
}

@media screen and (min-width: 768px) {
  .p-80-pc {
    padding: 80px !important;
  }
  .pt-80-pc {
    padding-top: 80px !important;
  }
  .pb-80-pc {
    padding-bottom: 80px !important;
  }
  .ptb-80-pc {
    padding-block: 80px !important;
  }
  .pl-80-pc {
    padding-left: 80px !important;
  }
  .pr-80-pc {
    padding-right: 80px !important;
  }
  .plr-80-pc {
    padding-inline: 80px !important;
  }
}
.fs-80 {
  font-size: 80px !important;
}

@media screen and (max-width: 340px) {
  .fs-80-xs {
    font-size: 76px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-80-pc {
    font-size: 80px !important;
  }
}
/* border-radius */
.radius-80 {
  border-radius: 80px !important;
}

/* マージン関連クラス */
.m-96 {
  margin: 96px !important;
}

.mt-96 {
  margin-top: 96px !important;
}

.mb-96 {
  margin-bottom: 96px !important;
}

.mtb-96 {
  margin-block: 96px !important;
}

.ml-96 {
  margin-left: 96px !important;
}

.mr-96 {
  margin-right: 96px !important;
}

.mlr-96 {
  margin-inline: 96px !important;
}

@media screen and (min-width: 768px) {
  .m-96-pc {
    margin: 96px !important;
  }
  .mt-96-pc {
    margin-top: 96px !important;
  }
  .mb-96-pc {
    margin-bottom: 96px !important;
  }
  .mtb-96-pc {
    margin-block: 96px !important;
  }
  .ml-96-pc {
    margin-left: 96px !important;
  }
  .mr-96-pc {
    margin-right: 96px !important;
  }
  .mlr-96-pc {
    margin-inline: 96px !important;
  }
}
/* パディング関連クラス */
.p-96 {
  padding: 96px !important;
}

.pt-96 {
  padding-top: 96px !important;
}

.pb-96 {
  padding-bottom: 96px !important;
}

.ptb-96 {
  padding-block: 96px !important;
}

.pl-96 {
  padding-left: 96px !important;
}

.pr-96 {
  padding-right: 96px !important;
}

.plr-96 {
  padding-inline: 96px !important;
}

@media screen and (min-width: 768px) {
  .p-96-pc {
    padding: 96px !important;
  }
  .pt-96-pc {
    padding-top: 96px !important;
  }
  .pb-96-pc {
    padding-bottom: 96px !important;
  }
  .ptb-96-pc {
    padding-block: 96px !important;
  }
  .pl-96-pc {
    padding-left: 96px !important;
  }
  .pr-96-pc {
    padding-right: 96px !important;
  }
  .plr-96-pc {
    padding-inline: 96px !important;
  }
}
.fs-96 {
  font-size: 96px !important;
}

@media screen and (max-width: 340px) {
  .fs-96-xs {
    font-size: 91.2px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-96-pc {
    font-size: 96px !important;
  }
}
/* border-radius */
.radius-96 {
  border-radius: 96px !important;
}

/* マージン関連クラス */
.m-100 {
  margin: 100px !important;
}

.mt-100 {
  margin-top: 100px !important;
}

.mb-100 {
  margin-bottom: 100px !important;
}

.mtb-100 {
  margin-block: 100px !important;
}

.ml-100 {
  margin-left: 100px !important;
}

.mr-100 {
  margin-right: 100px !important;
}

.mlr-100 {
  margin-inline: 100px !important;
}

@media screen and (min-width: 768px) {
  .m-100-pc {
    margin: 100px !important;
  }
  .mt-100-pc {
    margin-top: 100px !important;
  }
  .mb-100-pc {
    margin-bottom: 100px !important;
  }
  .mtb-100-pc {
    margin-block: 100px !important;
  }
  .ml-100-pc {
    margin-left: 100px !important;
  }
  .mr-100-pc {
    margin-right: 100px !important;
  }
  .mlr-100-pc {
    margin-inline: 100px !important;
  }
}
/* パディング関連クラス */
.p-100 {
  padding: 100px !important;
}

.pt-100 {
  padding-top: 100px !important;
}

.pb-100 {
  padding-bottom: 100px !important;
}

.ptb-100 {
  padding-block: 100px !important;
}

.pl-100 {
  padding-left: 100px !important;
}

.pr-100 {
  padding-right: 100px !important;
}

.plr-100 {
  padding-inline: 100px !important;
}

@media screen and (min-width: 768px) {
  .p-100-pc {
    padding: 100px !important;
  }
  .pt-100-pc {
    padding-top: 100px !important;
  }
  .pb-100-pc {
    padding-bottom: 100px !important;
  }
  .ptb-100-pc {
    padding-block: 100px !important;
  }
  .pl-100-pc {
    padding-left: 100px !important;
  }
  .pr-100-pc {
    padding-right: 100px !important;
  }
  .plr-100-pc {
    padding-inline: 100px !important;
  }
}
.fs-100 {
  font-size: 100px !important;
}

@media screen and (max-width: 340px) {
  .fs-100-xs {
    font-size: 95px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-100-pc {
    font-size: 100px !important;
  }
}
/* border-radius */
.radius-100 {
  border-radius: 100px !important;
}

/* マージン関連クラス */
.m-110 {
  margin: 110px !important;
}

.mt-110 {
  margin-top: 110px !important;
}

.mb-110 {
  margin-bottom: 110px !important;
}

.mtb-110 {
  margin-block: 110px !important;
}

.ml-110 {
  margin-left: 110px !important;
}

.mr-110 {
  margin-right: 110px !important;
}

.mlr-110 {
  margin-inline: 110px !important;
}

@media screen and (min-width: 768px) {
  .m-110-pc {
    margin: 110px !important;
  }
  .mt-110-pc {
    margin-top: 110px !important;
  }
  .mb-110-pc {
    margin-bottom: 110px !important;
  }
  .mtb-110-pc {
    margin-block: 110px !important;
  }
  .ml-110-pc {
    margin-left: 110px !important;
  }
  .mr-110-pc {
    margin-right: 110px !important;
  }
  .mlr-110-pc {
    margin-inline: 110px !important;
  }
}
/* パディング関連クラス */
.p-110 {
  padding: 110px !important;
}

.pt-110 {
  padding-top: 110px !important;
}

.pb-110 {
  padding-bottom: 110px !important;
}

.ptb-110 {
  padding-block: 110px !important;
}

.pl-110 {
  padding-left: 110px !important;
}

.pr-110 {
  padding-right: 110px !important;
}

.plr-110 {
  padding-inline: 110px !important;
}

@media screen and (min-width: 768px) {
  .p-110-pc {
    padding: 110px !important;
  }
  .pt-110-pc {
    padding-top: 110px !important;
  }
  .pb-110-pc {
    padding-bottom: 110px !important;
  }
  .ptb-110-pc {
    padding-block: 110px !important;
  }
  .pl-110-pc {
    padding-left: 110px !important;
  }
  .pr-110-pc {
    padding-right: 110px !important;
  }
  .plr-110-pc {
    padding-inline: 110px !important;
  }
}
.fs-110 {
  font-size: 110px !important;
}

@media screen and (max-width: 340px) {
  .fs-110-xs {
    font-size: 104.5px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-110-pc {
    font-size: 110px !important;
  }
}
/* border-radius */
.radius-110 {
  border-radius: 110px !important;
}

/* マージン関連クラス */
.m-120 {
  margin: 120px !important;
}

.mt-120 {
  margin-top: 120px !important;
}

.mb-120 {
  margin-bottom: 120px !important;
}

.mtb-120 {
  margin-block: 120px !important;
}

.ml-120 {
  margin-left: 120px !important;
}

.mr-120 {
  margin-right: 120px !important;
}

.mlr-120 {
  margin-inline: 120px !important;
}

@media screen and (min-width: 768px) {
  .m-120-pc {
    margin: 120px !important;
  }
  .mt-120-pc {
    margin-top: 120px !important;
  }
  .mb-120-pc {
    margin-bottom: 120px !important;
  }
  .mtb-120-pc {
    margin-block: 120px !important;
  }
  .ml-120-pc {
    margin-left: 120px !important;
  }
  .mr-120-pc {
    margin-right: 120px !important;
  }
  .mlr-120-pc {
    margin-inline: 120px !important;
  }
}
/* パディング関連クラス */
.p-120 {
  padding: 120px !important;
}

.pt-120 {
  padding-top: 120px !important;
}

.pb-120 {
  padding-bottom: 120px !important;
}

.ptb-120 {
  padding-block: 120px !important;
}

.pl-120 {
  padding-left: 120px !important;
}

.pr-120 {
  padding-right: 120px !important;
}

.plr-120 {
  padding-inline: 120px !important;
}

@media screen and (min-width: 768px) {
  .p-120-pc {
    padding: 120px !important;
  }
  .pt-120-pc {
    padding-top: 120px !important;
  }
  .pb-120-pc {
    padding-bottom: 120px !important;
  }
  .ptb-120-pc {
    padding-block: 120px !important;
  }
  .pl-120-pc {
    padding-left: 120px !important;
  }
  .pr-120-pc {
    padding-right: 120px !important;
  }
  .plr-120-pc {
    padding-inline: 120px !important;
  }
}
.fs-120 {
  font-size: 120px !important;
}

@media screen and (max-width: 340px) {
  .fs-120-xs {
    font-size: 114px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-120-pc {
    font-size: 120px !important;
  }
}
/* border-radius */
.radius-120 {
  border-radius: 120px !important;
}

/* マージン関連クラス */
.m-130 {
  margin: 130px !important;
}

.mt-130 {
  margin-top: 130px !important;
}

.mb-130 {
  margin-bottom: 130px !important;
}

.mtb-130 {
  margin-block: 130px !important;
}

.ml-130 {
  margin-left: 130px !important;
}

.mr-130 {
  margin-right: 130px !important;
}

.mlr-130 {
  margin-inline: 130px !important;
}

@media screen and (min-width: 768px) {
  .m-130-pc {
    margin: 130px !important;
  }
  .mt-130-pc {
    margin-top: 130px !important;
  }
  .mb-130-pc {
    margin-bottom: 130px !important;
  }
  .mtb-130-pc {
    margin-block: 130px !important;
  }
  .ml-130-pc {
    margin-left: 130px !important;
  }
  .mr-130-pc {
    margin-right: 130px !important;
  }
  .mlr-130-pc {
    margin-inline: 130px !important;
  }
}
/* パディング関連クラス */
.p-130 {
  padding: 130px !important;
}

.pt-130 {
  padding-top: 130px !important;
}

.pb-130 {
  padding-bottom: 130px !important;
}

.ptb-130 {
  padding-block: 130px !important;
}

.pl-130 {
  padding-left: 130px !important;
}

.pr-130 {
  padding-right: 130px !important;
}

.plr-130 {
  padding-inline: 130px !important;
}

@media screen and (min-width: 768px) {
  .p-130-pc {
    padding: 130px !important;
  }
  .pt-130-pc {
    padding-top: 130px !important;
  }
  .pb-130-pc {
    padding-bottom: 130px !important;
  }
  .ptb-130-pc {
    padding-block: 130px !important;
  }
  .pl-130-pc {
    padding-left: 130px !important;
  }
  .pr-130-pc {
    padding-right: 130px !important;
  }
  .plr-130-pc {
    padding-inline: 130px !important;
  }
}
.fs-130 {
  font-size: 130px !important;
}

@media screen and (max-width: 340px) {
  .fs-130-xs {
    font-size: 123.5px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-130-pc {
    font-size: 130px !important;
  }
}
/* border-radius */
.radius-130 {
  border-radius: 130px !important;
}

/* マージン関連クラス */
.m-140 {
  margin: 140px !important;
}

.mt-140 {
  margin-top: 140px !important;
}

.mb-140 {
  margin-bottom: 140px !important;
}

.mtb-140 {
  margin-block: 140px !important;
}

.ml-140 {
  margin-left: 140px !important;
}

.mr-140 {
  margin-right: 140px !important;
}

.mlr-140 {
  margin-inline: 140px !important;
}

@media screen and (min-width: 768px) {
  .m-140-pc {
    margin: 140px !important;
  }
  .mt-140-pc {
    margin-top: 140px !important;
  }
  .mb-140-pc {
    margin-bottom: 140px !important;
  }
  .mtb-140-pc {
    margin-block: 140px !important;
  }
  .ml-140-pc {
    margin-left: 140px !important;
  }
  .mr-140-pc {
    margin-right: 140px !important;
  }
  .mlr-140-pc {
    margin-inline: 140px !important;
  }
}
/* パディング関連クラス */
.p-140 {
  padding: 140px !important;
}

.pt-140 {
  padding-top: 140px !important;
}

.pb-140 {
  padding-bottom: 140px !important;
}

.ptb-140 {
  padding-block: 140px !important;
}

.pl-140 {
  padding-left: 140px !important;
}

.pr-140 {
  padding-right: 140px !important;
}

.plr-140 {
  padding-inline: 140px !important;
}

@media screen and (min-width: 768px) {
  .p-140-pc {
    padding: 140px !important;
  }
  .pt-140-pc {
    padding-top: 140px !important;
  }
  .pb-140-pc {
    padding-bottom: 140px !important;
  }
  .ptb-140-pc {
    padding-block: 140px !important;
  }
  .pl-140-pc {
    padding-left: 140px !important;
  }
  .pr-140-pc {
    padding-right: 140px !important;
  }
  .plr-140-pc {
    padding-inline: 140px !important;
  }
}
.fs-140 {
  font-size: 140px !important;
}

@media screen and (max-width: 340px) {
  .fs-140-xs {
    font-size: 133px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-140-pc {
    font-size: 140px !important;
  }
}
/* border-radius */
.radius-140 {
  border-radius: 140px !important;
}

/* マージン関連クラス */
.m-150 {
  margin: 150px !important;
}

.mt-150 {
  margin-top: 150px !important;
}

.mb-150 {
  margin-bottom: 150px !important;
}

.mtb-150 {
  margin-block: 150px !important;
}

.ml-150 {
  margin-left: 150px !important;
}

.mr-150 {
  margin-right: 150px !important;
}

.mlr-150 {
  margin-inline: 150px !important;
}

@media screen and (min-width: 768px) {
  .m-150-pc {
    margin: 150px !important;
  }
  .mt-150-pc {
    margin-top: 150px !important;
  }
  .mb-150-pc {
    margin-bottom: 150px !important;
  }
  .mtb-150-pc {
    margin-block: 150px !important;
  }
  .ml-150-pc {
    margin-left: 150px !important;
  }
  .mr-150-pc {
    margin-right: 150px !important;
  }
  .mlr-150-pc {
    margin-inline: 150px !important;
  }
}
/* パディング関連クラス */
.p-150 {
  padding: 150px !important;
}

.pt-150 {
  padding-top: 150px !important;
}

.pb-150 {
  padding-bottom: 150px !important;
}

.ptb-150 {
  padding-block: 150px !important;
}

.pl-150 {
  padding-left: 150px !important;
}

.pr-150 {
  padding-right: 150px !important;
}

.plr-150 {
  padding-inline: 150px !important;
}

@media screen and (min-width: 768px) {
  .p-150-pc {
    padding: 150px !important;
  }
  .pt-150-pc {
    padding-top: 150px !important;
  }
  .pb-150-pc {
    padding-bottom: 150px !important;
  }
  .ptb-150-pc {
    padding-block: 150px !important;
  }
  .pl-150-pc {
    padding-left: 150px !important;
  }
  .pr-150-pc {
    padding-right: 150px !important;
  }
  .plr-150-pc {
    padding-inline: 150px !important;
  }
}
.fs-150 {
  font-size: 150px !important;
}

@media screen and (max-width: 340px) {
  .fs-150-xs {
    font-size: 142.5px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-150-pc {
    font-size: 150px !important;
  }
}
/* border-radius */
.radius-150 {
  border-radius: 150px !important;
}

/* マージン関連クラス */
.m-160 {
  margin: 160px !important;
}

.mt-160 {
  margin-top: 160px !important;
}

.mb-160 {
  margin-bottom: 160px !important;
}

.mtb-160 {
  margin-block: 160px !important;
}

.ml-160 {
  margin-left: 160px !important;
}

.mr-160 {
  margin-right: 160px !important;
}

.mlr-160 {
  margin-inline: 160px !important;
}

@media screen and (min-width: 768px) {
  .m-160-pc {
    margin: 160px !important;
  }
  .mt-160-pc {
    margin-top: 160px !important;
  }
  .mb-160-pc {
    margin-bottom: 160px !important;
  }
  .mtb-160-pc {
    margin-block: 160px !important;
  }
  .ml-160-pc {
    margin-left: 160px !important;
  }
  .mr-160-pc {
    margin-right: 160px !important;
  }
  .mlr-160-pc {
    margin-inline: 160px !important;
  }
}
/* パディング関連クラス */
.p-160 {
  padding: 160px !important;
}

.pt-160 {
  padding-top: 160px !important;
}

.pb-160 {
  padding-bottom: 160px !important;
}

.ptb-160 {
  padding-block: 160px !important;
}

.pl-160 {
  padding-left: 160px !important;
}

.pr-160 {
  padding-right: 160px !important;
}

.plr-160 {
  padding-inline: 160px !important;
}

@media screen and (min-width: 768px) {
  .p-160-pc {
    padding: 160px !important;
  }
  .pt-160-pc {
    padding-top: 160px !important;
  }
  .pb-160-pc {
    padding-bottom: 160px !important;
  }
  .ptb-160-pc {
    padding-block: 160px !important;
  }
  .pl-160-pc {
    padding-left: 160px !important;
  }
  .pr-160-pc {
    padding-right: 160px !important;
  }
  .plr-160-pc {
    padding-inline: 160px !important;
  }
}
.fs-160 {
  font-size: 160px !important;
}

@media screen and (max-width: 340px) {
  .fs-160-xs {
    font-size: 152px !important;
  }
}
@media screen and (min-width: 768px) {
  .fs-160-pc {
    font-size: 160px !important;
  }
}
/* border-radius */
.radius-160 {
  border-radius: 160px !important;
}

/*--------------------------------------------------------------------------
COLOR
---------------------------------------------------------------------------*/
.txt-white {
  color: #fff !important;
}

.bg-white {
  background-color: #fff !important;
}

.border-white {
  border-color: #fff !important;
}

.txt-black {
  color: #252525 !important;
}

.bg-black {
  background-color: #252525 !important;
}

.border-black {
  border-color: #252525 !important;
}

.txt-green-main {
  color: #0C5427 !important;
}

.bg-green-main {
  background-color: #0C5427 !important;
}

.border-green-main {
  border-color: #0C5427 !important;
}

.txt-light-green {
  color: #B5CCB7 !important;
}

.bg-light-green {
  background-color: #B5CCB7 !important;
}

.border-light-green {
  border-color: #B5CCB7 !important;
}

.txt-yellow-green {
  color: #7EB841 !important;
}

.bg-yellow-green {
  background-color: #7EB841 !important;
}

.border-yellow-green {
  border-color: #7EB841 !important;
}

/*--------------------------------------------------------------------------
フォント関連
---------------------------------------------------------------------------*/
.txt-center {
  text-align: center !important;
}

.txt-left {
  text-align: left !important;
}

.txt-right {
  text-align: right !important;
}

/* フォントweight */
.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

.fw-800 {
  font-weight: 800 !important;
}

.fw-900 {
  font-weight: 900 !important;
}

/* LINE HEIGHT */
.lh-10 {
  line-height: 1 !important;
}

.lh-11 {
  line-height: 1.1 !important;
}

.lh-12 {
  line-height: 1.2 !important;
}

.lh-13 {
  line-height: 1.3 !important;
}

.lh-14 {
  line-height: 1.4 !important;
}

.lh-15 {
  line-height: 1.5 !important;
}

.lh-16 {
  line-height: 1.6 !important;
}

.lh-175 {
  line-height: 1.75 !important;
}

.lh-18 {
  line-height: 1.8 !important;
}

.lh-20 {
  line-height: 2 !important;
}

.lh-22 {
  line-height: 2.2 !important;
}

/* レター間隔 */
.ls-m10 {
  letter-spacing: -0.1em !important;
}

.ls-m5 {
  letter-spacing: -0.05em !important;
}

.ls-m3 {
  letter-spacing: -0.03em !important;
}

.ls-0 {
  letter-spacing: 0em !important;
}

.ls-1 {
  letter-spacing: 0.01em !important;
}

.ls-2 {
  letter-spacing: 0.02em !important;
}

.ls-3 {
  letter-spacing: 0.03em !important;
}

.ls-4 {
  letter-spacing: 0.04em !important;
}

.ls-5 {
  letter-spacing: 0.05em !important;
}

.ls-8 {
  letter-spacing: 0.08em !important;
}

.ls-10 {
  letter-spacing: 0.1em !important;
}

/* display プロパティのマッピング */
.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: flex !important;
}

.d-inline-flex {
  display: inline-flex !important;
}

.d-grid {
  display: grid !important;
}

.d-inline-grid {
  display: inline-grid !important;
}

.d-none {
  display: none !important;
}

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

.txt-jp {
  font-family: "Zen Kaku Gothic New", sans-serif;
}

.txt-underline {
  text-decoration: underline;
}

.uppercase {
  text-transform: uppercase !important;
}

.capitalize {
  text-transform: capitalize !important;
}

.normal-case {
  text-transform: none !important;
}

/*--------------------------------------------------------------------------
その他
--------------------------------------------------------------------------*/
.sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .sp {
    display: none;
  }
}

.pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
}

.no-link {
  pointer-events: none;
  text-decoration: none !important;
  cursor: initial;
}

@media screen and (min-width: 768px) {
  .no-hover-pc {
    pointer-events: none;
    cursor: initial;
  }
}

.c-mv-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100svw;
  height: 100svh;
  background-color: #FEFFF5;
  z-index: 3;
}

/*--------------------------------------------------------------------------
トップへボタン
---------------------------------------------------------------------------*/
.c-pagetop {
  position: fixed;
  bottom: 32px;
  right: 16px;
  z-index: 996;
}
.c-pagetop__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 5px;
  background-color: #083117;
}
.c-pagetop__inner:hover {
  opacity: 1;
  transform: translateY(-3px);
}
.c-pagetop__arw {
  width: 22px;
  height: 22px;
  transform: rotate(-90deg);
}
.c-pagetop__arw img {
  display: block;
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .c-pagetop {
    width: 50px;
    height: 50px;
    bottom: 64px;
    right: 32px;
  }
}

/*--------------------------------------------------------------------------
セクション
---------------------------------------------------------------------------*/
.c-sec__inner {
  width: min(90%, 1200px);
  margin-inline: auto;
}

/*--------------------------------------------------------------------------
セクションタイトル
---------------------------------------------------------------------------*/
.c-secttl {
  margin-bottom: 24px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-secttl {
    margin-bottom: 46px;
  }
}
.c-secttl:has(.c-secttl__en)::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  border: 1px solid #B5CCB7;
  position: absolute;
  top: 0;
  left: 0;
}
.c-secttl__en {
  font-size: 13px;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  color: #0C5427;
  line-height: 1.4;
  text-transform: capitalize;
  margin-bottom: 6px;
  padding-left: 10px;
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 769px) {
  .c-secttl__en {
    font-size: 14px;
    margin-bottom: 10px;
  }
}
.c-secttl__jp {
  font-size: min(7svw, 32px);
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .c-secttl__jp {
    font-size: 32px;
  }
}
.c-secttl-white .c-secttl__en {
  color: #B5CCB7;
}
.c-secttl-white .c-secttl__jp {
  color: #fff;
}

/*--------------------------------------------------------------------------
セクションタイトル（underline）
---------------------------------------------------------------------------*/
.c-secttl02 {
  line-height: 1.5;
  font-size: 26px;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 5%; /* 2px */
  text-underline-offset: auto;
  font-weight: 700;
  color: #0C5427;
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .c-secttl02 {
    font-size: 40px;
    margin-bottom: 40px;
  }
}

/*--------------------------------------------------------------------------
セクションタイトル（黒太文字）
---------------------------------------------------------------------------*/
.c-secttl03 {
  line-height: 1.5;
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .c-secttl03 {
    font-size: 32px;
    margin-bottom: 80px;
  }
}

/*--------------------------------------------------------------------------
セクション説明文
---------------------------------------------------------------------------*/
.c-sec-intro {
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (min-width: 769px) {
  .c-sec-intro {
    font-size: 18px;
  }
}

/*--------------------------------------------------------------------------
.c-btn
---------------------------------------------------------------------------*/
.c-btn {
  display: flex;
  align-items: center;
  padding-block: 18px;
  padding-inline: 24px 40px;
  color: #fff;
  background-color: #0C5427;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.1;
  width: min(240px, 100%);
  border-radius: 10px;
  position: relative;
}
@media screen and (min-width: 769px) {
  .c-btn {
    padding-block: 20px;
    font-size: 18px;
    width: min(335px, 100%);
  }
}
.c-btn:hover {
  opacity: 1;
  transform: translateY(-3px);
}
.c-btn::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background-color: #3F8158;
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 12px;
  background-image: url(/assets/img/common/arw-white.svg);
  background-position: center;
}
.c-btn-white {
  background-color: #fff;
  color: #252525;
}
.c-btn-pagelink {
  background-color: #44AB6B;
  border: 1px solid #0C5427;
  border-radius: 40px;
}
@media screen and (min-width: 769px) {
  .c-btn-pagelink {
    min-height: 80px;
  }
}
.c-btn-pagelink::after {
  background-image: url(/assets/img/common/arw-green.svg);
  background-color: #E4F2D5;
  transform: rotate(90deg);
  border-radius: 50%;
}
.c-btn-noarw {
  padding-right: 24px;
}
.c-btn-noarw.c-btn::after {
  display: none;
}
.c-btn-center {
  margin-inline: auto;
  justify-content: center;
}

/*--------------------------------------------------------------------------
c-media 画像や動画など＋テキストを横並びに
---------------------------------------------------------------------------*/
.c-media {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
@media screen and (min-width: 769px) {
  .c-media {
    flex-direction: row;
    justify-content: space-between;
  }
}
@media screen and (min-width: 769px) {
  .c-media-reverse {
    flex-direction: row-reverse;
  }
}
@media screen and (min-width: 769px) {
  .c-media__body {
    width: 55%;
  }
}
.c-media__img {
  border-radius: 10px;
  overflow: hidden;
  height: fit-content;
}
@media screen and (min-width: 769px) {
  .c-media__img {
    width: 39%;
  }
}

/*--------------------------------------------------------------------------
c-list 
---------------------------------------------------------------------------*/
.c-list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 4px;
}
@media screen and (min-width: 769px) {
  .c-list {
    row-gap: 8px;
  }
}
.c-list__item {
  font-weight: 700;
  font-size: 16px;
  line-height: 1.5;
  position: relative;
  display: flex;
}
@media screen and (min-width: 769px) {
  .c-list__item {
    font-size: 18px;
    line-height: 1.75;
  }
}
.c-list__item::before {
  content: "";
  display: inline-block;
  margin-right: 8px;
  width: 18px;
  height: 18px;
  background-image: url(/assets/img/common/icon-list.svg);
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 4px;
}
@media screen and (min-width: 769px) {
  .c-list__item::before {
    margin-right: 12px;
    width: 20px;
    height: 20px;
    margin-top: 8px;
  }
}

/*--------------------------------------------------------------------------
アコーディオン FAQ
---------------------------------------------------------------------------*/
.c-accordion {
  padding-bottom: 4px;
  border-bottom: 2px dotted #C5DDC7;
}
@media screen and (min-width: 769px) {
  .c-accordion {
    padding-bottom: 8px;
  }
}
.c-accordion:first-child {
  border-top: 2px dotted #C5DDC7;
}
.c-accordion__btn, .c-accordion__cont {
  line-height: 1.5;
  padding-right: 26px;
  text-indent: -12px;
  padding-left: 27px;
}
@media screen and (min-width: 769px) {
  .c-accordion__btn, .c-accordion__cont {
    line-height: 2;
    text-indent: -17px;
    padding-left: 34px;
  }
}
.c-accordion__btn {
  padding-block: 18px 14px;
  position: relative;
  font-weight: 700;
  cursor: pointer;
  transition: 0.3s;
}
@media screen and (min-width: 769px) {
  .c-accordion__btn {
    padding-block: 25px 16px;
  }
}
.c-accordion__btn:hover {
  opacity: 0.7;
}
.c-accordion__btn::before, .c-accordion__btn::after {
  content: "";
  display: block;
  width: 16px;
  height: 1px;
  background-color: #0C5427;
  transition: 0.3s;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
}
.c-accordion__btn::before {
  transform: translateY(-50%) rotate(90deg);
}
.c-accordion__btn.open::before {
  transform: translateY(-50%) rotate(0deg);
}
.c-accordion__btn.open::after {
  transform: translateY(-50%) scale(-1, 1);
}
.c-accordion__cont {
  padding-bottom: 12px;
  font-weight: 500;
}
@media screen and (min-width: 769px) {
  .c-accordion__cont {
    padding-bottom: 12px;
  }
}

.c-faq-icon {
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  display: inline-block;
  margin-right: 8px;
  font-size: 18px;
  color: #0C5427;
  line-height: 100%;
}
@media screen and (min-width: 769px) {
  .c-faq-icon {
    font-size: 24px;
    margin-right: 16px;
  }
}

/*--------------------------------------------------------------------------
施工事例
---------------------------------------------------------------------------*/
.c-work-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  row-gap: 28px;
  column-gap: 16px;
}
@media screen and (min-width: 769px) {
  .c-work-list {
    row-gap: 30px;
    column-gap: 30px;
  }
}

.c-work-card__img {
  border-radius: 10px;
  overflow: hidden;
}
.c-work-card__ttl {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.4;
  margin-top: 12px;
}
@media screen and (min-width: 769px) {
  .c-work-card__ttl {
    font-size: 24px;
    margin-top: 20px;
  }
}
.c-work-card__desc {
  font-weight: 500;
  line-height: 1.5;
  margin-top: 4px;
}
@media screen and (min-width: 769px) {
  .c-work-card__desc {
    margin-top: 10px;
  }
}

/*--------------------------------------------------------------------------
NEWS
---------------------------------------------------------------------------*/
.c-news-item {
  padding-block: 16px;
  border-bottom: 2px dotted #C5DDC7;
}
@media screen and (min-width: 769px) {
  .c-news-item {
    padding-block: 25px;
  }
}
.c-news-item:first-child {
  border-top: 2px dotted #C5DDC7;
}
.c-news-item__inner {
  display: flex;
  align-items: center;
  column-gap: 16px;
}
@media screen and (min-width: 769px) {
  .c-news-item__inner {
    column-gap: 24px;
  }
}
.c-news-item__img {
  aspect-ratio: 165/123;
  width: 30%;
  max-width: 240px;
  border-radius: 5px;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .c-news-item__img {
    border-radius: 10px;
  }
}
.c-news-item__txtblock {
  width: 66%;
  margin-top: -20px;
}
.c-news-item__date {
  font-size: 13px;
  font-weight: 500;
  font-family: "Poppins", sans-serif;
  line-height: 100%;
  color: #0C5427;
}
@media screen and (min-width: 769px) {
  .c-news-item__date {
    font-size: 14px;
  }
}
.c-news-item__ttl {
  font-weight: 700;
}

/*--------------------------------------------------------------------------
下層ページタイトル
---------------------------------------------------------------------------*/
.c-pagemv {
  position: relative;
  overflow: hidden;
  margin-top: 80px;
}
@media screen and (min-width: 769px) {
  .c-pagemv {
    margin-top: 110px;
  }
}
.c-pagemv__line {
  position: absolute;
  width: 35vw;
  aspect-ratio: 453/540;
}
@media screen and (min-width: 769px) {
  .c-pagemv__line {
    width: min(500px, 31vw);
  }
}
.c-pagemv__line-1 {
  top: -32vw;
  right: -2vw;
}
@media screen and (min-width: 769px) {
  .c-pagemv__line-1 {
    top: max(-460px, -29vw);
    right: max(-20px, -2vw);
  }
}
.c-pagemv__line-2 {
  top: -28vw;
  right: -11vw;
}
@media screen and (min-width: 769px) {
  .c-pagemv__line-2 {
    right: max(-160px, -10vw);
    top: max(-390px, -25vw);
  }
}
.c-pagemv .c-secttl {
  margin-bottom: 0;
}
.c-pagemv .c-secttl__en {
  font-size: 16px;
}
@media screen and (min-width: 769px) {
  .c-pagemv .c-secttl__en {
    font-size: 24px;
    margin-bottom: 4px;
  }
}
.c-pagemv .c-secttl__jp {
  font-size: 28px;
}
@media screen and (min-width: 769px) {
  .c-pagemv .c-secttl__jp {
    font-size: 48px;
  }
}
.c-pagemv__bg {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  background-color: rgba(12, 84, 39, 0.03);
  width: 94%;
  height: 100%;
  border-bottom-right-radius: 10svw;
}
@media screen and (min-width: 769px) {
  .c-pagemv__bg {
    border-bottom-right-radius: 6.25svw;
    width: 83%;
  }
}
.c-pagemv__cont {
  padding-block: 40px;
  width: min(90%, 1200px);
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .c-pagemv__cont {
    padding-block: 80px;
  }
}
.c-pagemv__txt {
  font-weight: 700;
  line-height: 1.75;
  font-size: 20px;
  padding-right: 24px;
}
@media screen and (min-width: 769px) {
  .c-pagemv__txt {
    font-size: 24px;
  }
}
.c-pagemv__txt-sm {
  font-size: 15px;
}
@media screen and (min-width: 769px) {
  .c-pagemv__txt-sm {
    font-size: 18px;
  }
}

/*--------------------------------------------------------------------------
パンくず
---------------------------------------------------------------------------*/
.c-breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 6px;
  width: min(90%, 1200px);
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .c-breadcrumb {
    margin-top: 10px;
  }
}
.c-breadcrumb__item {
  color: #666666;
}
.c-breadcrumb__item:has(+ .c-breadcrumb__item)::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 1px;
  background-color: #D9D9D9;
  margin-inline: 3px;
  vertical-align: middle;
}
@media screen and (min-width: 769px) {
  .c-breadcrumb__item:has(+ .c-breadcrumb__item)::after {
    width: 53px;
    margin-inline: 8px;
  }
}
.c-breadcrumb__item a, .c-breadcrumb__item span {
  font-size: 12px;
}
@media screen and (min-width: 769px) {
  .c-breadcrumb__item a, .c-breadcrumb__item span {
    font-size: 14px;
  }
}
.c-breadcrumb__item a {
  text-decoration: underline;
}
.c-breadcrumb__item-top::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  background-image: url(/assets/img/common/icon-home.svg);
  background-size: cover;
  vertical-align: sub;
}

/*--------------------------------------------------------------------------
Pagination
---------------------------------------------------------------------------*/
.pagination {
  display: flex;
  width: fit-content;
  margin-inline: auto;
  gap: 8px;
  margin-top: 40px;
}
@media screen and (min-width: 769px) {
  .pagination {
    margin-top: 88px;
  }
}
.pagination .page-item {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  overflow: hidden;
}
@media screen and (min-width: 769px) {
  .pagination .page-item {
    width: 40px;
    height: 40px;
  }
}
.pagination .page-item a {
  display: block;
  font-size: 16px;
  font-weight: 800;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0.7;
  color: #0C5427;
  background-color: #fff;
  font-family: "Poppins", sans-serif;
}
@media screen and (min-width: 769px) {
  .pagination .page-item a {
    font-size: 18px;
  }
}
.pagination .page-item.number {
  border: 1px solid #0C5427;
}
.pagination .page-item.current a {
  color: #fff;
  background-color: #0C5427;
  pointer-events: none;
}
.pagination .page-item.disabled {
  display: none;
}

/*--------------------------------------------------------------------------
テーブル
---------------------------------------------------------------------------*/
.c-table {
  background-color: #fff;
  width: 100%;
  padding: min(5.5svw, 40px);
  display: block;
}
@media screen and (min-width: 769px) {
  .c-table {
    padding: min(5.5vw, 80px);
  }
}
.c-table__stack {
  display: grid;
  grid-auto-flow: row;
  gap: 8px;
}
@media screen and (min-width: 769px) {
  .c-table__stack {
    gap: 12px;
  }
}
.c-table__tr {
  display: flex;
  column-gap: 8px;
}
.c-table__th, .c-table__td {
  font-size: 15px;
  padding-block: 16px;
  line-height: 1.8;
}
@media screen and (min-width: 769px) {
  .c-table__th, .c-table__td {
    padding-block: 24px;
    line-height: 2;
    font-size: 16px;
  }
}
.c-table__th {
  font-weight: 700;
  width: 25%;
  border-bottom: 1px solid #0C5427;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 769px) {
  .c-table__th {
    width: 15%;
  }
}
.c-table__td {
  border-bottom: 1px solid #7EB841;
  width: 75%;
}
@media screen and (min-width: 769px) {
  .c-table__td {
    width: 85%;
  }
}
.c-table__td-map a {
  display: inline-block;
  width: 24px;
  height: 24px;
  margin-left: 8px;
}
@media screen and (min-width: 769px) {
  .c-table__td-map a {
    margin-left: 16px;
  }
}
.c-table__list {
  display: grid;
  grid-auto-flow: row;
  gap: 4px;
  font-family: "Poppins", sans-serif;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .c-table__list {
    gap: 8px;
  }
}
.c-table__list .num {
  display: inline-block;
  margin-right: 6px;
}
@media screen and (min-width: 769px) {
  .c-table__list .num {
    margin-right: 8px;
  }
}

/*--------------------------------------------------------------------------
MV
---------------------------------------------------------------------------*/
.p-top-mv {
  margin-top: 80px;
  padding-inline: 4svw;
  position: relative;
  padding-bottom: 40px;
  overflow-x: clip;
}
@media screen and (min-width: 769px) {
  .p-top-mv {
    padding-bottom: 140px;
  }
}
@media screen and (min-width: 769px) {
  .p-top-mv {
    margin-top: 110px;
  }
}
.p-top-mv__line {
  position: absolute;
  transform: rotate(-7deg);
  width: 65svw;
  top: 25svw;
  right: -5svw;
  z-index: -1;
}
@media screen and (min-width: 769px) {
  .p-top-mv__line {
    width: 31svw;
    top: 11svw;
    transform: rotate(0deg);
    right: 0vw;
  }
}
.p-top-mv__img {
  width: 85svw;
}
@media screen and (min-width: 769px) {
  .p-top-mv__img {
    width: 83svw;
    margin-inline: auto;
  }
}
.p-top-mv__txtblock {
  position: absolute;
  top: 4.2svw;
  width: 41svw;
  right: 3svw;
  display: flex;
  flex-direction: row-reverse;
  aspect-ratio: 156/252;
  gap: 8px;
}
@media screen and (min-width: 769px) {
  .p-top-mv__txtblock {
    width: 15svw;
    top: 2.5vw;
    right: 6vw;
    gap: 27px;
  }
}
.p-top-mv-ttl {
  display: flex;
  flex-direction: row-reverse;
  gap: 4px;
}
@media screen and (min-width: 769px) {
  .p-top-mv-ttl {
    gap: 5px;
  }
}
.p-top-mv-ttl__line {
  position: relative;
  width: 13svw;
  height: fit-content;
}
@media screen and (min-width: 769px) {
  .p-top-mv-ttl__line {
    width: 4.6svw;
  }
}
.p-top-mv-ttl__bg {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  border-radius: 5px;
  background-color: #083117;
}
.p-top-mv-ttl__txt {
  display: flex;
  flex-direction: column;
  font-size: 8.5svw;
  font-weight: 700;
  width: 100%;
  color: #fff;
  position: relative;
  line-height: 1.3;
  text-align: center;
  height: fit-content;
  padding-block: 6px;
}
@media screen and (min-width: 769px) {
  .p-top-mv-ttl__txt {
    font-size: 3.3svw;
  }
}
.p-top-mv__desc {
  display: flex;
  flex-direction: row-reverse;
  gap: 2px;
}
@media screen and (min-width: 769px) {
  .p-top-mv__desc {
    gap: 6px;
  }
}
.p-top-mv__desc span {
  display: flex;
  flex-direction: column;
  gap: 2px;
  font-size: 4.8svw;
  width: 4.8svw;
  font-weight: 700;
  text-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
  color: #fff;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .p-top-mv__desc span {
    font-size: max(1.4svw, 14px);
    width: max(1.4svw, 14px);
  }
}
.p-top-mv-point {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3px;
  margin-block: 16px;
}
@media screen and (min-width: 769px) {
  .p-top-mv-point {
    position: absolute;
    right: 5svw;
    top: 28svw;
  }
}
.p-top-mv-point__item {
  background-color: #0C5427;
  border: 1px solid #fff;
  color: #fff;
  border-radius: 7px;
  text-align: center;
  padding: 12px;
  font-weight: 700;
  line-height: 1.4;
  font-size: 18px;
}
@media screen and (min-width: 769px) {
  .p-top-mv-point__item {
    font-size: max(16px, 1.3vw);
    line-height: 1.5;
    font-size: max(14px, 1.3vw);
    padding: 1.4vw 1.1vw;
    border-radius: 0.5vw;
  }
}
.p-top-mv-point__item-adjust {
  padding: 12px;
}
.p-top-mv-point__item .sm {
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .p-top-mv-point__item .sm {
    font-size: max(14px, 1.1vw);
  }
}
.p-top-mv-point__item .lg {
  font-size: 28px;
  line-height: 0.7;
}
@media screen and (min-width: 769px) {
  .p-top-mv-point__item .lg {
    font-size: max(18px, 2vw);
  }
}
@media screen and (min-width: 769px) {
  .p-top-mv-banner {
    position: absolute;
    right: 20px;
    bottom: -3vw;
  }
}
.p-top-mv-banner__inner {
  position: relative;
}
.p-top-mv-banner__cross {
  display: none;
  cursor: pointer;
}
@media screen and (min-width: 769px) {
  .p-top-mv-banner__cross {
    display: flex;
    position: absolute;
    width: 24px;
    height: 24px;
    top: -9px;
    right: -6px;
  }
}
.p-top-mv-banner__img:hover {
  opacity: 1;
}
@media screen and (min-width: 769px) {
  .p-top-mv-banner__img {
    width: min(30vw, 345px);
    display: block;
  }
}
.p-top-mv-nav {
  background: #fff;
  padding: 16px;
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  border-radius: 10px;
  row-gap: 10px;
  column-gap: 6px;
  border: 1px solid #B5CCB7;
}
@media screen and (min-width: 769px) {
  .p-top-mv-nav {
    position: absolute;
    left: 2.7vw;
    top: 23vw;
    border: none;
    grid-template-columns: 1fr;
    gap: 20px;
    padding-block: 2.3vw;
    padding-inline: 2.8vw 4vw;
    border-radius: 15px;
  }
}
.p-top-mv-nav__item {
  font-size: 14px;
  font-weight: 700;
  color: #0C5427;
  line-height: 1.3;
}
@media screen and (min-width: 769px) {
  .p-top-mv-nav__item {
    font-size: max(14px, 1vw);
  }
}

/*--------------------------------------------------------------------------
TYPES
---------------------------------------------------------------------------*/
.p-top-types__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 10px;
  column-gap: 8px;
}
@media screen and (min-width: 769px) {
  .p-top-types__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
  }
}

.p-top-type-card {
  background-color: #fff;
  border: 1px solid #0C5427;
  border-radius: 10px;
  padding-inline: 10px;
  padding-block: 16px;
}
@media screen and (min-width: 769px) {
  .p-top-type-card {
    padding-inline: 20px;
    padding-block: 20px;
    min-height: 363px;
  }
}
.p-top-type-card__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 0px;
}
@media screen and (min-width: 769px) {
  .p-top-type-card__inner {
    row-gap: 10px;
  }
}
.p-top-type-card__ttl {
  font-size: min(4.3svw, 24px);
  text-align: center;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.03em;
}
@media screen and (min-width: 769px) {
  .p-top-type-card__ttl {
    font-size: 24px;
    letter-spacing: 0em;
  }
}
.p-top-type-card__img {
  width: min(135px, 80%);
}
.p-top-type-card__desc {
  font-weight: 500;
  line-height: 1.5;
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .p-top-type-card__desc {
    line-height: 2;
    font-size: 16px;
  }
}

/*--------------------------------------------------------------------------
Message
---------------------------------------------------------------------------*/
.p-top-message {
  background-color: #0C5427;
  border-top-left-radius: max(6.7vw, 40px);
}
.p-top-message__txt {
  text-decoration: underline;
  font-weight: 700;
  font-size: min(7.4svw, 28px);
  line-height: 1.6;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: 5%; /* 2px */
  text-underline-offset: 6px;
}
@media screen and (min-width: 769px) {
  .p-top-message__txt {
    font-size: 40px;
    line-height: 1.75;
    text-underline-offset: 8px;
  }
}

/*--------------------------------------------------------------------------
WORK
---------------------------------------------------------------------------*/
.p-top-area {
  max-width: 890px;
  margin-inline: auto;
  padding-block: 20px;
  padding-inline: 10px;
  background-color: #fff;
  border-radius: 15px;
  border: 1px solid #0C5427;
}
@media screen and (min-width: 769px) {
  .p-top-area {
    padding-block: 40px 50px;
    padding-inline: 70px;
  }
}
.p-top-area__ttl {
  display: flex;
  justify-content: center;
  column-gap: 10px;
}
@media screen and (min-width: 769px) {
  .p-top-area__ttl {
    column-gap: 20px;
  }
}
.p-top-area__ttl-icon {
  width: 24px;
}
@media screen and (min-width: 769px) {
  .p-top-area__ttl-icon {
    width: 25px;
  }
}
.p-top-area__ttl-txt {
  font-weight: 700;
  color: #0C5427;
  line-height: 1.3;
  font-size: 18px;
}
@media screen and (min-width: 769px) {
  .p-top-area__ttl-txt {
    font-size: 24px;
  }
}

/*--------------------------------------------------------------------------
INFO
---------------------------------------------------------------------------*/
.p-top-info {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 769px) {
  .p-top-info {
    flex-direction: row;
  }
}
@media screen and (min-width: 769px) {
  .p-top-info .p-top-faq,
  .p-top-info .p-top-news {
    width: 50%;
  }
}
@media screen and (min-width: 769px) {
  .p-top-info .p-top-faq .c-sec__inner,
  .p-top-info .p-top-news .c-sec__inner {
    width: 76%;
  }
}
.p-top-info .p-top-faq {
  border-bottom: 1px solid #B5CCB7;
}
@media screen and (min-width: 769px) {
  .p-top-info .p-top-faq {
    border: none;
    border-right: 1px solid #B5CCB7;
  }
}

/*--------------------------------------------------------------------------
footer
---------------------------------------------------------------------------*/
#container:has(.p-top) .l-footer {
  margin-top: 0;
}

/*--------------------------------------------------------------------------
　テキスト
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
トップ画像
---------------------------------------------------------------------------*/
.p-company-topimg__img {
  container-type: inline-size;
  overflow: hidden;
}
.p-company-topimg__img img {
  border-radius: 2.5cqw;
}

/*--------------------------------------------------------------------------
メンバー
---------------------------------------------------------------------------*/
.p-company-member__list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 24px;
}
@media screen and (min-width: 769px) {
  .p-company-member__list {
    gap: min(5.5vw, 80px);
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
  }
}
.p-company-member-item {
  border-radius: 20px;
  border-top: 1px solid #0C5427;
  border-bottom: 1px solid #0C5427;
  padding: 7.1%;
  container-type: inline-size;
}
@media screen and (min-width: 769px) {
  .p-company-member-item {
    row-gap: 16px;
    border-radius: 30px;
  }
}
.p-company-member-item__inner {
  display: grid;
  grid-auto-flow: row;
  row-gap: 10px;
}
@media screen and (min-width: 769px) {
  .p-company-member-item__inner {
    row-gap: 16px;
  }
}
.p-company-member-item__img {
  border-radius: 1.7cqw;
  overflow: hidden;
}
.p-company-member-item__nameblock {
  display: grid;
  grid-auto-flow: row;
  gap: 6px;
}
@media screen and (min-width: 769px) {
  .p-company-member-item__nameblock {
    gap: 8px;
  }
}
.p-company-member-item__role {
  font-size: 13px;
  color: #0C5427;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .p-company-member-item__role {
    font-size: 14px;
  }
}
.p-company-member-item__name {
  font-size: 20px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .p-company-member-item__name {
    font-size: 24px;
  }
}
.p-company-member-item__details {
  padding-bottom: 12px;
  padding-top: 8px;
  border-bottom: 1px solid #d9d9d9;
  font-size: 16px;
  line-height: 1.75;
}
@media screen and (min-width: 769px) {
  .p-company-member-item__details {
    font-size: 18px;
    padding-bottom: 16px;
  }
}
.p-company-member-item__details:first-child {
  padding-top: 0;
}
.p-company-member-item__details-head {
  font-size: 14px;
  display: block;
  color: #666;
}
@media screen and (min-width: 769px) {
  .p-company-member-item__details-head {
    font-size: 16px;
  }
}

/*--------------------------------------------------------------------------
　テキスト
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
　テキスト
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
ボタン
---------------------------------------------------------------------------*/
.p-types-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 2svw;
}
@media screen and (min-width: 769px) {
  .p-types-links {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: min(1.6vw, 24px);
  }
}
.p-types-links .c-btn-pagelink {
  padding-block: 12px;
  font-size: 16px;
  padding-left: 12px;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .p-types-links .c-btn-pagelink {
    padding-left: 24px;
  }
}

/*--------------------------------------------------------------------------
カード
---------------------------------------------------------------------------*/
.p-types-list {
  display: grid;
  grid-auto-flow: row;
  row-gap: 32px;
}
@media screen and (min-width: 769px) {
  .p-types-list {
    row-gap: min(6vw, 80px);
  }
}

.p-types-item {
  container-type: inline-size;
  border: 1px solid #0C5427;
  border-radius: 16px;
}
@media screen and (min-width: 769px) {
  .p-types-item {
    border-radius: 30px;
  }
}
.p-types-item__inner {
  padding-block: 7cqw;
  padding-inline: 4.1cqw;
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 769px) {
  .p-types-item__inner {
    padding: 6.6cqw;
    padding-right: 40px;
    flex-direction: row;
    justify-content: space-between;
  }
}
.p-types-item__imgblock {
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-types-item__imgblock {
    width: 49%;
    height: fit-content;
  }
}
.p-types-item__icon {
  position: absolute;
  width: 24cqw;
  height: 24cqw;
  right: -2cqw;
  bottom: -6cqw;
}
@media screen and (min-width: 769px) {
  .p-types-item__icon {
    width: 11cqw;
    height: 11cqw;
    left: -3cqw;
    bottom: -3cqw;
  }
}
.p-types-item__txtblock {
  display: grid;
  grid-auto-flow: row;
  row-gap: 16px;
}
@media screen and (min-width: 769px) {
  .p-types-item__txtblock {
    width: 45%;
    row-gap: min(1.8vw, 24px);
  }
}
.p-types-item__ttl {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .p-types-item__ttl {
    font-size: 24px;
  }
}
.p-types-item__desc {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (min-width: 769px) {
  .p-types-item__desc {
    font-size: min(1.5vw, 18px);
    line-height: 1.75;
  }
}

/*--------------------------------------------------------------------------
ボタン
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
ページ内リンク
---------------------------------------------------------------------------*/
.p-service-links {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 2svw;
}
@media screen and (min-width: 769px) {
  .p-service-links {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
    gap: min(1.6vw, 24px);
    max-width: 890px;
    margin-inline: auto;
  }
}
.p-service-links .c-btn-pagelink {
  padding-block: 14px;
  font-size: 16px;
  padding-left: 12px;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 769px) {
  .p-service-links .c-btn-pagelink {
    padding-left: 24px;
  }
}

/*--------------------------------------------------------------------------
施工対象
---------------------------------------------------------------------------*/
.p-service-category__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: min(3vw, 32px);
  row-gap: 24px;
}
@media screen and (min-width: 769px) {
  .p-service-category__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
  }
}
.p-service-category-item {
  container-type: inline-size;
}
.p-service-category-item:nth-child(2n) {
  animation-delay: 0.4s;
}
@media screen and (min-width: 769px) {
  .p-service-category-item:nth-child(3n-1) {
    animation-delay: 0.4s;
  }
  .p-service-category-item:nth-child(3n) {
    animation-delay: 0.6s;
  }
}
.p-service-category-item__img {
  border-radius: 2.7cqw;
}
.p-service-category-item__txt {
  font-size: 16px;
  margin-top: 8px;
  line-height: 1.4;
}
@media screen and (min-width: 769px) {
  .p-service-category-item__txt {
    font-size: 18px;
  }
}

/*--------------------------------------------------------------------------
施工のこだわり
---------------------------------------------------------------------------*/
.p-service-point__container {
  display: flex;
  flex-direction: column-reverse;
  row-gap: 24px;
}
@media screen and (min-width: 769px) {
  .p-service-point__container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: min(6.6vw, 64px);
  }
}

/*--------------------------------------------------------------------------
施工の流れ
---------------------------------------------------------------------------*/
.p-service-step__list {
  display: grid;
  grid-auto-flow: row;
  gap: 32px;
}
@media screen and (min-width: 769px) {
  .p-service-step__list {
    gap: 44px;
  }
}
.p-service-step-item {
  display: grid;
  grid-template-columns: 1fr;
  border: 2px solid #E4F2D5;
  position: relative;
}
@media screen and (min-width: 769px) {
  .p-service-step-item {
    grid-template-columns: 0.3fr 0.7fr;
  }
}
.p-service-step-item:not(:last-child)::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 30px solid transparent;
  border-left: 30px solid transparent;
  border-top: 20px solid #e4f2d5;
  border-bottom: 0;
  position: absolute;
  bottom: -20px;
  right: 0;
  left: 0;
  margin-inline: auto;
}
.p-service-step-item__imgblock {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #E4F2D5;
  padding-block: 12px;
}
.p-service-step-item__img {
  width: min(40%, 200px);
}
@media screen and (min-width: 769px) {
  .p-service-step-item__img {
    width: 55%;
  }
}
.p-service-step-item__txtblock {
  padding: 20px 16px;
  background-color: #fff;
  display: grid;
  grid-auto-flow: row;
}
@media screen and (min-width: 769px) {
  .p-service-step-item__txtblock {
    padding: 64px;
  }
}
.p-service-step-item__ttlblock {
  display: flex;
  align-items: center;
}
.p-service-step-item__num {
  display: inline-block;
  width: min(10.2svw, 40px);
  height: min(10.2svw, 40px);
  border-radius: 50%;
  background-color: #0C5427;
  color: #fff;
  font-weight: 700;
  font-family: "Poppins", sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(4.6svw, 18px);
  margin-right: 8px;
}
@media screen and (min-width: 769px) {
  .p-service-step-item__num {
    width: 40px;
    height: 40px;
    font-size: 18px;
  }
}
.p-service-step-item__ttl {
  font-size: min(4.6svw, 18px);
  font-weight: 700;
  color: #0C5427;
}
@media screen and (min-width: 769px) {
  .p-service-step-item__ttl {
    letter-spacing: 0.05em;
    font-size: 18px;
  }
}
.p-service-step-item__desc {
  font-size: 14px;
  line-height: 1.5;
  margin-top: 8px;
}
@media screen and (min-width: 769px) {
  .p-service-step-item__desc {
    letter-spacing: 0.05em;
  }
}

/*--------------------------------------------------------------------------
main
---------------------------------------------------------------------------*/
.p-message-main__cont {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 24px;
}
@media screen and (min-width: 769px) {
  .p-message-main__cont {
    grid-template-columns: 1fr 1fr;
    column-gap: min(4.4vw, 64px);
  }
}

/*--------------------------------------------------------------------------
コンテンツ
---------------------------------------------------------------------------*/
@media screen and (min-width: 769px) {
  .c-work-card:nth-child(3n-1) {
    animation-delay: 0.4s;
  }
  .c-work-card:nth-child(3n) {
    animation-delay: 0.6s;
  }
}

/*--------------------------------------------------------------------------
　テキスト
---------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
アコーディオン
---------------------------------------------------------------------------*/
@media screen and (min-width: 769px) {
  .p-faq-main .c-accordion__btn::before, .p-faq-main .c-accordion__btn::after {
    width: 32px;
  }
}

/*--------------------------------------------------------------------------
電話番号
---------------------------------------------------------------------------*/
.p-contact-tel {
  border-radius: 10px;
  color: #FFF;
  font-size: 15px;
  font-weight: 700;
  line-height: 120%;
  display: flex;
  align-items: center;
  height: 64px;
  padding-inline: 16px;
  gap: 8px;
  background: #EDF5EB;
  width: min(100%, 295px);
}
@media screen and (min-width: 1200px) {
  .p-contact-tel {
    font-size: 18px;
    height: 60px;
    gap: 10px;
    border-radius: 15px;
    padding-inline: 24px;
    height: 60px;
  }
}
.p-contact-tel__txt {
  color: #0C5427;
  font-weight: 700;
  line-height: 100%;
  font-family: "Poppins", sans-serif;
  line-height: 1;
  font-size: 20px;
}
.p-contact-tel__txt-sm {
  font-size: 16px;
}
.p-contact-tel__icon {
  width: 16px;
}

/*--------------------------------------------------------------------------
お問い合わせフォーム
---------------------------------------------------------------------------*/
.p-inquiry__form {
  background-color: #fff;
  padding: 24px 16px 32px;
}
@media screen and (min-width: 769px) {
  .p-inquiry__form {
    padding: min(5.5vw, 80px);
  }
}
.p-inquiry__form-inner {
  display: grid;
  row-gap: 4px;
}
@media screen and (min-width: 769px) {
  .p-inquiry__form-inner {
    grid-template-columns: 1fr;
    row-gap: 30px;
  }
}
.p-inquiry__form-inner button#submit-btn {
  border: none;
  transition: 0.3s;
  cursor: pointer;
  margin-top: 24px;
}
@media screen and (min-width: 769px) {
  .p-inquiry__form-inner button#submit-btn {
    margin-top: 10px;
  }
}
.p-inquiry .error {
  color: #BB0000;
  font-size: 16px;
}

@media screen and (min-width: 769px) {
  .p-inquiry__item {
    display: flex;
    justify-content: space-between;
    flex-direction: row;
  }
}
.p-inquiry__item-left {
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  column-gap: 10px;
  align-items: center;
  padding-bottom: 16px;
}
@media screen and (min-width: 769px) {
  .p-inquiry__item-left {
    padding-bottom: 24px;
    border-bottom: 1px solid #0C5427;
    width: 21%;
  }
}
.p-inquiry__item-left p {
  font-size: 16px;
  line-height: 150%;
  letter-spacing: 0;
  font-weight: bold;
}
.p-inquiry__item-right {
  width: 100%;
}
@media screen and (min-width: 769px) {
  .p-inquiry__item-right {
    width: 77%;
  }
}
@media screen and (min-width: 769px) {
  .p-inquiry__item-right:has(.radio-wrap) {
    border-bottom: 1px solid #7EB841;
  }
}
.p-inquiry__item-right-flex {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.p-inquiry__item-right select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background: none;
  border: none;
  padding: 0;
  font: inherit;
}
.p-inquiry__item-right input:not([type=submit]),
.p-inquiry__item-right textarea,
.p-inquiry__item-right select {
  border-radius: 15px;
  background: #EDF5EB;
  padding: 28px 16px;
  line-height: 1.4;
  width: 100%;
  height: 100%;
  font-size: 16px;
  border: none;
}
.p-inquiry__item-right .radio-wrap {
  padding-top: 0;
}
@media screen and (min-width: 769px) {
  .p-inquiry__item-right .radio-wrap {
    padding-top: 20px;
  }
}
.p-inquiry__item-right label.check-line {
  display: block;
  white-space: nowrap;
}
.p-inquiry__item-right label.radio-line {
  margin-right: 16px;
  white-space: nowrap;
}
.p-inquiry__item-right input[type=checkbox] {
  width: fit-content;
}
.p-inquiry__item-right input[type=checkbox],
.p-inquiry__item-right input[type=radio] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 2px solid #B5CCB7;
  width: 18px;
  height: 18px;
  position: relative;
  cursor: pointer;
  margin-right: 6px;
  padding: 0;
  vertical-align: text-top;
  transition: all 0.2s ease;
  border-radius: 2px;
  background-color: #fff;
}
.p-inquiry__item-right input[type=checkbox]:checked {
  background-color: #0C5427;
  border-color: #0C5427;
}
.p-inquiry__item-right input[type=checkbox]:checked::after {
  position: absolute;
  top: 7%;
  left: 34%;
  transform: rotate(50deg);
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  content: "";
}
.p-inquiry__item-right input[type=radio] {
  border-radius: 50%;
}
.p-inquiry__item-right input[type=radio]:checked::after {
  content: "";
  position: absolute;
  width: 60%;
  height: 60%;
  border-radius: 50%;
  background-color: #0C5427;
  font-size: 14px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-inquiry__item-right .select-wrap {
  position: relative;
  width: 210px;
}
.p-inquiry__item-right .select-wrap-lg {
  width: 100%;
}
.p-inquiry__item-right .select-wrap::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 7px solid #555555;
  border-bottom: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 8px;
}
.p-inquiry__item-right .option-default {
  color: #B5B5B5;
  font-size: 16px;
}
.p-inquiry__item-right .p-region {
  color: #20334c; /* 選択された後の通常の文字色 */
}
.p-inquiry__item-right .p-region.no-value {
  color: #B5B5B5; /* 初期表示時の色（グレーなど） */
}

.p-inquiry-required {
  color: #fff;
  background: #0C5427;
  border-radius: 2px;
  padding: 4px;
  line-height: 1;
  height: fit-content;
  width: fit-content;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
}

/*--------------------------------------------------------------------------
確認画面
---------------------------------------------------------------------------*/
.p-inquiry-confirm .p-inquiry__container {
  background-color: #fff;
  padding: 24px 16px 32px;
}
@media screen and (min-width: 769px) {
  .p-inquiry-confirm .p-inquiry__container {
    padding: min(5.5vw, 80px);
  }
}
.p-inquiry-confirm__lead {
  margin-bottom: 16px;
  line-height: 1.6;
}
.p-inquiry-confirm .p-inquiry__container {
  margin-top: 30px;
}
.p-inquiry-confirm .p-inquiry__item {
  border-bottom: 1px solid yellowgreen;
  padding-bottom: 8px;
}
@media screen and (min-width: 769px) {
  .p-inquiry-confirm .p-inquiry__item {
    border: none;
    padding-bottom: 0;
  }
}
.p-inquiry-confirm .p-inquiry__item-left {
  padding-top: 0;
  padding-bottom: 4px;
}
@media screen and (min-width: 769px) {
  .p-inquiry-confirm .p-inquiry__item-left {
    padding-bottom: 16px;
  }
}
.p-inquiry-confirm form {
  grid-template-columns: 1fr;
  display: grid;
  row-gap: 20px;
}
@media screen and (min-width: 769px) {
  .p-inquiry-confirm form {
    row-gap: 32px;
  }
}
.p-inquiry-confirm .p-inquiry__item-right {
  height: 100%;
}
@media screen and (min-width: 769px) {
  .p-inquiry-confirm .p-inquiry__item-right {
    border-bottom: 1px solid #7EB841;
  }
}
.p-inquiry-confirm .p-inquiry-required {
  font-size: 12px;
}
.p-inquiry-confirm button[type=submit] {
  border: none;
  transition: 0.3s;
  cursor: pointer;
}
.p-inquiry-confirm input[type=submit] {
  background: transparent;
  border: none;
  color: #fff;
  font-size: 1.7rem;
  font-weight: bold;
  text-align: center;
}
.p-inquiry-confirm button.submit-btn.back {
  padding: 10px;
  border-radius: 9px;
  border: 1px solid #888;
  background: #fff;
  transition: 0.3s;
  cursor: pointer;
}
.p-inquiry-confirm button.submit-btn.back:hover {
  opacity: 0.7;
}
.p-inquiry-confirm__btnlist {
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 16px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p-inquiry-confirm__btnlist {
    margin-top: 16px;
  }
}
.p-inquiry-confirm .c-sec__btn__link {
  border: none;
}

/*--------------------------------------------------------------------------
完了画面
---------------------------------------------------------------------------*/
.p-inquiry-finish .c-lead {
  margin-bottom: 24px;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
}

.l-header {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  width: 100%;
  margin: 0 auto;
  z-index: 997;
  padding-inline: min(20px, 5vw);
  background-color: #FEFFF5;
}
@media screen and (min-width: 1200px) {
  .l-header {
    padding-inline: 40px 20px;
  }
}
.l-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 80px;
}
@media screen and (min-width: 769px) {
  .l-header__inner {
    height: 110px;
  }
}
.l-header__inner-l {
  display: flex;
  align-items: center;
  gap: 20px;
}
.l-header__inner-r {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media screen and (min-width: 1200px) {
  .l-header__inner-r {
    width: fit-content;
    gap: 20px;
  }
}
.l-header__logo {
  width: 60px;
}
@media screen and (min-width: 1200px) {
  .l-header__logo {
    width: 80px;
  }
}
.l-header__logo a {
  display: flex;
}
.l-header__intro {
  color: #0C5427;
  font-size: 14px;
  font-weight: 700;
  line-height: 150%;
}
.l-header .l-header-contact {
  display: flex;
  align-items: center;
  column-gap: min(20px, 1vw);
}
.l-header .l-header-btn {
  border-radius: 10px;
  color: #FFF;
  font-size: 15px;
  font-weight: 700;
  line-height: 120%;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 48px;
  padding-inline: 16px;
  gap: 8px;
}
@media screen and (min-width: 1200px) {
  .l-header .l-header-btn {
    width: 230px;
    font-size: 18px;
    height: 60px;
    gap: 10px;
    border-radius: 15px;
  }
}
.l-header .l-header-btn-tel {
  background: #EDF5EB;
}
.l-header .l-header-btn-tel__txt {
  color: #0C5427;
  font-weight: 700;
  line-height: 100%;
  font-family: "Poppins", sans-serif;
  line-height: 0.8;
}
@media screen and (min-width: 1200px) {
  .l-header .l-header-btn-tel__txt {
    font-size: 20px;
  }
}
.l-header .l-header-btn-tel__txt-sm {
  font-size: 11px;
  font-weight: 500;
  color: #3C3C3C;
  font-family: "Zen Kaku Gothic New", sans-serif;
  line-height: 100%;
}
.l-header .l-header-btn-tel .l-header-btn__icon {
  width: 18px;
}
.l-header .l-header-btn-contact {
  background: #7EB841;
}
.l-header .l-header-btn-contact .l-header-btn__icon {
  width: 20px;
}
.l-header .l-header-btn-est {
  background: #0C5427;
}
.l-header .l-header-btn-est .l-header-btn__icon {
  width: 18px;
}
.l-header .ham-btn {
  width: 48px;
  aspect-ratio: 1/1;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 5px;
  position: relative;
  z-index: 999;
  border-radius: 10px;
  border: 1px solid #0C5427;
  transition: 0.3s;
  background-color: #FEFFF5;
}
@media screen and (min-width: 1200px) {
  .l-header .ham-btn {
    width: 60px;
    border-radius: 15px;
  }
}
.l-header .ham-btn:hover {
  opacity: 0.7;
}
.l-header .ham-btn span {
  display: block;
  height: 2px;
  width: 14px;
  background: #0C5427;
  border-radius: 2px;
}
.l-header .ham-btn span:nth-child(1), .l-header .ham-btn span:nth-child(3) {
  transition: all 0.3s;
}
.l-header .ham-btn.navOpen {
  row-gap: 0px !important;
}
.l-header .ham-btn.navOpen span:nth-child(1) {
  margin-bottom: -4px;
  transform: rotate(45deg) scale(-1, 1);
}
.l-header .ham-btn.navOpen span:nth-child(2) {
  opacity: 0;
}
.l-header .ham-btn.navOpen span:nth-child(3) {
  transform: rotate(-45deg) scale(-1, 1);
}

.l-sp-nav {
  width: 100vw;
  min-height: 100vh;
  transition: all 0.2s;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  background-color: #fff;
}
.l-sp-nav.navOpen {
  pointer-events: initial;
  z-index: 998;
  height: 100%;
  overflow-x: clip;
  overflow-y: auto;
  opacity: 1;
}
.l-sp-nav__inner {
  background-color: #fff;
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__inner {
    display: flex;
  }
}
.l-sp-nav__info {
  padding-block: 72px 32px;
  padding-inline: min(10svw, 40px);
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__info {
    width: 40%;
    padding-block: 100px;
    padding-inline: min(10svw, 40px);
    min-height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.l-sp-nav__info-inner {
  width: 100%;
}
.l-sp-nav__logo {
  width: 100px;
  margin-inline: auto;
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__logo {
    width: 150px;
  }
}
.l-sp-nav__contact {
  display: grid;
  grid-auto-flow: row;
  row-gap: 10px;
  margin-top: 16px;
  max-width: 400px;
  margin-inline: auto;
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__contact {
    row-gap: 12px;
    margin-top: 24px;
  }
}
.l-sp-nav .l-header-btn {
  width: 100%;
}
.l-sp-nav .l-header-btn-tel__txt {
  font-size: 17px;
}
.l-sp-nav__menu {
  background-color: #fff;
  padding-block: 0 160px;
  padding-inline: min(10svw, 40px);
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__menu {
    padding-block: 100px;
    padding-inline: min(10svw, 40px);
    width: 60%;
    background-color: #FEFFF5;
    min-height: 100svh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.l-sp-nav__list {
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 20px;
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__item {
    width: 48%;
  }
}
.l-sp-nav__item a {
  border-bottom: 1px solid #B5CCB7;
  position: relative;
  display: block;
  padding-bottom: 6px;
  max-width: 600px;
  margin-inline: auto;
  font-weight: 500;
  font-size: 16px;
}
@media screen and (min-width: 1200px) {
  .l-sp-nav__item a {
    font-size: 18px;
  }
}
.l-sp-nav__item a::after {
  content: "";
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background-color: #3F8158;
  display: block;
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background-image: url(/assets/img/common/arw-white.svg);
  background-position: center;
}

/*--------------------------------------------------------------------------
footer
---------------------------------------------------------------------------*/
.l-footer {
  margin-top: 80px;
  background-color: #252525;
}
@media screen and (min-width: 769px) {
  .l-footer {
    margin-top: 160px;
  }
}
.l-footer__upper {
  background-image: url(/assets/img/common/contact-bg.jpg);
  background-position: center;
  padding-block: 40px;
}
@media screen and (min-width: 769px) {
  .l-footer__upper {
    padding-block: 120px;
  }
}
.l-footer .l-footer-contact {
  display: grid;
  grid-auto-flow: row;
  row-gap: 16px;
  width: min(90%, 1200px);
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-contact {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: min(3vw, 40px);
  }
}
.l-footer .l-footer-btn {
  width: 100%;
  padding-left: 12px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-btn {
    padding-block: 17px;
    padding-left: 32px;
  }
}
.l-footer .l-footer-btn::after {
  width: 24px;
  height: 24px;
}
.l-footer .l-footer-btn__icon {
  width: 24px;
  display: inline-block;
  vertical-align: sub;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-btn__icon {
    width: 32px;
  }
}
.l-footer .l-footer-btn__txt {
  display: inline-block;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #0C5427;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-btn__txt {
    font-size: 24px;
  }
}
.l-footer .l-footer-btn__note {
  line-height: 1.2;
  font-size: 16px;
  display: block;
  font-weight: 400;
  color: #0C5427;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-btn__note {
    font-size: 20px;
    margin-top: 4px;
  }
}
.l-footer .l-footer-btn__note-sm {
  font-size: 13px;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-btn__note-sm {
    font-size: 14px;
  }
}
.l-footer .l-footer-imgbtn {
  border-radius: 10px;
  overflow: hidden;
  overflow: hidden;
  grid-row: span 2/span 2;
}
.l-footer .l-footer-imgbtn:hover {
  opacity: 1;
  transform: translateY(-3px);
}
.l-footer .l-footer-imgbtn .c-btn {
  border-radius: 0;
}
.l-footer .l-footer-imgbtn .c-btn:hover {
  transform: none;
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-imgbtn .c-btn {
    height: 42%;
    padding-block: 12px;
  }
}
@media screen and (min-width: 769px) {
  .l-footer .l-footer-imgbtn__img {
    height: 58%;
  }
}
.l-footer .l-footer-imgbtn__img img {
  object-fit: cover;
  height: 100%;
}
.l-footer__lower {
  padding-block: 32px;
  width: min(90%, 1200px);
  margin-inline: auto;
}
@media screen and (min-width: 769px) {
  .l-footer__lower {
    padding-top: 48px;
    display: flex;
    gap: min(3vw, 40px);
    padding-block: 100px 60px;
  }
}
.l-footer__logo {
  width: min(30svw, 150px);
  margin-bottom: 24px;
}
@media screen and (min-width: 769px) {
  .l-footer__logo {
    margin-bottom: 32px;
  }
}
.l-footer-info p,
.l-footer-info span {
  color: #fff;
}
.l-footer-info__tel {
  font-size: 30px;
  font-weight: 600;
  line-height: 100%;
  font-family: "Poppins", sans-serif;
}
.l-footer-info__tel-sm {
  font-size: 20px;
}
.l-footer-info__hour, .l-footer-info__address {
  font-size: 16px;
  font-weight: 500;
  line-height: 110%;
}
.l-footer-info__hour {
  margin-block: 8px 12px;
}
.l-footer__address-name {
  font-size: 14px;
}
.l-footer__address-details {
  font-size: 12px;
  line-height: 1.6;
}
.l-footer__tel {
  font-family: "Poppins", sans-serif;
  font-size: 24px;
  line-height: 1.4;
}
.l-footer__tel span {
  font-size: 16px;
}

/*--------------------------------------------------------------------------
.l-footer-nav 
---------------------------------------------------------------------------*/
.l-footer-nav {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
  column-gap: 16px;
  row-gap: 24px;
  margin-top: 32px;
}
@media screen and (min-width: 769px) {
  .l-footer-nav {
    display: flex;
    flex-wrap: wrap;
    column-gap: 80px;
    margin-top: 0;
    margin-left: 60px;
  }
}
.l-footer-nav__item a {
  font-size: 16px;
  line-height: 1.3;
  display: inline-block;
  padding-block: 4px;
  color: #fff;
  font-weight: 700;
}
@media screen and (min-width: 769px) {
  .l-footer-nav__item a {
    padding-block: 8px;
  }
}
.l-footer-nav__item a.green {
  color: #7EB841;
}

.l-footer-copyright {
  padding-block: 27px;
  padding-inline: 8px;
  text-align: center;
  background-color: #000;
}
.l-footer-copyright small {
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  font-family: "Poppins", sans-serif;
}/*# sourceMappingURL=style.css.map */