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

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

body {
  padding: 0;
  font-size: 16px;
  font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
  color: #333333;
  position: relative;
  overflow-x: hidden;
}

.sp {
  display: none;
}

.pc {
  display: block;
}

@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}
h2 {
  font-size: 40px;
  color: #333333;
  margin-bottom: 40px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
h2 span {
  color: #269943;
  font-weight: 700;
}
h2 p {
  position: relative;
  display: inline-block;
  text-align: center;
  color: #fff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  padding: 12px 60px;
  background-color: #269943;
  border-radius: 60px;
  margin-bottom: 20px;
}
h2 p::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 10px 0 10px;
  border-color: #269943 transparent transparent transparent;
  bottom: -16px;
  left: calc(50% - 10px);
}
@media screen and (max-width: 768px) {
  h2 {
    font-size: 28px;
    margin-bottom: 30px;
  }
  h2 p {
    font-size: 18px;
    padding: 8px 36px;
    margin-bottom: 16px;
  }
  h2 p::after {
    border-width: 12px 8px 0 8px;
    bottom: -12px;
    left: calc(50% - 8px);
  }
}

p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: justify;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  transition: 0.3s;
}

@media screen and (max-width: 768px) {
  img {
    max-width: 100%;
  }
}

.num {
  font-family: "Roboto", sans-serif;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1;
}

.header {
  position: fixed;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  z-index: 50;
  transition: 0.6s;
}
.header.js-scroll {
  background-color: #fff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}
.header .in {
  max-width: unset;
  width: 100%;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.header .in .logo {
  width: 100px;
}
.header .in .nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
}
.header .in .nav .nav-list {
  display: flex;
  gap: 30px;
}
.header .in .nav .nav-list li.nav-link a {
  color: #333333;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
}
.header .in .nav .nav-list li.nav-link a:hover {
  color: #269943;
}
.header .in .nav .btn-list {
  display: flex;
  gap: 20px;
}
.header .in .nav .btn-list .download,
.header .in .nav .btn-list .contact {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 200px;
  height: 60px;
  border-radius: 30px;
  border: 3px solid #ff7a00;
}
.header .in .nav .btn-list .download:hover,
.header .in .nav .btn-list .contact:hover {
  opacity: 0.8;
}
.header .in .nav .btn-list .download {
  background-color: #fff;
  color: #ff7a00;
}
.header .in .nav .btn-list .contact {
  background-color: #ff7a00;
  color: #fff;
}
@media screen and (max-width: 1199px) {
  .header {
    height: 90px;
  }
  .header .menu-btn {
    display: block;
    width: 50px;
    height: 50px;
    position: absolute;
    right: 20px;
    top: 20px;
    background-color: #269943;
    border-radius: 50%;
    z-index: 9999999;
  }
  .header .menu-btn:before, .header .menu-btn:after,
  .header .menu-btn span {
    display: block;
    width: 40%;
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    transition: 0.35s ease-in-out;
  }
  .header .menu-btn span {
    height: 2px;
    background-color: #fff;
    top: calc(50% - 1px);
  }
  .header .menu-btn:before {
    content: "";
    top: calc(35% - 1px);
    border-top: 2px solid #fff;
  }
  .header .menu-btn:after {
    content: "";
    bottom: calc(35% - 1px);
    border-bottom: 2px solid #fff;
  }
  .header .menu-btn.active span {
    display: none;
  }
  .header .menu-btn.active:before {
    top: calc(50% - 0.5px);
    transform: rotate(315deg);
  }
  .header .menu-btn.active:after {
    bottom: calc(50% - 0.5px);
    transform: rotate(-315deg);
  }
  .header .in .logo {
    width: auto;
    height: 50px;
  }
  .header .in .nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #fff;
    transition: opacity 0.3s ease;
    opacity: 0;
    visibility: hidden;
    padding-top: 100px;
  }
  .header .in .nav.active {
    opacity: 1;
    visibility: visible;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }
  .header .in .nav.active .nav-list {
    flex-direction: column;
    align-items: center;
  }
  .header .in .nav.active .btn-list {
    flex-direction: column;
    align-items: center;
  }
}

.kv {
  position: relative;
  background-image: url(../images/kv-bg-pc.jpg);
  background-image: image-set(url(../images/kv-bg-pc.jpg) 1x, url(../images/kv-bg-pc@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../images/kv-bg-pc.jpg) 1x, url(../images/kv-bg-pc@2x.jpg) 2x);
  background-size: 100% 100%;
  height: 75vw;
}
.kv::before, .kv::after {
  position: absolute;
  content: "";
}
.kv::before {
  background: url(../images/circle01.svg) no-repeat center/cover;
  width: 18.125vw;
  height: 48.54vw;
  top: 40vw;
  right: 0;
}
.kv::after {
  background: url(../images/circle02.svg) no-repeat center/cover;
  width: 34.86vw;
  height: 67.5vw;
  top: 61vw;
  left: 0;
}
.kv .kv_copy {
  position: absolute;
  width: 100%;
  top: 11.8vw;
  left: 0;
  text-align: center;
  z-index: 1;
}
.kv .kv_copy h1 {
  font-size: 5.42vw;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 1.8vw;
}
.kv .kv_copy h1 .sub1 {
  font-weight: 900;
  text-align: center;
  font-size: 3.47vw;
}
.kv .kv_copy h1 strong {
  font-weight: 900;
  color: #269943;
  font-size: 6.4vw;
}
.kv .kv_copy h1 span {
  font-weight: 900;
  font-size: 4.03vw;
}
.kv .kv_copy .sub2 {
  text-align: center;
  font-size: 1.94vw;
  line-height: 1.5;
  font-weight: 700;
}
.kv .kv_img01,
.kv .kv_img02 {
  position: absolute;
  z-index: 1;
}
.kv .kv_img01 img,
.kv .kv_img02 img {
  width: 100%;
}
.kv .kv_img01 {
  width: 28.4vw;
  top: 1.875vw;
  left: 0;
}
.kv .kv_img01::before {
  position: absolute;
  content: "";
  background: url(../images/kv-bg01.png) no-repeat center;
  background-size: cover;
  width: 6.25vw;
  height: 6.04vw;
  top: 2.7vw;
  left: 23.3vw;
}
.kv .kv_img02 {
  width: 28.7vw;
  top: 0;
  right: 0;
}
.kv .kv_img02::before {
  position: absolute;
  content: "";
  background: url(../images/kv-bg02.png) no-repeat center;
  background-size: cover;
  width: 4.51vw;
  height: 4.44vw;
  bottom: 10.7vw;
  right: 21.3vw;
}
.kv .kv_cta {
  position: absolute;
  width: 100%;
  top: 39.6vw;
  display: flex;
  justify-content: center;
  gap: 30px;
  z-index: 2;
}
.kv .kv_cta .cta-btn .sub {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: min(1.25vw, 18px);
  font-weight: 700;
  line-height: 1;
  margin-bottom: 14px;
}
.kv .kv_cta .cta-btn .sub::before, .kv .kv_cta .cta-btn .sub::after {
  content: "";
  max-width: 22px;
  width: 1.5vw;
  max-height: 2px;
  height: 0.14vw;
  background-color: #333333;
  margin: 0px 4px -4px;
}
.kv .kv_cta .cta-btn .sub::before {
  transform: rotate(60deg);
}
.kv .kv_cta .cta-btn .sub::after {
  transform: rotate(-60deg);
}
.kv .kv_cta .cta-btn a {
  font-size: min(1.94vw, 28px);
  max-width: 340px;
  width: 23.6vw;
  max-height: 80px;
  height: 5.55vw;
}
.kv .kv_cta .cta-btn.download a img {
  max-width: 32px;
  width: 2.22vw;
  max-height: 32px;
  height: 2.22vw;
}
.kv .kv_topclass {
  position: absolute;
  width: 100%;
  top: 55vw;
  z-index: 3;
}
.kv .kv_topclass .ttl {
  position: relative;
  background-color: #269943;
  color: #FFF;
  line-height: 60px;
  text-align: center;
  font-size: min(2vw, 28px);
  font-weight: 700;
  width: 280px;
  margin: 0 auto 30px;
}
.kv .kv_topclass .ttl::before, .kv .kv_topclass .ttl::after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  border-top: 30px solid #269943;
  border-bottom: 30px solid #269943;
  border-right: 20px solid transparent;
  border-left: 20px solid transparent;
}
.kv .kv_topclass .ttl::before {
  right: -20px;
}
.kv .kv_topclass .ttl::after {
  left: -20px;
}
.kv .kv_topclass ul.list {
  display: flex;
  justify-content: center;
  gap: 30px;
}
.kv .kv_topclass ul.list li {
  position: relative;
  width: 200px;
  max-height: 150px;
  height: 13vw;
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  padding: 24px 20px 20px;
}
.kv .kv_topclass ul.list li::before {
  position: absolute;
  content: "";
  background: url(../images/icon01.svg) no-repeat center;
  background-size: cover;
  width: 40px;
  height: 40px;
  top: -20px;
  left: calc(50% - 20px);
}
.kv .kv_topclass ul.list li h3 {
  font-size: min(1.4vw, 20px);
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 12px;
  border-bottom: 1px dashed #868686;
  margin-bottom: 16px;
}
.kv .kv_topclass ul.list li p {
  text-align: center;
  font-size: min(1.66vw, 24px);
  font-weight: 700;
  line-height: 1;
  color: #269943;
}
.kv .kv_topclass ul.list li p .num {
  font-size: min(3.33vw, 48px);
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .kv {
    height: 85vw;
  }
}
@media screen and (max-width: 768px) {
  .kv {
    background-image: url(../images/kv-bg-sp.jpg);
    background-image: image-set(url(../images/kv-bg-sp.jpg) 1x, url(../images/kv-bg-sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/kv-bg-sp.jpg) 1x, url(../images/kv-bg-sp@2x.jpg) 2x);
    background-size: 100% 100%;
    height: 302vw;
  }
  .kv::before {
    background: url(../images/circle09.svg) no-repeat center/cover;
    width: 22.8vw;
    height: 82.3vw;
    top: 142vw;
  }
  .kv::after {
    background: url(../images/circle10.svg) no-repeat center/cover;
    width: 27.18vw;
    height: 87.4vw;
    top: 160vw;
  }
  .kv .kv_copy {
    top: 25.64vw;
  }
  .kv .kv_copy::before {
    width: 43vw;
    height: 39vw;
    top: -4vw;
    left: calc(50% - 21.5vw);
  }
  .kv .kv_copy h1 {
    font-size: 11vw;
    margin-bottom: 4.6vw;
  }
  .kv .kv_copy h1 .sub1 {
    font-size: 6.15vw;
  }
  .kv .kv_copy h1 strong {
    font-size: 12.8vw;
  }
  .kv .kv_copy h1 span {
    font-size: 10.25vw;
  }
  .kv .kv_copy .sub2 {
    font-size: 4.1vw;
  }
  .kv .kv_img01 {
    width: 50vw;
    top: 96.15vw;
  }
  .kv .kv_img01::before {
    width: 9.23vw;
    height: 8.97vw;
    top: -34.36vw;
    left: 6.92vw;
  }
  .kv .kv_img02 {
    width: 42.43vw;
    top: 117.5vw;
  }
  .kv .kv_img02::before {
    width: 10vw;
    height: 9.74vw;
    bottom: unset;
    top: -39.74vw;
    right: 5.38vw;
  }
  .kv .kv_cta {
    top: 82vw;
    flex-direction: column;
    align-items: center;
    gap: 6.15vw;
  }
  .kv .kv_cta .cta-btn .sub {
    font-size: 3.59vw;
    margin-bottom: 3vw;
  }
  .kv .kv_cta .cta-btn .sub::before, .kv .kv_cta .cta-btn .sub::after {
    max-width: unset;
    width: 4.6vw;
    max-height: unset;
    height: 0.5vw;
  }
  .kv .kv_cta .cta-btn a {
    font-size: 4.1vw;
    max-width: unset;
    width: 61.5vw;
    max-height: unset;
    height: 13.33vw;
    margin: 0 auto;
  }
  .kv .kv_cta .cta-btn.download a img {
    max-width: unset;
    width: 5.1vw;
    max-height: unset;
    height: 5.1vw;
  }
  .kv .kv_topclass {
    top: 203vw;
  }
  .kv .kv_topclass .ttl {
    line-height: 11vw;
    font-size: 5.12vw;
    width: 56.4vw;
    margin: 0 auto 10.25vw;
  }
  .kv .kv_topclass .ttl::before, .kv .kv_topclass .ttl::after {
    border-top: 5.5vw solid #269943;
    border-bottom: 5.5vw solid #269943;
    border-right: 3.5vw solid transparent;
    border-left: 3.5vw solid transparent;
  }
  .kv .kv_topclass .ttl::before {
    right: -3.5vw;
  }
  .kv .kv_topclass .ttl::after {
    left: -3.5vw;
  }
  .kv .kv_topclass ul.list {
    flex-wrap: wrap;
    gap: 30px 20px;
  }
  .kv .kv_topclass ul.list li {
    width: 38.46vw;
    max-height: unset;
    height: 29.74vw;
    padding: 4.1vw 3.84vw 3.84vw;
  }
  .kv .kv_topclass ul.list li:first-child {
    margin: 0 30vw;
  }
  .kv .kv_topclass ul.list li::before {
    width: 7.7vw;
    height: 7.7vw;
    top: -3.85vw;
    left: calc(50% - 3.85vw);
  }
  .kv .kv_topclass ul.list li h3 {
    font-size: 4.6vw;
    padding-bottom: 2vw;
    margin-bottom: 2.82vw;
  }
  .kv .kv_topclass ul.list li p {
    font-size: 5vw;
  }
  .kv .kv_topclass ul.list li p .num {
    font-size: 10vw;
  }
}

article {
  padding: 60px 0 0;
}
@media screen and (max-width: 768px) {
  article {
    padding: 36px 0 0;
  }
}

.in {
  max-width: 1200px;
  width: 90%;
  padding: 80px 0 100px;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .in {
    padding: 40px 0 50px;
  }
}

.cta-btn a {
  font-weight: 700;
  line-height: 1.5;
  border-radius: 100px;
  border: 2px solid #ff7a00;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.cta-btn a:hover {
  opacity: 0.8;
}
.cta-btn.download a {
  color: #ff7a00;
  background-color: #fff;
}
.cta-btn.contact a {
  color: #fff;
  background-color: #ff7a00;
}

.cta {
  background-image: url(../images/cta-bg-pc.jpg);
  background-image: image-set(url(../images/cta-bg-pc.jpg) 1x, url(../images/cta-bg-pc@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../images/cta-bg-pc.jpg) 1x, url(../images/cta-bg-pc@2x.jpg) 2x);
  background-size: cover;
  background-position: center;
}
.cta .in {
  padding: 40px 0 60px;
}
.cta h2 {
  color: #fff;
  text-align: center;
  text-shadow: 0px 0px 4px #1F6730;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.45;
  margin-bottom: 22px;
}
.cta h2 span {
  color: #fff;
  font-size: 24px;
  font-weight: 900;
}
.cta h2 span.txt01 {
  font-size: 36px;
}
.cta .box {
  max-width: 960px;
  width: 90%;
  background-color: #fff;
  border-radius: 20px;
  padding: 3.65%;
  margin: 0 auto;
  display: flex;
  align-items: center;
  text-align: center;
}
.cta .box .cta-btn a {
  font-size: 20px;
  padding: 14px;
}
.cta .box .cta-btn.download {
  width: 52%;
}
.cta .box .cta-btn.download h3 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 16px;
}
.cta .box .cta-btn.download .img {
  margin-bottom: 20px;
}
.cta .box .cta-btn.download a {
  width: 70%;
  margin: 0 auto;
}
.cta .box .cta-btn.contact {
  width: 48%;
  border-radius: 20px;
  background: #F3F3EF;
  padding: 4.8% 5.7%;
}
.cta .box .cta-btn.contact h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 16px;
}
.cta .box .cta-btn.contact a {
  width: 100%;
  margin-bottom: 30px;
}
.cta .box .cta-btn.contact .tel h3 {
  font-size: 16px;
  margin-bottom: 0;
}
.cta .box .cta-btn.contact .tel a {
  pointer-events: none;
  border: none;
  background: none;
  color: #333333;
  font-size: 32px;
  line-height: 1.5;
  padding: 0;
  margin-bottom: 0;
}
.cta .box .cta-btn.contact .tel a .fa-phone {
  color: #ff7a00;
}
.cta .box .cta-btn.contact .tel .small {
  font-size: 12px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .cta {
    background-image: url(../images/cta-bg-sp.jpg);
    background-image: image-set(url(../images/cta-bg-sp.jpg) 1x, url(../images/cta-bg-sp@2x.jpg) 2x);
    background-image: -webkit-image-set(url(../images/cta-bg-sp.jpg) 1x, url(../images/cta-bg-sp@2x.jpg) 2x);
    background-size: cover;
  }
  .cta .in {
    padding: 40px 0 50px;
  }
  .cta h2 {
    font-size: 32px;
    line-height: 1.36;
    margin-bottom: 30px;
  }
  .cta h2 span {
    font-size: 18px;
    line-height: 1.45;
  }
  .cta h2 span.txt01 {
    font-size: 24px;
  }
  .cta .box {
    max-width: 500px;
    width: 100%;
    padding: 30px 0 0;
    flex-direction: column;
    gap: 40px;
  }
  .cta .box .cta-btn a {
    font-size: 20px;
    padding: 14px;
  }
  .cta .box .cta-btn.download {
    width: 100%;
  }
  .cta .box .cta-btn.download h3 {
    font-size: 20px;
    margin-bottom: 12px;
  }
  .cta .box .cta-btn.download a {
    max-width: 300px;
    width: 77%;
  }
  .cta .box .cta-btn.contact {
    width: 100%;
    border-radius: 0px 0px 20px 20px;
    padding: 30px 0 40px;
  }
  .cta .box .cta-btn.contact a {
    max-width: 300px;
    width: 77%;
    margin: 0 auto 30px;
  }
  .cta .box .cta-btn.contact .tel a {
    pointer-events: all;
  }
}

.btn {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  color: #FFF;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  width: 320px;
  height: 60px;
  border-radius: 30px;
  border: 2px solid #269943;
  background-color: #269943;
  margin: 0 auto;
}
.btn i {
  padding-top: 0.125em;
}
.btn:hover {
  color: #269943;
  background-color: #fff;
}

.logo-slider {
  padding: 30px 0;
  background-color: #fff;
}
.logo-slider .slick-slide {
  height: 36px;
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .logo-slider {
    padding: 20px 0;
  }
  .logo-slider .slick-slide {
    height: 24px;
    margin-right: 20px;
  }
}

.service {
  position: relative;
}
.service::before, .service::after {
  position: absolute;
  content: "";
  z-index: -1;
}
.service::before {
  background: url(../images/circle03.svg) no-repeat center/cover;
  width: 22.5vw;
  height: 58.47vw;
  top: 42vw;
  right: 0;
}
.service::after {
  background: url(../images/circle04.svg) no-repeat center/cover;
  width: 25.34vw;
  height: 21.18vw;
  bottom: 0;
  left: 0;
}
.service .in {
  padding: 0 0 100px;
}
.service .problem {
  position: relative;
  padding: 80px 0 40px;
  background-color: #e9f5ec;
  border-radius: 20px;
  margin-bottom: 180px;
}
.service .problem::after {
  position: absolute;
  content: "";
  width: calc(100% - 40px);
  height: 100px;
  -webkit-clip-path: polygon(0 0, 100% 0, 50% 100%);
          clip-path: polygon(0 0, 100% 0, 50% 100%);
  background-color: #e9f5ec;
  bottom: -100px;
  left: 20px;
}
.service .problem .box {
  display: flex;
  gap: 40px;
  justify-content: center;
}
.service .problem .box .txt {
  max-width: 480px;
  width: 50%;
}
.service .problem .box .txt ul li {
  display: flex;
  align-items: center;
  background-color: #fff;
  height: 60px;
  border-radius: 10px;
  margin-bottom: 20px;
}
.service .problem .box .txt ul li:last-child {
  margin-bottom: 0;
}
.service .problem .box .txt ul li .icon {
  background-color: #868686;
  width: 60px;
  height: 60px;
  border-radius: 10px 0px 0px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.service .problem .box .txt ul li .tx {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  padding-left: 24px;
}
.service .problem .box .txt ul li .tx b {
  font-size: 20px;
  font-weight: 700;
  color: #269943;
}
.service .answer .box {
  display: flex;
  justify-content: center;
}
.service .answer .box .img {
  position: sticky;
  top: 10vw;
  max-width: 704px;
  height: -moz-fit-content;
  height: fit-content;
}
.service .answer .box .img img {
  width: 100%;
}
.service .answer .box .txt {
  background-color: rgba(255, 255, 255, 0.8);
  padding: 150px 0 0 60px;
  max-width: 496px;
  width: 60%;
}
.service .answer .box .txt .support-list .support {
  margin-bottom: 120px;
}
.service .answer .box .txt .support-list .support img {
  border-radius: 20px;
  margin-bottom: 20px;
  box-shadow: 12px 12px 0px 0px rgb(233, 245, 236);
}
.service .answer .box .txt .support-list .support h3 {
  font-size: 24px;
  color: #269943;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 6px;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .service .problem .box {
    flex-direction: column;
    align-items: center;
  }
  .service .problem .box .txt {
    max-width: unset;
    width: 70%;
  }
  .service .answer .box .img {
    max-width: 600px;
    top: 15vw;
  }
  .service .answer .box .txt {
    max-width: 496px;
    width: 60%;
  }
  .service .answer .box .txt .support-list .support img {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .service::before {
    content: none;
  }
  .service::after {
    background: url(../images/circle11.svg) no-repeat center/cover;
    width: 20vw;
    height: 24.35vw;
    bottom: 0;
    left: unset;
    right: 0;
  }
  .service .in {
    padding: 0 0 50px;
    width: 100%;
  }
  .service .problem {
    padding: 40px 0 30px;
    border-radius: 10px;
    margin-bottom: 90px;
  }
  .service .problem::after {
    width: calc(100% - 20px);
    height: 50px;
    bottom: -50px;
    left: 10px;
  }
  .service .problem .box {
    flex-direction: column;
    gap: 30px;
    align-items: center;
  }
  .service .problem .box .img {
    width: 80%;
    text-align: center;
  }
  .service .problem .box .txt {
    max-width: 500px;
    width: 90%;
  }
  .service .problem .box .txt ul li {
    height: unset;
    margin-bottom: 12px;
    align-items: stretch;
  }
  .service .problem .box .txt ul li .icon {
    width: 52px;
    height: unset;
  }
  .service .problem .box .txt ul li .tx {
    font-size: 18px;
    padding: 15px 0 15px 20px;
  }
  .service .problem .box .txt ul li .tx b {
    font-size: 20px;
  }
  .service .answer .box {
    display: block;
    text-align: center;
  }
  .service .answer .box .img {
    position: relative;
    top: unset;
  }
  .service .answer .box .img img {
    max-width: 500px;
    width: 90%;
  }
  .service .answer .box .txt {
    padding: 40px 0 0;
    width: 100%;
    margin: 0 auto;
  }
  .service .answer .box .txt .support-list {
    width: 90%;
    margin: 0 auto;
  }
  .service .answer .box .txt .support-list .support {
    margin-bottom: 0;
  }
  .service .answer .box .txt .support-list .support img {
    width: calc(100% - 10px);
    border-radius: 10px;
    margin-bottom: 20px;
    box-shadow: 10px 10px 0px 0px rgb(233, 245, 236);
  }
  .service .answer .box .txt .support-list .support h3 {
    font-size: 20px;
    text-align: left;
  }
}

.about {
  background-image: url(../images/about-bg.jpg);
  background-image: image-set(url(../images/about-bg.jpg) 1x, url(../images/about-bg@2x.jpg) 2x);
  background-image: -webkit-image-set(url(../images/about-bg.jpg) 1x, url(../images/about-bg@2x.jpg) 2x);
  background-size: cover;
  background-position: center;
}
.about .in {
  padding: 100px 0;
}
.about .box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 50px;
}
.about .box .txt .txt01 {
  margin-bottom: 20px;
}
.about .box .txt ul {
  padding-left: 1.5em;
}
.about .box .txt ul li {
  list-style: disc;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #269943;
  margin-bottom: 16px;
}
.about .box .txt ul li:last-child {
  margin-bottom: 0;
}
.about .box .txt ul li p {
  font-size: 16px;
  font-weight: 400;
  color: #333333;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .about {
    background-size: 100%;
    background-position: top center;
    background-repeat: no-repeat;
  }
  .about .box {
    flex-wrap: wrap;
    justify-content: center;
    gap: 0;
  }
}
@media screen and (max-width: 768px) {
  .about {
    background-size: 120%;
    background-position: top center;
    background-repeat: no-repeat;
  }
  .about .in {
    padding: 50px 0;
  }
  .about .box {
    flex-direction: column;
    gap: 0;
  }
  .about .box .txt ul {
    padding-left: 1.5em;
  }
  .about .box .txt ul li {
    margin-bottom: 12px;
  }
}

.merit {
  background-color: #e9f5ec;
  border-radius: 60px 60px 0px 0px;
}
.merit .in {
  padding: 80px 0 160px;
}
.merit .box ul {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: center;
}
.merit .box ul li {
  width: 270px;
}
.merit .box ul li .img {
  margin-bottom: 20px;
}
.merit .box ul li h3 {
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #269943;
  margin-bottom: 8px;
}
@media screen and (max-width: 768px) {
  .merit {
    border-radius: 40px 40px 0px 0px;
  }
  .merit .in {
    padding: 40px 0 90px;
  }
  .merit .box ul {
    gap: 30px;
  }
  .merit .box ul li {
    max-width: 330px;
    width: 100%;
  }
  .merit .box ul li .img {
    text-align: center;
  }
}

.kind {
  margin-top: -60px;
  background-color: #fff;
  border-radius: 60px 60px 0px 0px;
  overflow-x: hidden;
}
.kind .box {
  position: relative;
  z-index: 1;
}
.kind .box::before, .kind .box::after {
  position: absolute;
  content: "";
  background-image: url(../images/kind-bg.png);
  background-image: image-set(url(../images/kind-bg.png) 1x, url(../images/kind-bg@2x.png) 2x);
  background-image: -webkit-image-set(url(../images/kind-bg.png) 1x, url(../images/kind-bg@2x.png) 2x);
  background-size: cover;
  width: 252px;
  height: 194px;
  z-index: -1;
}
.kind .box::before {
  top: -60px;
  right: -90px;
}
.kind .box::after {
  transform: scale(-1, -1);
  bottom: -60px;
  left: -90px;
}
.kind .box ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.kind .box ul li {
  width: 48%;
  border-radius: 20px;
  border: 2px solid #269943;
  background-color: #fff;
  padding: 3%;
  display: flex;
  gap: 32px;
}
.kind .box ul li .img {
  width: 150px;
}
.kind .box ul li .txt h3 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  color: #269943;
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
.kind .box ul li .txt h3 .num {
  font-size: 56px;
  padding-right: 18px;
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .kind .box ul li {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .kind {
    margin-top: -40px;
    border-radius: 40px 40px 0px 0px;
  }
  .kind .box::before, .kind .box::after {
    width: 150px;
    height: 116px;
  }
  .kind .box::before {
    top: -40px;
    right: -60px;
  }
  .kind .box::after {
    bottom: -40px;
    left: -60px;
  }
  .kind .box ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 20px;
  }
  .kind .box ul li {
    max-width: 330px;
    width: 100%;
    padding: 20px;
    gap: 12px;
  }
  .kind .box ul li .img {
    width: 28%;
  }
  .kind .box ul li .txt {
    width: calc(72% - 12px);
  }
  .kind .box ul li .txt h3 {
    font-size: 18px;
    margin-bottom: 6px;
  }
  .kind .box ul li .txt h3 .num {
    font-size: 28px;
    padding-right: 6px;
  }
}

.flow {
  background-color: #e9f5ec;
  border-radius: 60px 60px 0px 0px;
}
.flow .box {
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}
.flow .box ul li {
  position: relative;
  margin-bottom: 64px;
}
.flow .box ul li::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 30px 0 30px;
  border-color: #269943 transparent transparent transparent;
  bottom: -44px;
  left: calc(50% - 30px);
}
.flow .box ul li:last-child {
  margin-bottom: 0;
}
.flow .box ul li:last-child::after {
  content: none;
}
.flow .box ul li .step {
  position: absolute;
  top: calc(50% - 50px);
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #269943;
  width: 100px;
  height: 100px;
  border-radius: 50%;
}
.flow .box ul li .step .num {
  font-size: 18px;
  text-align: center;
  color: #fff;
}
.flow .box ul li .step .num span {
  font-size: 42px;
  font-weight: 700;
  line-height: 1;
}
.flow .box ul li .cont {
  background-color: #fff;
  display: flex;
  gap: 40px;
  align-items: center;
  padding: 28px 5% 28px 8.3%;
  border-radius: 20px;
  margin-left: 50px;
}
.flow .box ul li .cont .img {
  width: 100px;
}
.flow .box ul li .cont .txt h3 {
  display: inline-flex;
  padding: 10px 16px;
  justify-content: center;
  align-items: center;
  border-radius: 10px;
  background-color: #e9f5ec;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;
  color: #269943;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .flow {
    border-radius: 40px 40px 0px 0px;
  }
  .flow h2 {
    margin-bottom: 70px;
  }
  .flow .box {
    max-width: 500px;
    width: 100%;
  }
  .flow .box ul li {
    margin-bottom: 104px;
  }
  .flow .box ul li .step {
    top: -40px;
    left: calc(50% - 40px);
    width: 80px;
    height: 80px;
  }
  .flow .box ul li .step .num {
    font-size: 14px;
  }
  .flow .box ul li .step .num span {
    font-size: 36px;
  }
  .flow .box ul li .cont {
    flex-direction: column;
    gap: 24px;
    padding: 64px 30px 30px;
    margin-left: 0;
  }
  .flow .box ul li .cont .img {
    width: 100px;
  }
  .flow .box ul li .cont .txt {
    text-align: center;
  }
}

.reason {
  position: relative;
}
.reason::before {
  position: absolute;
  content: "";
  background: url(../images/circle05.svg) no-repeat center/cover;
  width: 24.65vw;
  height: 18.75vw;
  top: 0;
  right: 0;
  z-index: -1;
}
.reason .in {
  max-width: 1440px;
  width: 100%;
  padding: 100px 0;
}
.reason .in .box ul li.reason-list {
  position: relative;
  margin-bottom: 90px;
}
.reason .in .box ul li.reason-list:last-child {
  margin-bottom: 0;
}
.reason .in .box ul li.reason-list .txt {
  background-color: #e9f5ec;
  padding-top: 30px;
}
.reason .in .box ul li.reason-list .txt .txtbx {
  margin-top: -80px;
  margin-bottom: 40px;
}
.reason .in .box ul li.reason-list .txt .txtbx .num {
  font-size: 100px;
  margin-bottom: 10px;
  color: #269943;
}
.reason .in .box ul li.reason-list .txt .txtbx h3 {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  color: #269943;
  margin-bottom: 16px;
}
.reason .in .box ul li.reason-list .txt .imgbx ul.list {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  gap: 30px;
}
.reason .in .box ul li.reason-list .txt .imgbx ul.list li {
  background-color: #fff;
  border-radius: 10px;
  text-align: center;
  width: 200px;
  padding: 16px 20px 20px;
}
.reason .in .box ul li.reason-list .txt .imgbx ul.list li h3 {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 12px;
  border-bottom: 1px dashed #868686;
  margin-bottom: 16px;
}
.reason .in .box ul li.reason-list .txt .imgbx ul.list li p {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  line-height: 1;
  color: #269943;
}
.reason .in .box ul li.reason-list .txt .imgbx ul.list li p .num {
  font-size: 48px;
}
.reason .in .box ul li.reason-list .txt .imgbx ul.list li p.small {
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  color: #333333;
  margin-top: 8px;
  letter-spacing: 0;
}
.reason .in .box ul li.reason-list .img {
  position: absolute;
  top: 60px;
  max-width: 600px;
  width: 40%;
}
.reason .in .box ul li.reason-list .img img {
  width: 100%;
}
.reason .in .box ul li.reason-list:nth-child(odd) .txt {
  border-radius: 0px 20px 20px 0px;
  margin-right: 8.333333%;
}
.reason .in .box ul li.reason-list:nth-child(odd) .txt .txtbx {
  padding: 0 41% 0 8.333333%;
}
.reason .in .box ul li.reason-list:nth-child(odd) .txt .imgbx {
  padding: 0 41% 60px 8.333333%;
}
.reason .in .box ul li.reason-list:nth-child(odd) .img {
  right: 0;
}
.reason .in .box ul li.reason-list:nth-child(even) .txt {
  border-radius: 20px 0px 0px 20px;
  margin-left: 8.333333%;
}
.reason .in .box ul li.reason-list:nth-child(even) .txt .txtbx {
  padding: 0 8.333333% 0 41%;
}
.reason .in .box ul li.reason-list:nth-child(even) .txt .imgbx {
  padding: 0 8.333333% 60px 41%;
}
.reason .in .box ul li.reason-list:nth-child(even) .img {
  right: unset;
  left: 0;
}
.reason .in .box ul li.reason-list:nth-child(1) .txt .txtbx {
  margin-bottom: 50px;
}
.reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li {
  position: relative;
  height: 150px;
  padding: 24px 20px 20px;
}
.reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li::before {
  position: absolute;
  content: "";
  background: url(../images/icon01.svg) no-repeat center;
  background-size: cover;
  width: 40px;
  height: 40px;
  top: -20px;
  left: calc(50% - 20px);
}
.reason .in .box ul li.reason-list:nth-child(2) .txt .imgbx ul.list {
  flex-wrap: wrap;
}
.reason .in .box ul li.reason-list:nth-child(2) .txt .imgbx ul.list li {
  max-width: 315px;
  width: 46%;
}
.reason .in .box ul li.reason-list:nth-child(2) .txt .imgbx ul.list li img {
  width: 100%;
}
@media screen and (min-width: 1441px) {
  .reason .in .box ul li.reason-list .img img {
    border-radius: 20px;
  }
  .reason .in .box ul li.reason-list:nth-child(odd) .txt, .reason .in .box ul li.reason-list:nth-child(even) .txt {
    border-radius: 20px;
  }
}
@media screen and (min-width: 769px) and (max-width: 1199px) {
  .reason .in .box ul li.reason-list:nth-child(2) .txt .imgbx ul.list {
    gap: 20px;
  }
}
@media screen and (min-width: 769px) and (max-width: 925px) {
  .reason .in .box ul li.reason-list .img {
    top: -20px;
  }
  .reason .in .box ul li.reason-list:nth-child(odd) .txt .imgbx {
    padding: 0 0 60px 8.333333%;
  }
  .reason .in .box ul li.reason-list:nth-child(odd) .txt .imgbx ul.list {
    gap: 20px;
  }
}
@media screen and (max-width: 768px) {
  .reason::before {
    background: url(../images/circle12.svg) no-repeat center/cover;
    width: 29.74vw;
    height: 23.6vw;
  }
  .reason .in {
    padding: 50px 0;
  }
  .reason .in h2 {
    margin-bottom: 132px;
  }
  .reason .in .box ul li.reason-list {
    margin-bottom: 152px;
  }
  .reason .in .box ul li.reason-list .txt .txtbx {
    margin-top: 0;
    margin-bottom: 30px;
  }
  .reason .in .box ul li.reason-list .txt .txtbx .num {
    font-size: 70px;
    margin-bottom: 4px;
    text-align: center;
  }
  .reason .in .box ul li.reason-list .txt .txtbx h3 {
    font-size: 24px;
    margin-bottom: 12px;
    text-align: center;
  }
  .reason .in .box ul li.reason-list .txt .imgbx ul.list {
    justify-content: center;
    gap: 20px;
  }
  .reason .in .box ul li.reason-list .txt .imgbx ul.list li {
    max-width: 315px;
    width: 90%;
  }
  .reason .in .box ul li.reason-list .txt .imgbx ul.list li p.small {
    font-size: 14px;
    margin-top: 5px;
  }
  .reason .in .box ul li.reason-list .img {
    top: -100px;
    max-width: 292px;
    width: 75%;
  }
  .reason .in .box ul li.reason-list .img img {
    border-radius: 20px;
  }
  .reason .in .box ul li.reason-list:nth-child(odd) .txt {
    margin-right: 0;
    padding: 122px 5% 50px;
  }
  .reason .in .box ul li.reason-list:nth-child(odd) .txt .txtbx,
  .reason .in .box ul li.reason-list:nth-child(odd) .txt .imgbx {
    padding: 0;
  }
  .reason .in .box ul li.reason-list:nth-child(odd) .img {
    right: unset;
    margin: 0 0 0 50%;
    transform: translateX(-50%);
  }
  .reason .in .box ul li.reason-list:nth-child(even) .txt {
    margin-left: 0;
    padding: 122px 5% 50px;
  }
  .reason .in .box ul li.reason-list:nth-child(even) .txt .txtbx,
  .reason .in .box ul li.reason-list:nth-child(even) .txt .imgbx {
    padding: 0;
  }
  .reason .in .box ul li.reason-list:nth-child(even) .img {
    left: unset;
    margin: 0 0 0 50%;
    transform: translateX(-50%);
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .txtbx {
    margin-bottom: 40px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list {
    gap: 30px 20px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li {
    width: 150px;
    height: auto;
    padding: 18px 15px 15px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li:first-child {
    margin: 0 100px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li::before {
    width: 30px;
    height: 30px;
    top: -15px;
    left: calc(50% - 15px);
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li h3 {
    font-size: 18px;
    padding-bottom: 8px;
    margin-bottom: 11px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li p {
    font-size: 20px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li p .num {
    font-size: 38px;
  }
  .reason .in .box ul li.reason-list:nth-child(2) .txt .imgbx ul.list li {
    max-width: 315px;
    width: 90%;
  }
  .reason .in .box ul li.reason-list:nth-child(3) .txt .imgbx ul.list li:nth-child(3)::after {
    top: -40px;
    right: 0;
  }
}
@media screen and (min-width: 578px) and (max-width: 768px) {
  .reason .in .box ul li.reason-list:nth-child(1) .txt .txtbx {
    margin-bottom: 40px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list {
    gap: 30px 20px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li {
    width: 90%;
    padding: 18px 20px 20px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li:first-child {
    margin: 0;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li h3 {
    font-size: 20px;
    padding-bottom: 12px;
    margin-bottom: 16px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li p {
    font-size: 24px;
  }
  .reason .in .box ul li.reason-list:nth-child(1) .txt .imgbx ul.list li p .num {
    font-size: 48px;
  }
}

.case {
  position: relative;
  background-color: #F3F3EF;
  border-radius: 60px 60px 0px 0px;
}
.case::before {
  position: absolute;
  content: "";
  background: url(../images/circle06.svg) no-repeat center/cover;
  width: 16vw;
  height: 23vw;
  bottom: 0;
  right: 0;
}
.case .in h2 {
  margin-bottom: 20px;
}
.case .in .lead {
  text-align: center;
  font-size: 20px;
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 60px;
}
.case .box ul li.case-list {
  display: flex;
  gap: 60px;
  margin-bottom: 80px;
}
.case .box ul li.case-list:last-child {
  margin-bottom: 60px;
}
.case .box ul li.case-list .img {
  text-align: center;
}
.case .box ul li.case-list .img img {
  margin-bottom: 28px;
}
.case .box ul li.case-list .img .industry {
  color: #269943;
  background-color: #fff;
  padding: 4px 16px;
  border-radius: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.case .box ul li.case-list .img .name {
  color: #269943;
  text-align: center;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 32px;
}
.case .box ul li.case-list .img .subject {
  position: relative;
  border-radius: 4px;
  border: 1px solid #333333;
  width: 80%;
  padding: 16px 0;
  margin: 0 auto;
}
.case .box ul li.case-list .img .subject .ttl,
.case .box ul li.case-list .img .subject .txt01 {
  text-align: center;
}
.case .box ul li.case-list .img .subject .ttl {
  position: absolute;
  font-weight: 700;
  width: 80px;
  height: 30px;
  background-color: #F3F3EF;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  top: -15px;
  left: calc(50% - 40px);
}
.case .box ul li.case-list .txt {
  position: relative;
  border-radius: 20px;
  background: #FFF;
  padding: 40px 50px 50px;
}
.case .box ul li.case-list .txt::before {
  position: absolute;
  content: "";
  width: 40px;
  height: 60px;
  -webkit-clip-path: polygon(0 50%, 100% 0, 100% 100%);
          clip-path: polygon(0 50%, 100% 0, 100% 100%);
  background-color: #fff;
  top: 130px;
  left: -40px;
}
.case .box ul li.case-list .txt h3 {
  color: #ff7a00;
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  padding-bottom: 28px;
  border-bottom: 1px dashed #868686;
  margin-bottom: 32px;
  display: flex;
  align-items: center;
  gap: 12px;
}
.case .box ul li.case-list .txt ul li.case-txt {
  margin-bottom: 28px;
}
.case .box ul li.case-list .txt ul li.case-txt:last-child {
  margin-bottom: 0;
}
.case .box ul li.case-list .txt ul li.case-txt h4 {
  color: #269943;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 10px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.case .box ul li.case-list:nth-child(even) {
  flex-direction: row-reverse;
}
.case .box ul li.case-list:nth-child(even) .txt::before {
  -webkit-clip-path: polygon(0 0, 100% 50%, 0 100%);
          clip-path: polygon(0 0, 100% 50%, 0 100%);
  left: unset;
  right: -40px;
}
@media screen and (max-width: 768px) {
  .case {
    border-radius: 40px 40px 0px 0px;
  }
  .case::before {
    content: none;
  }
  .case .in h2 {
    margin-bottom: 8px;
  }
  .case .in .lead {
    font-size: 16px;
    margin-bottom: 30px;
  }
  .case .box ul li.case-list {
    flex-direction: column;
    gap: 40px;
    margin-bottom: 40px;
  }
  .case .box ul li.case-list:last-child {
    margin-bottom: 40px;
  }
  .case .box ul li.case-list .img {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
  }
  .case .box ul li.case-list .img img {
    margin-bottom: 20px;
    width: 68.5%;
  }
  .case .box ul li.case-list .img .name {
    margin-bottom: 28px;
  }
  .case .box ul li.case-list .txt {
    padding: 20px 30px 30px;
  }
  .case .box ul li.case-list .txt::before {
    width: 80px;
    height: 20px;
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
            clip-path: polygon(50% 0, 100% 100%, 0 100%);
    top: -20px;
    left: calc(50% - 40px);
  }
  .case .box ul li.case-list .txt h3 {
    font-size: 24px;
    text-align: center;
    padding-bottom: 20px;
    margin-bottom: 20px;
    flex-direction: column;
    gap: 0;
  }
  .case .box ul li.case-list .txt ul li.case-txt {
    margin-bottom: 20px;
  }
  .case .box ul li.case-list:nth-child(even) {
    flex-direction: column;
  }
  .case .box ul li.case-list:nth-child(even) .txt::before {
    -webkit-clip-path: polygon(50% 0, 100% 100%, 0 100%);
            clip-path: polygon(50% 0, 100% 100%, 0 100%);
    right: calc(50% - 40px);
  }
}

.contact h2 {
  margin-bottom: 20px;
}
.contact .lead {
  text-align: center;
  font-size: 20px;
  margin-bottom: 40px;
}
.contact .lead a {
  color: #269943;
  text-decoration: underline;
  font-weight: 700;
}
.contact .lead a:hover {
  opacity: 0.8;
}
.contact .lead b {
  font-weight: 700;
  display: inline-block;
  margin-top: 0.5em;
}
.contact .resize {
  height: 1540px;
}
@media screen and (max-width: 768px) {
  .contact h2 {
    margin-bottom: 8px;
  }
  .contact .lead {
    font-size: 14px;
    margin-bottom: 30px;
    text-align: left;
  }
  .contact .resize {
    position: relative;
    width: 100%;
    padding: 1610px 0 0;
  }
  .contact .resize iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.corporate {
  position: relative;
  background-color: #F3F3EF;
  border-radius: 60px 60px 0px 0px;
}
.corporate::before, .corporate::after {
  position: absolute;
  content: "";
}
.corporate::before {
  background: url(../images/circle07.svg) no-repeat center/cover;
  width: 9.72vw;
  height: 40.14vw;
  top: 50vw;
  right: 0;
}
.corporate::after {
  background: url(../images/circle08.svg) no-repeat center/cover;
  width: 26.52vw;
  height: 17.08vw;
  bottom: 0;
  left: 0;
}
.corporate .box {
  background-color: #fff;
  border-radius: 20px;
  padding: 4.16%;
  display: flex;
  align-items: center;
  gap: 40px;
  margin-bottom: 50px;
}
.corporate .box h3 {
  color: #269943;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 24px;
}
.corporate .box .txt01 {
  margin-bottom: 30px;
}
.corporate .box .txt01 span {
  color: #269943;
  font-weight: 700;
}
.corporate .box .txt02 {
  text-align: right;
}
.corporate .box .txt02 span {
  font-size: 20px;
}
.corporate .table {
  max-width: 720px;
  width: 90%;
  margin: 0 auto 50px;
}
.corporate .table dl {
  padding-bottom: 30px;
  border-bottom: 1px dashed #868686;
  display: flex;
  align-items: center;
  gap: 30px;
  margin-bottom: 30px;
}
.corporate .table dl dt {
  color: #269943;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.05em;
  padding-left: 40px;
  width: 34.8%;
}
.corporate .table dl dd {
  width: 55.6%;
}
.corporate .table dl dd p {
  margin-bottom: 12px;
}
.corporate .table dl dd p:last-child {
  margin-bottom: 0;
}
.corporate .table dl dd p b {
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .corporate {
    border-radius: 40px 40px 0px 0px;
  }
  .corporate::before {
    content: none;
  }
  .corporate::after {
    background: url(../images/circle13.svg) no-repeat center/cover;
    width: 28.97vw;
    height: 18.46vw;
  }
  .corporate .box {
    padding: 30px 24px;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 30px;
  }
  .corporate .box h3 {
    font-size: 18px;
    text-align: center;
    margin-bottom: 12px;
  }
  .corporate .box .txt01 {
    margin-bottom: 12px;
  }
  .corporate .box .txt02 span {
    font-size: 18px;
  }
  .corporate .table {
    width: 100%;
    margin: 0 auto 40px;
  }
  .corporate .table dl {
    padding-bottom: 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 20px;
  }
  .corporate .table dl dt {
    font-size: 16px;
    padding-left: 0;
    width: 100%;
  }
  .corporate .table dl dd {
    width: 100%;
    font-size: 14px;
  }
  .corporate .table dl dd p {
    margin-bottom: 10px;
    font-size: 14px;
  }
}

.footer .box {
  background-color: #fff;
  padding: 100px 0;
  text-align: center;
}
.footer .box .logo {
  margin-bottom: 50px;
}
.footer .box .footlink {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 60px;
}
.footer .box .footlink li a {
  position: relative;
  width: 320px;
  height: 72px;
  border-radius: 90px;
  border: 2px solid #269943;
  background-color: #fff;
  color: #269943;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
}
.footer .box .footlink li a::after {
  position: absolute;
  content: "\f054";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  top: calc(50% - 12px);
  right: 16px;
}
.footer .box .footlink li a:hover {
  background-color: #269943;
  color: #fff;
}
.footer .copy {
  background: #104C1F;
  padding: 11px 0;
  color: #FFF;
  text-align: center;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .footer .box {
    padding: 60px 0;
  }
  .footer .box .footlink {
    flex-direction: column;
    gap: 28px;
  }
}

.gotop {
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #269943;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  width: 60px;
  height: 60px;
  color: #fff;
  border-radius: 50%;
  z-index: 100;
  cursor: pointer;
  transition: 0.3s;
}
.gotop:hover {
  opacity: 0.8;
}
@media screen and (max-width: 768px) {
  .gotop {
    width: 50px;
    height: 50px;
  }
}/*# sourceMappingURL=style.css.map */