@charset "UTF-8";
/* CSS Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&family=Outfit:wght@100..900&display=swap");
.sp_only {
  display: none;
}
@media screen and (max-width: 750px) {
  .sp_only {
    display: inline-block;
  }
}

@media screen and (max-width: 750px) {
  .pc_only {
    display: none;
  }
}

/* CSS Document */
.ff_of {
  font-family: "Outfit", sans-serif;
}

.ff_of_title {
  font-family: "Outfit", sans-serif;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  font-weight: 700;
  line-height: 1em;
  font-size: 56px;
}
@media screen and (max-width: 750px) {
  .ff_of_title {
    font-size: 10vw;
  }
}

.ff_of_title--fff {
  font-family: "Outfit", sans-serif;
  color: #fff;
  font-weight: 700;
  line-height: 1em;
  font-size: 56px;
}
@media screen and (max-width: 750px) {
  .ff_of_title--fff {
    font-size: 10vw;
  }
}

.text_gd {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.title_box {
  text-align: center;
}

.title_desc {
  margin-top: 8px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
}
@media screen and (max-width: 750px) {
  .title_desc {
    font-size: 6vw;
  }
}

.title_desc--fff {
  margin-top: 8px;
  font-size: 32px;
  font-weight: 600;
  line-height: 1;
  color: #fff;
}
@media screen and (max-width: 750px) {
  .title_desc--fff {
    font-size: 6vw;
  }
}

.bg_gd {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
}

.container {
  max-width: 1124px;
  margin: 0 auto;
  width: 90%;
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #63A35A;
  font-size: 18px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 20px 80px 20px 20px;
  background-color: rgba(255, 255, 255, 0.8);
  font-weight: 600;
}
@media screen and (max-width: 750px) {
  header {
    padding: 3% 5%;
  }
}
header .logo_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 750px) {
  header .logo_box {
    display: block;
  }
  header .logo_box .logo_desc {
    display: none;
  }
}
header .logo_box h1 {
  margin-right: 20px;
  width: 68px;
}
@media screen and (max-width: 750px) {
  header .logo_box h1 {
    margin-right: 0;
  }
}
header nav.nav_box .nav_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
@media screen and (max-width: 750px) {
  header nav.nav_box .nav_list {
    display: block;
    width: 70vw;
    height: 100vh;
    position: fixed;
    top: 0;
    right: -100%;
    background: rgba(255, 255, 255, 0.95);
    z-index: -2;
    padding: 22vw 5vw 17vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
header nav.nav_box .nav_list .nav_item {
  margin-right: 20px;
}
@media screen and (max-width: 750px) {
  header nav.nav_box .nav_list .nav_item {
    margin-right: 0;
    margin-top: 8vw;
  }
}
@media screen and (max-width: 750px) {
  header nav.nav_box .nav_list .nav_item:first-child {
    margin-top: 0;
  }
}
header nav.nav_box .nav_list .nav_item:last-child {
  margin-right: 0;
}
@media screen and (max-width: 750px) {
  header nav.nav_box .nav-toggle {
    position: absolute;
    inset: 0 auto auto 0;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
  }
  header nav.nav_box .hamburger {
    width: 36px;
    height: 28px;
    position: relative;
    cursor: pointer;
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  header nav.nav_box .hamburger span {
    position: absolute;
    left: 0;
    right: 0;
    height: 4px;
    border-radius: 2px;
    background: #5aa15f;
    -webkit-transition: opacity 0.25s ease, top 0.35s ease, bottom 0.35s ease, -webkit-transform 0.35s ease;
    transition: opacity 0.25s ease, top 0.35s ease, bottom 0.35s ease, -webkit-transform 0.35s ease;
    transition: transform 0.35s ease, opacity 0.25s ease, top 0.35s ease, bottom 0.35s ease;
    transition: transform 0.35s ease, opacity 0.25s ease, top 0.35s ease, bottom 0.35s ease, -webkit-transform 0.35s ease;
  }
  header nav.nav_box .hamburger span:nth-child(1) {
    top: 0;
  }
  header nav.nav_box .hamburger span:nth-child(2) {
    top: 12px;
  }
  header nav.nav_box .hamburger span:nth-child(3) {
    bottom: 0;
  }
}
header nav.nav_box #nav-toggle:checked ~ .hamburger span:nth-child(1) {
  top: 15px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
header nav.nav_box #nav-toggle:checked ~ .hamburger span:nth-child(2) {
  opacity: 0;
}
header nav.nav_box #nav-toggle:checked ~ .hamburger span:nth-child(3) {
  bottom: auto;
  top: 14px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
header nav.nav_box #nav-toggle:checked ~ .hamburger {
  z-index: 110;
}
header nav.nav_box #nav-toggle:checked ~ .nav_list,
header nav.nav_box #nav-toggle:checked ~ .nav_list * {
  pointer-events: auto;
}
header nav.nav_box #nav-toggle:checked ~ .nav_list {
  right: 0;
}

main {
  max-width: 100%;
  overflow: hidden;
  padding-top: 88px;
}
@media screen and (max-width: 750px) {
  main {
    padding-top: 13vw;
  }
}
main.common_site {
  padding-bottom: 110px;
}
@media screen and (max-width: 750px) {
  main.common_site {
    padding-bottom: 16vw;
  }
}
main .page_nav_wrap {
  margin-top: 76px;
}
@media screen and (max-width: 750px) {
  main .page_nav_wrap {
    margin-top: 15vw;
  }
}
main .page_nav_wrap .nav-links {
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
main .page_nav_wrap .nav-links .page-numbers {
  margin: 0 5px;
  font-weight: bold;
  color: #000;
  background-color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 30px;
  height: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100%;
}
@media screen and (max-width: 750px) {
  main .page_nav_wrap .nav-links .page-numbers {
    width: 8vw;
    height: 8vw;
    font-size: 4.2vw;
  }
}
main .page_nav_wrap .nav-links .current {
  pointer-events: none;
  background-color: #919191;
  color: #fff;
}
main .page_nav_wrap .nav-links .from a {
  color: #fff;
  background: none;
}

a {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}

a:hover {
  opacity: 0.8;
}

/* ===============================
  WordPress Gutenberg 標準記事スタイル
================================== */
#content .content_head .article_head {
  font-size: 24px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  #content .content_head .article_head {
    font-size: 5.2vw;
  }
}
#content .content_head .company {
  margin-top: 16px;
}
#content .content_head .article_mv {
  margin-top: 24px;
}
#content .section--interview {
  padding-top: 20px;
}
#content .section--interview h1 {
  font-size: 24px;
  font-weight: bold;
}
#content .section--interview h2 {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 2em 0 1em;
  padding-left: 16px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  #content .section--interview h2 {
    font-size: 4.9vw;
  }
}
#content .section--interview h2:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#63A35A), to(#579BBC));
  background: linear-gradient(180deg, #63A35A 0%, #579BBC 100%);
}
#content .section--interview h3 {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 2em 0 0.8em;
  padding-bottom: 6px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  #content .section--interview h3 {
    font-size: 4.4vw;
  }
}
#content .section--interview h3:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
}
#content .section--interview h3.c-bullets__title:before {
  opacity: 0;
  margin: 2em 0 0;
  padding-bottom: 0;
}
#content .section--interview h3 .c-bullets__inner .c-bullets__item:first-child h3 {
  margin-top: 0;
}
#content h2.title_block {
  margin-top: 0;
  padding-left: 0;
}
#content h2.title_block:before {
  opacity: 0;
}
#content .interview_info {
  margin-top: 16px;
}
#content .interview_content img {
  width: 100%;
}
#content .container {
  position: relative;
  top: 0;
  left: 0;
}
#content .container .tab_list_wrap {
  position: absolute;
  bottom: calc(100% + 2px);
  right: 0;
  width: 100%;
  padding-right: 10px;
}
#content .container .tab_list_wrap .tab_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 10px;
}
#content .container .tab_list_wrap .tab_list li a {
  color: #004604;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-top: 2px solid #004604;
  border-right: 2px solid #004604;
  border-left: 2px solid #004604;
  font-weight: bold;
  display: block;
  background: #fff;
  padding: 4px 24px;
  border-radius: 10px 10px 0 0;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
}
@media screen and (max-width: 750px) {
  #content .container .tab_list_wrap .tab_list li a {
    padding: 2vw;
  }
}
#content .container .tab_list_wrap .tab_list li.current a {
  background-color: #004604;
  color: #fff;
  pointer-events: none;
}

article {
  font-size: 16px;
  line-height: 1.8em;
  color: #333;
  /* 見出し */
  /* 段落・リード文 */
  /* 画像 */
  /* 引用 */
  /* リスト */
  /* カード風ボックス（企業紹介など） */
  /* ページネーション */
  /* テーブル */
  /* 横線 */
}
@media screen and (max-width: 750px) {
  article {
    font-size: 3.5vw;
  }
}
article .content_block {
  padding-bottom: 90px;
  padding-top: 90px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  article .content_block {
    padding-bottom: 13vw;
    padding-top: 13vw;
  }
}
article .content_block:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 40%;
  width: 20%;
  height: 3px;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
}
article .content_block#toc {
  padding: 0;
}
article .content_block#toc:before {
  opacity: 0;
}
article .content_block:last-child {
  padding-bottom: 0;
}
article .content_block:last-child:before {
  opacity: 0;
}
article .wp-block-agenda_wrap {
  position: relative;
  top: 0;
  left: 0;
  padding: 50px 10px 50px 26px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
@media screen and (max-width: 750px) {
  article .wp-block-agenda_wrap {
    padding: 10vw 0;
    display: block;
  }
}
article .wp-block-agenda_wrap:before, article .wp-block-agenda_wrap:after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
}
article .wp-block-agenda_wrap:before {
  top: 0;
}
article .wp-block-agenda_wrap:after {
  bottom: 0;
}
article .wp-block-agenda_wrap .wp-block-title {
  font-weight: bold;
  width: 167px;
  font-size: 24px;
}
@media screen and (max-width: 750px) {
  article .wp-block-agenda_wrap .wp-block-title {
    width: 100%;
    margin-bottom: 3vw;
  }
}
article .wp-block-agenda_wrap .wp-block-agenda {
  font-size: 16px;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  article .wp-block-agenda_wrap .wp-block-agenda {
    font-size: 3.8vw;
  }
}
article .wp-block-agenda_wrap .wp-block-agenda li {
  margin-top: 4px;
}
@media screen and (max-width: 750px) {
  article .wp-block-agenda_wrap .wp-block-agenda li {
    list-style: decimal-leading-zero;
    margin-left: 2em;
  }
}
article .wp-block-agenda_wrap .wp-block-agenda li:first-child {
  margin-top: 0;
}
article h2.wp-block-heading {
  font-size: 1.6rem;
  font-weight: 700;
  margin: 2em 0 1em;
  padding-left: 16px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  article h2.wp-block-heading {
    font-size: 4.9vw;
  }
}
article h2.wp-block-heading:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 6px;
  height: 100%;
  background: -webkit-gradient(linear, left top, left bottom, from(#63A35A), to(#579BBC));
  background: linear-gradient(180deg, #63A35A 0%, #579BBC 100%);
}
article h3.wp-block-heading {
  font-size: 1.3rem;
  font-weight: 600;
  margin: 2em 0 0.8em;
  padding-bottom: 6px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  article h3.wp-block-heading {
    font-size: 4.4vw;
  }
}
article h3.wp-block-heading:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
}
article .entry-content {
  margin-bottom: 1.5em;
  padding: 32px 0;
}
@media screen and (max-width: 750px) {
  article .entry-content {
    padding: 0;
  }
}
article .entry-content .lead {
  font-size: 1.1rem;
  line-height: 1.9;
  font-weight: 500;
  color: #222;
}
article .entry-content img {
  max-width: 100%;
  height: auto;
  border-radius: 10px;
  display: block;
  margin: 20px auto;
}
article .entry-content blockquote {
  border-left: 4px solid #4ca46d;
  background: #f8fdf9;
  padding: 1em 1.5em;
  margin: 2em 0;
  border-radius: 8px;
  color: #333;
  font-style: italic;
}
article .entry-content ul {
  list-style: disc;
}
article .entry-content ol {
  list-style: decimal;
}
article .font-small {
  font-size: 12px;
}
@media screen and (max-width: 750px) {
  article .font-small {
    font-size: 3vw;
  }
}
article .box {
  background: #ddfad9;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 30px 20px;
  border-radius: 20px;
}
article .box dt {
  font-weight: bold;
  font-size: 20px;
}
article .box dd {
  margin-top: 14px;
}
article .text-highlight {
  background-color: #fff935;
}
article .wp-block-group.card {
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 1.5em;
  margin: 2em 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 20px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  background: #fff;
  -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
          box-shadow: 0 2px 5px rgba(0, 0, 0, 0.05);
}
article .wp-block-group.card img {
  width: 100px;
  height: 100px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 8px;
}
article .post-navigation,
article .pagination {
  text-align: center;
  margin: 3em 0;
}
article .pagination a,
article .pagination span {
  display: inline-block;
  padding: 8px 12px;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin: 0 4px;
  color: #333;
}
article .pagination .current {
  background: #4ca46d;
  color: #fff;
  border-color: #4ca46d;
}
article .entry-content table {
  border-collapse: collapse;
  width: 100%;
  margin: 2em 0;
}
article .entry-content th,
article .entry-content td {
  border: 1px solid #ccc;
  padding: 10px;
  text-align: left;
}
article .entry-content hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 2em 0;
}
article :root {
  --radius: 18px;
  --bd: 2px;
  --c-border: #c9c9c9;
  --c-text: #222;
  --c-muted: #666;
  --c-light: #f4f4f4;
  --c-light-2: #ededed;
}
article .c-bullets {
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 16px;
}
article .c-bullets__inner {
  padding: 42px 34px;
}
@media screen and (max-width: 750px) {
  article .c-bullets__inner {
    padding: 8vw 4vw;
  }
}
article .c-bullets__inner .c-bullets__item {
  margin-top: 16px;
}
article .c-bullets__inner .c-bullets__item:first-child {
  margin-top: 0;
}
article .c-bullets__title {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
}
@media screen and (max-width: 750px) {
  article .c-bullets__title {
    font-size: 4.4vw;
  }
}
article .c-bullets__text {
  margin-top: 4px;
}
article .c-company-list {
  display: -ms-grid;
  display: grid;
  gap: 20px;
  margin-top: 32px;
}
@media screen and (max-width: 750px) {
  article .c-company__logo {
    text-align: center;
  }
}
article .c-company a {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 120px 18px 1fr;
  grid-template-columns: 120px 1fr;
  gap: 18px;
  border: 1px solid rgba(0, 0, 0, 0.6);
  border-radius: 8px;
  padding: 18px;
}
@media screen and (max-width: 750px) {
  article .c-company a {
    padding: 5vw;
    display: block;
  }
}
article .c-company__logo {
  width: 100%;
  aspect-ratio: 1/1;
  margin: 0;
}
@media screen and (max-width: 750px) {
  article .c-company__logo {
    aspect-ratio: auto;
    text-align: center;
  }
}
article .c-company__logo--ph {
  width: 100%;
  height: 100%;
  background: #bfbfbf;
  color: #fff;
  display: -ms-grid;
  display: grid;
  place-items: center;
  font-weight: 700;
  border-radius: 16px;
}
@media screen and (max-width: 750px) {
  article .c-company {
    aspect-ratio: auto;
    text-align: center;
  }
}
@media screen and (max-width: 750px) {
  article .c-company__body {
    margin-top: 2vw;
    text-align: left;
  }
}
article .c-company__name {
  font-size: 20px;
  font-weight: bold;
  margin: 0 0 6px;
  color: #004604;
}
@media screen and (max-width: 750px) {
  article .c-company__name {
    font-size: 4.4vw;
  }
}
article .c-company__industry {
  margin: 0 0 8px;
}
article .c-company__addr {
  margin: 0 0 10px;
  line-height: 1.7;
}
article .c-company__addr .c-company__pin {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  vertical-align: text-top;
  margin-right: 4px;
  color: #000;
}
article .c-faq {
  display: -ms-grid;
  display: grid;
  gap: 14px;
}
@media screen and (max-width: 750px) {
  article .c-faq__question {
    font-size: 3.5vw;
  }
}
article .c-faq__item {
  border: var(--bd) solid var(--c-border);
  border-radius: var(--radius);
  background: #fff;
  overflow: clip;
}
article .c-faq__item + .c-faq__item {
  margin-top: 6px;
}
article .c-faq__item[open] .c-faq__chev::after {
  -webkit-transform: rotate(225deg);
          transform: rotate(225deg);
}
article .c-faq__item[open] .c-faq__summary {
  border-radius: 16px 16px 0 0;
}
article .c-faq__summary {
  list-style: none;
  cursor: pointer;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 12px 1fr 12px auto;
  grid-template-columns: auto 1fr auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 16px 18px;
  font-size: 16px;
  font-weight: 700;
  border-radius: 16px;
  border: 1px solid rgb(99, 163, 90);
}
article .c-faq__summary::-webkit-details-marker {
  display: none;
}
article .c-faq__q {
  font-weight: 800;
  margin-right: 2px;
}
article .c-faq__chev {
  width: 18px;
  height: 18px;
  position: relative;
}
article .c-faq__chev::after {
  content: "";
  position: absolute;
  inset: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid rgb(87, 155, 188);
  border-bottom: 2px solid rgb(87, 155, 188);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
article .c-faq__answer {
  background: rgba(99, 163, 90, 0.1);
  padding: 16px 18px 18px;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 12px 1fr;
  grid-template-columns: auto 1fr;
  gap: 12px;
  border-radius: 0 0 16px 16px;
  font-size: 16px;
  border-right: rgb(99, 163, 90);
  border-left: rgb(99, 163, 90);
  border-bottom: rgb(99, 163, 90);
}
article .c-faq__a {
  font-weight: 800;
}
article .c-faq__text {
  line-height: 1.9;
}
@media screen and (max-width: 750px) {
  article .c-faq__text {
    font-size: 3.5vw;
  }
}

.company-article {
  /* コンテンツエリア */
  /* 会社を知る */
  /* 仕事を知る */
  /* 環境 */
  /* 社員を知る（CSSタブ切替） */
}
.company-article .content_head .title_block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 750px) {
  .company-article .content_head .title_block {
    display: block;
    margin-top: 2vw;
  }
}
.company-article .content_head .title_block .company_logo {
  max-width: 250px;
  margin-right: 16px;
}
@media screen and (max-width: 750px) {
  .company-article .content_head .title_block .company_logo {
    max-width: 100%;
    margin-right: 0;
  }
  .company-article .content_head .title_block .company_logo img {
    width: 30%;
  }
}
.company-article .content_head .title_block .title_block {
  font-weight: bold;
  font-size: 32px;
}
@media screen and (max-width: 750px) {
  .company-article .content_head .title_block .title_block {
    font-size: 7vw;
  }
}
.company-article .content_head .firstview {
  margin-top: 32px;
}
@media screen and (max-width: 750px) {
  .company-article .company_info {
    margin-top: 3vw;
  }
}
.company-article .page-nav {
  margin-right: 40px;
  width: 160px;
  position: sticky;
  top: 100px;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 750px) {
  .company-article .page-nav {
    display: none;
  }
}
.company-article .page-nav li {
  margin-bottom: 8px;
}
.company-article .page-nav a {
  display: block;
  padding: 0px 4px;
  border-left: 4px solid transparent;
  color: #333;
  text-decoration: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.company-article .page-nav a:hover,
.company-article .page-nav a:focus {
  border-left: 4px solid #4ca46d;
  background: #f8fdf9;
  color: #4ca46d;
}
.company-article .article-content {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.company-article .section {
  padding-bottom: 80px;
  padding-top: 80px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  .company-article .section {
    padding-top: 7vw;
    padding-bottom: 7vw;
  }
}
.company-article .section h2 {
  font-size: 48px;
  font-weight: bold;
  line-height: normal;
}
@media screen and (max-width: 750px) {
  .company-article .section h2 {
    font-size: 6.5vw;
    margin-bottom: 3vw;
  }
}
.company-article .section h2 span {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.company-article .section:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  height: 0.5vw;
}
.company-article .section:last-child:after {
  opacity: 0;
}
.company-article .about_img {
  margin-top: 32px;
}
.company-article #works .desc_box {
  margin-top: 40px;
}
.company-article #works .desc_box dt {
  padding-left: 8px;
  border-left: 3px solid #004604;
  margin-bottom: 16px;
}
.company-article #works .desc_box dt h3 {
  font-size: 32px;
  font-weight: 400;
  color: #004604;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .company-article #works .desc_box dt h3 {
    font-size: 6vw;
  }
}
.company-article #environment .desc_box {
  margin-top: 40px;
}
.company-article #environment .desc_box dt {
  padding-left: 8px;
  border-left: 3px solid #004604;
  margin-bottom: 16px;
}
.company-article #environment .desc_box dt h3 {
  font-size: 32px;
  font-weight: 400;
  color: #004604;
  font-weight: bold;
}
@media screen and (max-width: 750px) {
  .company-article #environment .desc_box dt h3 {
    font-size: 6vw;
  }
}
.company-article #environment .desc_box .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 2% 1fr 2% 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 2%;
     -moz-column-gap: 2%;
          column-gap: 2%;
  row-gap: 21px;
  margin-top: 32px;
}
@media screen and (max-width: 750px) {
  .company-article #environment .desc_box .list {
    display: block;
  }
}
.company-article #environment .desc_box .list li {
  color: #004604;
  border: 1px solid #004604;
  border-radius: 20px;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 16px;
}
@media screen and (max-width: 750px) {
  .company-article #environment .desc_box .list li {
    width: 100%;
    padding: 3vw;
    border-radius: 10px;
    margin-bottom: 3vw;
  }
}
.company-article #staff .tabs {
  position: relative;
  margin-top: 30px;
}
.company-article #staff .tabs input[type=radio] {
  display: none;
}
.company-article #staff .tab-buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 10px;
}
.company-article #staff .tab-buttons label {
  background: #eee;
  padding: 10px 20px;
  border-radius: 20px 20px 0 0;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  width: 40%;
  text-align: center;
}
@media screen and (max-width: 750px) {
  .company-article #staff .tab-buttons label {
    padding: 2vw;
    width: 34%;
  }
}
.company-article #staff #tab1:checked ~ .tab-buttons label[for=tab1],
.company-article #staff #tab2:checked ~ .tab-buttons label[for=tab2] {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  color: #fff;
}
.company-article #staff .tab-content {
  display: none;
  border-radius: 20px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 32px 24px;
  border: 1px solid #004604;
}
@media screen and (max-width: 750px) {
  .company-article #staff .tab-content {
    padding: 5vw 5vw;
    border-radius: 10px;
  }
}
.company-article #staff #tab1:checked ~ #tab1-content,
.company-article #staff #tab2:checked ~ #tab2-content {
  display: block;
}
.company-article #staff .tab-content .box {
  margin-top: 24px;
}
.company-article #staff .tab-content .box h4 {
  color: #004604;
  font-weight: bold;
  margin-bottom: 8px;
}
.company-article #staff .tab-content .box .box_flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 750px) {
  .company-article #staff .tab-content .box .box_flex {
    display: block;
  }
}
.company-article #staff .tab-content .box .box_flex.box_flex--right {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.company-article #staff .tab-content .box .box_flex .img {
  width: 40%;
}
@media screen and (max-width: 750px) {
  .company-article #staff .tab-content .box .box_flex .img {
    width: 100%;
  }
}
.company-article #staff .tab-content .box .box_flex .text {
  width: 57%;
}
@media screen and (max-width: 750px) {
  .company-article #staff .tab-content .box .box_flex .text {
    width: 100%;
  }
}

.cta-wrap {
  text-align: center;
  margin: 40px 0;
  /* CTA */
}
.cta-wrap .cta {
  text-align: center;
  margin: 60px 0;
}
.cta-wrap .btn {
  display: inline-block;
  padding: 12px 46px 12px 24px;
  color: #fff;
  border-radius: 30px;
  text-decoration: none;
  font-weight: 600;
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
}
@media screen and (max-width: 750px) {
  .cta-wrap .btn {
    width: 70%;
    display: block;
    margin: 0 auto;
  }
}
.cta-wrap .btn-text {
  position: relative;
  top: 0;
  left: 0;
}
.cta-wrap .btn-text:after {
  content: "";
  position: absolute;
  right: -23px;
  top: 0.3em;
  margin: auto;
  width: 10px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

footer .footer_info {
  color: #fff;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 100px 0;
}
@media screen and (max-width: 750px) {
  footer .footer_info {
    padding: 15vw 0;
  }
}
footer .footer_info .footer_maincopy {
  font-weight: bold;
  font-size: 56px;
}
@media screen and (max-width: 750px) {
  footer .footer_info .footer_maincopy {
    font-size: 6.9vw;
  }
}
footer .footer_info .footer_desc {
  margin-top: 32px;
  font-size: 24px;
}
@media screen and (max-width: 750px) {
  footer .footer_info .footer_desc {
    font-size: 4.6vw;
    margin-top: 5vw;
  }
}
footer .footer_small_wrap {
  text-align: center;
  padding: 16px;
}
footer .footer_small_wrap small {
  display: inline-block;
  font-size: 16px;
}
footer .footer_small_wrap.footer_small_wrap--common {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  color: #fff;
}
footer.site-footer--top .footer_maincopy,
footer.site-footer--top .footer_desc {
  color: #fff;
}
footer.site-footer .footer_maincopy,
footer.site-footer .footer_desc {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

main {
  background: -webkit-gradient(linear, left top, right top, from(#63A35A), to(#579BBC));
  background: linear-gradient(90deg, #63A35A 0%, #579BBC 100%);
  padding-top: 100px;
  color: #fff;
}
@media screen and (max-width: 750px) {
  main {
    padding-top: 13vw;
  }
}
main .main_text {
  font-size: 40px;
  font-weight: bold;
  margin-top: 46px;
  line-height: 0.3em;
  padding-left: 37px;
  position: relative;
  top: 0;
  left: 0;
}
@media screen and (max-width: 750px) {
  main .main_text {
    padding-left: 10vw;
    font-size: 9vw;
    margin-top: 7vw;
  }
}
main .main_text:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 40px;
}
@media screen and (max-width: 750px) {
  main .main_text:before {
    width: 8vw;
    height: 10vw;
  }
}
main .main_text.main_text--movie:before {
  background: url(../images/parts/mv_icon.svg) no-repeat center/100% auto;
}
main .main_text.main_text--articles:before {
  background: url(../images/parts/article_icon.svg) no-repeat center/100% auto;
}
main .main_text span {
  line-height: 1em;
}
main .main_text .title_sub {
  font-size: 18px;
  display: inline-block;
}
@media screen and (max-width: 750px) {
  main .main_text .title_sub {
    font-size: 4vw;
  }
}

#list {
  margin-top: 80px;
}
@media screen and (max-width: 750px) {
  #list {
    margin-top: 7vw;
  }
}
#list .list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 5% 1fr 5% 1fr;
  grid-template-columns: repeat(3, 1fr);
  -webkit-column-gap: 5%;
     -moz-column-gap: 5%;
          column-gap: 5%;
  row-gap: 70px;
}
@media screen and (max-width: 750px) {
  #list .list {
    -ms-grid-columns: (1fr)[1];
    grid-template-columns: repeat(1, 1fr);
    row-gap: 7vw;
  }
}
#list .list li {
  background-color: #fff;
  border-radius: 10px;
  overflow: hidden;
}
#list .list figure img {
  width: 100%;
}
#list .list .mv_title {
  margin-top: 4px;
  font-size: 16px;
  font-weight: bold;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: #000;
  padding: 16px;
}
@media screen and (max-width: 750px) {
  #list .list .mv_title {
    font-size: 3.4vw;
    padding: 2vw 5vw 3vw;
  }
}