html, body,
h1, h2, h3, h4, h5, h6,
a, p, span,
em, small, strong,
sub, sup,
mark, del, ins, strike,
abbr, dfn,
blockquote, q, cite,
code, pre,
ol, ul, li, dl, dt, dd,
div, section, article,
main, aside, nav,
header, hgroup, footer,
img, figure, figcaption,
address, time,
audio, video,
canvas, iframe,
details, summary,
fieldset, form, label, legend,
table, caption,
tbody, tfoot, thead,
tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
}

article,
aside,
footer,
header,
nav,
section,
main {
  display: block;
}

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

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

ol,
ul {
  list-style: none;
}

img,
video {
  max-width: 100%;
}

img {
  border-style: none;
}

body {
  max-width: 960px;
  width: 100%;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1;
  font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', 'Hiragino Sans', 'Noto Sans', Meiryo, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.mainvisual,
.mainvisual h1,
.mainvisual img {
  width: 100%;
}
.mainvisual img {
  object-fit: contain;
}

.about {
  margin-top: -27px;
}
.main-txt {
  font-size: 26px;
  line-height: 2;
  color: #369F75;
  text-align: center;
}

.video {
  margin: 40px auto 0;
  max-width: 800px;
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
}
.video iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 560/315;
}

.occupation {
  margin: 60px 30px 0;
}
.occupation .heading {
  display: flex;
  align-items: center;
  max-width: 820px;
  margin: 0 auto;
  width: 100%;
  height: 80px;
  font-size: 36px;
  line-height: 1;
  padding-left: 40px;
  color: #fff;
  background-color: #99D0F2;
  border-radius: 40px;
}
.occupation .content-wrap {
  margin-top: 40px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  row-gap: 35px;
  column-gap: 24px;
}
.occupation .content {
  width: calc(50% - 12px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.occupation .heading-3 {
  font-size: 21px;
  line-height: 1.5;
  color: #000;
  padding-bottom: 6px;
  border-bottom: 1px solid #DBE000;
  font-feature-settings: "palt";
}
.occupation .content-bottom {
  margin-top: 8px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.occupation .company {
  font-size: 21px;
  padding-left: 5px;
  line-height: 1.5;
  color: #000;
  font-feature-settings: "palt";
}
.occupation .link {
  margin-top: 18px;
  display: block;
  font-size: 21px;
  padding-left: 5px;
  line-height: 1.5;
  color: #8FC31F;
  text-decoration: none;
  transition: all 0.3s;
  font-feature-settings: "palt";
}
.occupation .link:hover {
  transform: translateX(5px);
  opacity: 0.7;
}

.footer-img {
  margin-top: 35px;
  width: 100%;
}
.footer-img img {
  width: 100%;
  object-fit: contain;
}



@media screen and (max-width: 767px) {
  .about {
    margin-top: -20px;
  }
  .main-txt {
    font-size: 18px;
    font-feature-settings: "palt";
  }
  .occupation {
    margin: 60px 10px 0;
  }
  .occupation .heading {
    font-size: 24px;
    height: 60px;
    border-radius: 30px;
  }
  .occupation .content-wrap {
    row-gap: 24px;
    column-gap: 16px;
  }
  .occupation .content {
    width: calc(50% - 8px);
  }
  .occupation .heading-3 {
    font-size: 14px;
    padding-bottom: 5px;
  }
  .occupation .content-bottom {
    margin-top: 5px;
  }
  .occupation .company {
    font-size: 14px;
  }
  .occupation .link {
    font-size: 13px;
    margin-top: 4px;
  }
}

@media screen and (max-width: 450px) {
  .main-txt {
    font-size: 16px;
  }
  .occupation .heading {
    padding-left: 20px;
  }
}