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

body {
  line-height: 1;
}

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

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

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

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html {
  font-size: 62.5%;
}

body {
  background: #fff;
  color: #333;
  font-family: "Zen Kaku Gothic New", sans-serif, メイリオ, Meiryo, verdana, ヒラギノ角ゴ Pro W3, Hiragino Kaku Gothic Pro, Osaka, ＭＳ\ Ｐゴシック, MS PGothic, Sans-Serif;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img {
  vertical-align: bottom;
}

ul li {
  list-style: none;
}

input[type=text],
input[type=tel],
input[type=checkbox],
input[type=submit],
button,
select,
textarea {
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  cursor: pointer;
  /*&:focus {
  	outline: none;
  	border: 1px solid #FF0037 !important;
  }*/
}
input[type=text]::-moz-placeholder, input[type=tel]::-moz-placeholder, input[type=checkbox]::-moz-placeholder, input[type=submit]::-moz-placeholder, button::-moz-placeholder, select::-moz-placeholder, textarea::-moz-placeholder {
  color: #909090;
}
input[type=text]::placeholder,
input[type=tel]::placeholder,
input[type=checkbox]::placeholder,
input[type=submit]::placeholder,
button::placeholder,
select::placeholder,
textarea::placeholder {
  color: #909090;
}

input::-ms-clear {
  display: none;
}

input:focus::-moz-placeholder {
  color: transparent;
}

input:focus::placeholder {
  color: transparent;
}

textarea:focus::-moz-placeholder {
  color: transparent;
}

textarea:focus::placeholder {
  color: transparent;
}

/* ======================================================
	共通keyframes
====================================================== */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/* ======================================================
	PC用設定
====================================================== */
@media print, screen and (min-width: 768px) {
  body {
    color: #000;
    line-height: 1.7;
  }
  body.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  body.customize-support .header {
    top: 32px;
  }
  img {
    max-width: 100%;
  }
  .wrapper {
    overflow: hidden;
    position: relative;
    padding-top: 80px;
  }
  sup {
    font-size: 12px;
    vertical-align: top;
  }
  a {
    transition: all 0.2s;
  }
  a:link {
    color: #000;
    text-decoration: underline;
  }
  a:visited {
    color: #000;
  }
  a:hover {
    color: #006400;
  }
  a:active {
    color: #000;
  }
  .sp {
    display: none;
  }
  .header {
    box-sizing: border-box;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: #fff;
  }
  .header .header__inner {
    position: relative;
    height: 100%;
  }
  .header .header__title {
    position: absolute;
    top: 19px;
    left: 20px;
  }
  .header .header__title a {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #000 !important;
  }
  .header .header__title a img {
    width: 64px;
  }
  .header .header__title a span {
    display: block;
    margin-left: 15px;
    font-size: 12px;
    font-weight: 500;
    line-height: 1;
  }
  .header .header__title a span strong {
    display: block;
    margin-top: 5px;
    font-size: 22px;
    font-weight: 700;
  }
  .header .header__menu {
    display: none;
  }
  .header .header__nav {
    display: block !important;
    position: absolute;
    top: 16px;
    right: 20px;
  }
  .header .header__nav ul.header__nav-list {
    display: flex;
    align-items: center;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item {
    padding-top: 8px;
    transition: all 0.2s;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item + li {
    margin-left: 30px;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item a.header__nav-link {
    display: flex;
    align-items: center;
    position: relative;
    height: 100%;
    padding-bottom: 9px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 500;
    line-height: 1;
    transition: all 0.2s;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item a.header__nav-link:hover {
    font-weight: 700;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item a.header__nav-link:hover::before {
    opacity: 1;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item a.header__nav-link::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #006400;
    opacity: 0;
    transition: all 0.2s;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item ul.header__subnav-list {
    display: none;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 153px;
    height: 48px;
    padding-left: 15px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a:hover {
    background-color: #006400;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a::before {
    content: none;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a span {
    display: none;
  }
  body#top a.header__nav-link--top {
    font-weight: 700 !important;
    color: #006400;
  }
  body#top a.header__nav-link--top::before {
    opacity: 1 !important;
  }
  body#company a.header__nav-link--company {
    font-weight: 700 !important;
    color: #006400;
  }
  body#company a.header__nav-link--company::before {
    opacity: 1 !important;
  }
  body#business a.header__nav-link--business {
    font-weight: 700 !important;
    color: #006400;
  }
  body#business a.header__nav-link--business::before {
    opacity: 1 !important;
  }
  body#topics a.header__nav-link--topics {
    font-weight: 700 !important;
    color: #006400;
  }
  body#topics a.header__nav-link--topics::before {
    opacity: 1 !important;
  }
  body#recruit a.header__nav-link--recruit {
    font-weight: 700 !important;
    color: #006400;
  }
  body#recruit a.header__nav-link--recruit::before {
    opacity: 1 !important;
  }
  .breadcrumb {
    padding: 0 55px;
  }
  .breadcrumb ul.breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item {
    position: relative;
    margin: 5px 15px 0 0;
    padding-right: 25px;
    font-size: 12px;
    color: #006400;
    line-height: 1.3;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item:last-child {
    margin-right: 0;
    padding-right: 0;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item:last-child::after {
    content: none;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item::after {
    content: "＞";
    position: absolute;
    top: 0;
    right: 0;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item a {
    transition: all 0.2s;
  }
  .contents {
    padding: 0 20px;
  }
  .contents__header {
    margin-top: 15px;
  }
  .contents__header h2.contents__title {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    height: 150px;
    padding: 30px;
    font-size: 40px;
    font-weight: 900;
    color: #FFF;
    line-height: 1;
    background: linear-gradient(90deg, #006400 0%, #24A524 102.22%);
    border-radius: 10px;
  }
  .contents__header--img {
    position: relative;
    margin-top: 15px;
    padding-bottom: 20px;
  }
  .contents__header--img::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 20px;
    width: calc(100% - 40px);
    height: 370px;
    background: linear-gradient(90deg, #006400 0%, #006400 40%, #24A524 102.22%);
    border-radius: 10px;
  }
  .contents__header--img .contents__header-inner {
    position: relative;
    width: 100%;
    height: 350px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;
  }
  .contents__header--img .contents__header-inner::before {
    content: "";
    display: block;
    position: absolute;
    top: 190px;
    left: 0;
    width: 10px;
    height: 10px;
    background: url("../img/mask_white.svg") center center no-repeat;
    background-size: cover;
  }
  .contents__header--img .contents__header-inner::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 440px;
    width: 10px;
    height: 10px;
    background: url("../img/mask_green.svg") center center no-repeat;
    background-size: cover;
  }
  .contents__header--img h2.contents__title {
    box-sizing: border-box;
    position: absolute;
    top: 200px;
    left: 0;
    width: 440px;
    height: 170px;
    padding: 80px 0 0 70px;
    background: #fff;
    border-radius: 0 10px 0 0;
  }
  .contents__header--img h2.contents__title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 20px;
    width: 420px;
    height: 20px;
    background: #006400;
    border-radius: 0 10px 0 10px;
  }
  .contents__header--img h2.contents__title::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 170px;
    background: #006400;
    border-radius: 0 10px 0 10px;
  }
  .contents__header--img h2.contents__title span {
    display: block;
    position: relative;
    padding-left: 25px;
    font-size: 40px;
    font-weight: 900;
    line-height: 1;
  }
  .contents__header--img h2.contents__title span::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 8px;
    height: 42px;
    background: #24A524;
    border-radius: 100vmax;
  }
  .contents__header--img h2.contents__title span::after {
    content: "";
    display: block;
    position: absolute;
    top: -60px;
    right: 20px;
    width: 10px;
    height: 10px;
    background: url("../img/mask_green.svg") center center no-repeat;
    background-size: cover;
    transform: rotate(-180deg);
  }
  .contents__inner {
    max-width: 1100px;
    margin: 60px auto 0;
  }
  .contents__columns {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    gap: 5.454%;
  }
  .contents__main {
    width: calc(100% - (220px + 5.454%));
  }
  .contents__side {
    width: 220px;
  }
  .contents__side h2.contents__side-title {
    position: relative;
    padding: 0 0 15px 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    border-bottom: 1px solid #006400;
  }
  .contents__side h2.contents__side-title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 20px;
    background: #24A524;
    border-radius: 100vmax;
  }
  .contents__side ul.contents__side-list {
    margin-top: 15px;
  }
  .contents__side ul.contents__side-list li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 50px;
    padding: 10px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    color: #000;
    transition: all 0.2s;
  }
  .contents__side ul.contents__side-list li a:hover {
    font-weight: 700;
    color: #fff;
    background: #006400;
  }
  .contents__side ul.contents__side-list li a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 11px);
    right: 8px;
    width: 22px;
    height: 22px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_green.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
  .contents__footer {
    box-sizing: border-box;
    max-width: 1100px;
    margin: 60px auto 0;
    background: #F5F5F5;
    border-radius: 10px;
  }
  .contents__footer .link--arrow {
    margin: 0 auto;
  }
  .contents__footer .link--arrow a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 26px;
    text-decoration: none;
  }
  .contents__footer .link--arrow a:hover span::after {
    background-color: #006400;
  }
  .contents__footer .link--arrow a span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: 28px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
  }
  .contents__footer .link--arrow a span::after {
    content: "";
    display: block;
    width: 28px;
    height: 28px;
    margin-left: 10px;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  .block--contact {
    margin-top: 100px;
    padding: 0 20px;
  }
  .block--contact .block__inner {
    box-sizing: border-box;
    max-width: 1100px;
    margin: 0 auto;
    padding: 60px 20px;
    border-radius: 10px;
    background: #E6F6EB;
  }
  .block--contact h2.contact__title {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.4px;
  }
  .block--contact h2.contact__title::after {
    content: "";
    display: block;
    width: 97px;
    height: 8px;
    margin: 18px auto 0;
    background: url("../img/ic_h2.svg") center center no-repeat;
    background-size: contain;
  }
  .block--contact p.contact__text {
    margin-top: 26px;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
  }
  .block--contact p.contact__tel {
    margin-top: 26px;
    text-align: center;
    font-family: Outfit;
    line-height: 1;
  }
  .block--contact p.contact__tel span {
    font-size: 28px;
    font-weight: 400;
  }
  .block--contact p.contact__tel strong {
    margin-left: 15px;
    font-size: 44px;
    font-weight: 700;
  }
  .block--contact .btn--contact {
    max-width: 480px;
    margin: 35px auto 0;
  }
  .block--contact .btn--contact a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    padding: 35px 40px 35px 30px;
    text-decoration: none;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    background: #263BA2;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  .block--contact .btn--contact a:hover {
    background: #006400;
  }
  .block--contact .btn--contact a:hover::after {
    background-image: url("../img/ic_arrow_green.svg");
  }
  .block--contact .btn--contact a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 30px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 10px 10px;
    border-radius: 100vmax;
  }
  .footer {
    margin-top: 100px;
    padding: 0 20px;
  }
  .footer .footer__wrapper {
    padding: 0 20px;
    background: #F5F5F5;
    border-radius: 10px 10px 0 0;
  }
  .footer .footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 1100px;
    margin: 0 auto;
    padding: 60px 0;
  }
  .footer .footer__inner .footer__block {
    box-sizing: border-box;
  }
  .footer .footer__inner .footer__block:first-child {
    display: flex;
    order: 2;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list {
    width: 230px;
    border-top: 1px solid #fff;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list:last-child {
    margin-left: 50px;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list li {
    border-bottom: 1px solid #fff;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 70px;
    padding-right: 40px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    transition: all 0.2s;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list li a:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list li a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 0;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_black.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
  .footer .footer__inner .footer__block:last-child {
    order: 1;
    position: relative;
    padding-right: 15px;
  }
  .footer .footer__inner .footer__block:last-child p.footer__title {
    display: table;
  }
  .footer .footer__inner .footer__block:last-child p.footer__title a {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #000;
  }
  .footer .footer__inner .footer__block:last-child p.footer__title a img {
    width: 94px;
  }
  .footer .footer__inner .footer__block:last-child p.footer__title a span {
    display: block;
    margin-left: 15px;
    font-size: 18px;
    font-weight: 500;
    line-height: 1;
  }
  .footer .footer__inner .footer__block:last-child p.footer__title a span strong {
    display: block;
    margin-top: 5px;
    font-size: 33px;
    font-weight: 700;
  }
  .footer .footer__inner .footer__block:last-child p.footer__text {
    margin-top: 20px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.7;
  }
  .footer .footer__inner .footer__block:last-child p.footer__copyright {
    margin-top: 30px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
  }
  h3.section__title {
    font-size: 24px;
    font-weight: 700;
  }
  h3.section__title--center {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
  }
  h4.section__title {
    font-size: 22px;
    font-weight: 700;
  }
  h4.section__title strong {
    font-weight: 700;
  }
  h5.section__title {
    font-size: 20px;
    font-weight: 700;
  }
  h5.section__title--border {
    position: relative;
    padding-bottom: 10px;
    font-size: 20px;
    font-weight: 700;
  }
  h5.section__title--border::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 252px;
    height: 3px;
    background: #006400;
  }
  h5.section__title--border::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #006400;
  }
  h6.section__title {
    font-size: 18px;
    font-weight: 700;
  }
  h6.section__title--center {
    text-align: center;
    font-size: 18px;
    font-weight: 700;
  }
  p.section__title {
    font-size: 16px;
    font-weight: 700;
  }
  p.section__text--lead {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
  }
  p.section__text {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
  }
  p.section__text--note {
    font-size: 12px;
    font-weight: 400;
    line-height: 2;
  }
  ul.list--disc li {
    box-sizing: border-box;
    position: relative;
    padding-left: 0.75em;
    font-size: 14px;
  }
  ul.list--disc li:before {
    content: "•";
    position: absolute;
    top: 0;
    left: 0;
  }
  ul.list--disc li + li {
    margin-top: 0.1em;
  }
  ul.modal__list li.modal__item a.modal-link {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 20px;
    text-decoration: none;
    color: #000;
    background-color: #F5F5F5;
    border-radius: 10px;
    transition: all 0.2s;
  }
  ul.modal__list li.modal__item a.modal-link:hover {
    background-color: #E6F6EB;
  }
  ul.modal__list li.modal__item a.modal-link:hover::after {
    background-color: #006400;
  }
  ul.modal__list li.modal__item a.modal-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 25px;
    right: 20px;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_blank_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 12px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  ul.modal__list li.modal__item p.modal-link__title {
    box-sizing: border-box;
    width: calc(100% - 38px);
    padding: 9px 10px 10px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.1;
    background: #FFF;
    border-radius: 4px;
  }
  ul.modal__list li.modal__item p.modal-link__text {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 400;
  }
  ul.modal__list li.modal__item ul.modal-link__taglist {
    display: flex;
    margin-top: 15px;
  }
  ul.modal__list li.modal__item ul.modal-link__taglist li {
    box-sizing: border-box;
    width: 70px;
    padding: 5px 10px 7px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #A9A9A9;
    border-radius: 2px;
  }
  ul.modal__list li.modal__item ul.modal-link__taglist li + li {
    margin-left: 10px;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist {
    margin-top: 10px;
    font-size: 14px;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist .modal-link__info {
    display: flex;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist .modal-link__info dt {
    position: relative;
    width: 5em;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist .modal-link__info dt::after {
    content: "：";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
  }
  .btn {
    display: table;
    min-width: 200px;
  }
  .btn a,
  .btn span {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    padding: 16px 50px 16px 20px;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    background: #000;
    border-radius: 100vmax;
    transition: all 0.2s;
    cursor: pointer;
  }
  .btn a:hover,
  .btn span:hover {
    background: #006400;
  }
  .btn--arrow a:hover::after {
    background-image: url("../img/ic_arrow_green.svg");
  }
  .btn--arrow a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_black.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
  .btn--blank a:hover::after {
    background-color: #EE315D;
  }
  .btn--blank a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #002F6B;
    background-image: url("../img/ic_blank_w.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 10px 10px;
    border-radius: 100vmax;
  }
  .btn--anchor a:hover::after {
    background-color: #EE315D;
  }
  .btn--anchor a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #002F6B;
    background-image: url("../img/ic_anchor_w.svg");
    background-position: center top 11px;
    background-repeat: no-repeat;
    background-size: 12px 7px;
    border-radius: 100vmax;
  }
  table.table {
    width: 100%;
    border-top: 1px solid #EBEBEB;
  }
  table.table th,
  table.table td {
    padding: 15px 22px;
    font-size: 14px;
    line-height: 2;
    vertical-align: top;
    border-bottom: 1px solid #EBEBEB;
  }
  table.table th {
    box-sizing: border-box;
    width: 220px;
    padding: 15px 22px;
    text-align: left;
    font-weight: 700;
    background-color: #F5F5F5;
  }
  table.table td {
    padding-right: 0;
  }
  p.not-applicable {
    padding: 80px 0;
    text-align: center;
    border-bottom: 1px solid #000;
  }
  p.not-applicable span.title {
    font-size: 30px;
    font-family: Montserrat;
    font-weight: 700;
  }
  p.not-applicable span.text {
    display: block;
    font-size: 16px;
    font-weight: 400;
  }
  .pagination {
    margin-top: 40px;
  }
  .pagination ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
  }
  .pagination ul li {
    width: 30px;
    height: 30px;
    font-size: 14px;
    line-height: 1;
  }
  .pagination ul li a,
  .pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .pagination ul li a {
    text-decoration: none;
    font-weight: 400;
    transition: all 0.2s;
  }
  .pagination ul li a:hover {
    color: #006400;
  }
  .pagination ul li span {
    font-size: 15px;
    font-weight: 700;
  }
  .pagination ul li.prev,
  .pagination ul li.next {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 8px 14px;
  }
  .pagination ul li.prev a,
  .pagination ul li.next a {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
  }
  .pagination ul li.prev {
    background-image: url("../img/bg_prev_black.svg");
  }
  .pagination ul li.prev:hover {
    background-image: url("../img/bg_prev_green.svg");
  }
  .pagination ul li.next {
    background-image: url("../img/bg_next_black.svg");
  }
  .pagination ul li.next:hover {
    background-image: url("../img/bg_next_green.svg");
  }
  section.default h4 {
    position: relative;
    padding-bottom: 10px;
    font-size: 20px;
    font-weight: 700;
  }
  section.default h4::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 252px;
    height: 3px;
    background: #006400;
  }
  section.default h4::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #006400;
  }
  section.default h5 {
    position: relative;
    padding-left: 12px;
    font-size: 16px;
    font-weight: 700;
  }
  section.default h5::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 9px);
    left: 0;
    width: 4px;
    height: 20px;
    background: #006400;
    border-radius: 100vmax;
  }
  section.default h6 {
    font-size: 14px;
    font-weight: 700;
  }
  section.default p {
    font-size: 14px;
    font-weight: 400;
    line-height: 2;
  }
  section.default figure {
    overflow: hidden;
  }
  section.default figure img.alignleft {
    float: left;
  }
  section.default figure img.alignright {
    float: right;
  }
  section.default figure img.aligncenter {
    display: table;
    margin: 0 auto;
  }
  section.default ul li {
    box-sizing: border-box;
    position: relative;
    padding-left: 0.75em;
    font-size: 14px;
  }
  section.default ul li:before {
    content: "•";
    position: absolute;
    top: 0;
    left: 0;
  }
  section.default ul li + li {
    margin-top: 0.1em;
  }
  section.default ol {
    counter-reset: number;
    list-style: none;
  }
  section.default ol li {
    counter-increment: number;
    box-sizing: border-box;
    position: relative;
    padding-left: 1.2em;
    font-size: 14px;
  }
  section.default ol li::before {
    content: counter(number) ".";
    position: absolute;
    top: 0;
    left: 0;
  }
  section.default ol li + li {
    margin-top: 0.1em;
  }
  section.default table {
    width: 100%;
    border: 1px solid #EBEBEB;
  }
  section.default table th,
  section.default table td {
    padding: 15px 22px;
    font-size: 14px;
    line-height: 2;
    vertical-align: top;
    border: 1px solid #EBEBEB;
  }
  section.default table th {
    box-sizing: border-box;
    padding: 15px 22px;
    text-align: left;
    font-weight: 700;
    background-color: #F5F5F5;
  }
  section.default table td {
    padding-right: 0;
  }
  section.default * + h4 {
    margin-top: 1.8em;
  }
  section.default * + h5 {
    margin-top: 1.6em;
  }
  section.default * + h6 {
    margin-top: 0.8em;
  }
  section.default * + p {
    margin-top: 0.2em;
  }
  section.default * + figure,
  section.default * + ul,
  section.default * + ol,
  section.default * + table {
    margin-top: 30px;
  }
  section.default h4 + p {
    margin-top: 1.6em;
  }
  .section .section__inner {
    max-width: 1100px;
    margin: 0 auto;
  }
  body.top .mainvisual--top {
    box-sizing: border-box;
    position: relative;
    padding: 0 20px;
  }
  body.top .mainvisual--top figure.mainvisual__img {
    position: relative;
    z-index: 0;
  }
  body.top .mainvisual--top figure.mainvisual__img img {
    width: 100%;
  }
  body.top .mainvisual--top p.mainvisual__text--lead {
    position: absolute;
    z-index: 1;
    top: 4.6875vw;
    left: 3.90625vw;
    font-size: 3.28125vw;
    font-weight: 700;
    line-height: 1.54;
    letter-spacing: 0.1em;
  }
  body.top .mainvisual--top p.mainvisual__text--lead span {
    color: #006400;
  }
  body.top .mainvisual--top p.mainvisual__text {
    position: absolute;
    z-index: 1;
    top: 21.09375vw;
    left: 3.90625vw;
    font-size: 1.25vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  @keyframes scroll-effect {
    60% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(100%);
    }
  }
  body.top .mainvisual--top .scroll {
    position: absolute;
    left: 4.296875vw;
    bottom: 0;
    width: 2px;
    height: 10.15625vw;
    z-index: 1;
  }
  body.top .mainvisual--top .scroll .scroll__text {
    position: absolute;
    top: -3em;
    left: -1.3em;
    font-size: 0.9375vw;
    font-family: Outfit;
    font-weight: 600;
    color: #000;
    transform: rotate(-90deg);
  }
  body.top .mainvisual--top .scroll .scroll__bar {
    position: absolute;
    overflow: hidden;
    width: 2px;
    height: 10.15625vw;
    top: 0;
    left: 0;
    background: #000;
  }
  body.top .mainvisual--top .scroll .scroll__bar::before {
    content: "";
    position: absolute;
    width: 2px;
    height: 10.15625vw;
    transform: translateY(-100%);
    right: 0;
    background: #24A524;
    animation-name: scroll-effect;
    animation-duration: 1.8s;
    animation-delay: 0s;
    animation-timing-function: cubic-bezier(0.3, 0.4, 0.1, 1);
    animation-iteration-count: infinite;
  }
  body.top .section .section__inner {
    max-width: 1100px;
    margin: 0 auto;
  }
  body.top h2.section__title--top {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.4px;
  }
  body.top h2.section__title--top::after {
    content: "";
    display: block;
    width: 97px;
    height: 8px;
    margin: 18px auto 0;
    background: url("../img/ic_h2.svg") center center no-repeat;
    background-size: contain;
  }
  body.top .section--business {
    margin-top: 68px;
  }
  body.top .section--business p.section__text--lead {
    margin-top: 30px;
    text-align: center;
  }
  body.top .section--business ul.business__list {
    display: flex;
    margin-top: 35px;
  }
  body.top .section--business ul.business__list li.business__item {
    width: 23.6365%;
  }
  body.top .section--business ul.business__list li.business__item + li {
    margin-left: 1.818%;
  }
  body.top .section--business ul.business__list li.business__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 30px 0 36px;
    text-decoration: none;
    color: #000;
    border-radius: 10px;
    background: #F5F5F5;
    transition: all 0.2s;
  }
  body.top .section--business ul.business__list li.business__item a:hover {
    background: #E6F6EB;
  }
  body.top .section--business ul.business__list li.business__item a:hover figure.business__img::after {
    background-color: #006400;
  }
  body.top .section--business ul.business__list li.business__item p.business__number {
    position: absolute;
    z-index: 1;
    top: 15px;
    left: 15px;
    font-family: Outfit;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }
  body.top .section--business ul.business__list li.business__item figure.business__img {
    position: relative;
    width: 120px;
    margin: 0 auto;
  }
  body.top .section--business ul.business__list li.business__item figure.business__img::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.top .section--business ul.business__list li.business__item h3.business__title {
    margin-top: 20px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
  }
  body.top .section--business ul.business__list li.business__item p.business__text {
    margin-top: 15px;
    padding: 0 30px;
    font-size: 14px;
    font-weight: 400;
  }
  body.top .section--greeting,
  body.top .section--recruit {
    margin-top: 80px;
  }
  body.top .section--greeting .column__wrapper,
  body.top .section--recruit .column__wrapper {
    display: flex;
    justify-content: space-between;
  }
  body.top .section--greeting .column__wrapper .column:first-child,
  body.top .section--recruit .column__wrapper .column:first-child {
    width: 60%;
    border-radius: 10px;
    background-position: top right;
    background-repeat: no-repeat;
  }
  body.top .section--greeting .column__wrapper .column:last-child,
  body.top .section--recruit .column__wrapper .column:last-child {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 39.091%;
    padding: 40px 6%;
    background: #F5F5F5;
    border-radius: 10px;
  }
  body.top .section--greeting figure img,
  body.top .section--recruit figure img {
    opacity: 0;
  }
  body.top .section--greeting p.section__text--lead,
  body.top .section--recruit p.section__text--lead {
    margin-top: 30px;
  }
  body.top .section--greeting .btn,
  body.top .section--recruit .btn {
    margin: 40px auto 0;
  }
  body.top .section--greeting .column__wrapper {
    display: flex;
    justify-content: space-between;
  }
  body.top .section--greeting .column__wrapper .column:first-child {
    background-image: url("../../img/top/img_greeting.jpg");
  }
  body.top .section--greeting .column__wrapper .column:last-child {
    margin-left: 0.909%;
  }
  body.top .section--staff {
    margin-top: 128px;
  }
  body.top .section--staff .section__wrapper {
    position: relative;
    padding: 80px 20px 40px;
    background: #E6F6EB;
    border-radius: 10px;
  }
  body.top .section--staff .section__wrapper::before {
    content: "";
    display: block;
    position: absolute;
    top: -48px;
    left: calc(50% - 165px);
    width: 330px;
    height: 48px;
    background: url("../../img/top/bg_staff.png") center center no-repeat;
  }
  body.top .section--staff h2.section__title--top {
    position: absolute;
    top: -15px;
    left: calc(50% - 90px);
    width: 180px;
  }
  body.top .section--staff ul.staff__list {
    display: flex;
    flex-wrap: wrap;
  }
  body.top .section--staff ul.staff__list li.staff__item {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 48.182%;
    padding: 14px 30px 14px 30px;
    text-decoration: none;
    color: #000;
    border-radius: 10px;
    background: #fff;
    transition: all 0.2s;
  }
  body.top .section--staff ul.staff__list li.staff__item:nth-child(2n) {
    margin-left: 3.636%;
  }
  body.top .section--staff ul.staff__list li.staff__item:nth-child(n+3) {
    margin-top: 3.636%;
  }
  body.top .section--staff ul.staff__list li.staff__item figure.staff__img {
    width: 34.0426%;
    padding-bottom: 16px;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list {
    width: 59.5744%;
    margin-left: 6.383%;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__name {
    display: flex;
    align-items: center;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__name dt {
    margin-right: 15px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__name dd {
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item {
    display: flex;
    align-items: flex-start;
    margin-top: 20px;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item + .staff-info__item {
    margin-top: 10px;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item dt {
    box-sizing: border-box;
    width: 70px;
    padding: 5px 10px 7px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #006400;
    border-radius: 2px;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item dd {
    width: calc(100% - 80px);
    margin-left: 10px;
    padding-top: 2px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }
  body.top .section--staff .btn {
    margin: 40px auto 0;
  }
  body.top .section--recruit .column__wrapper .column:last-child {
    order: 1;
    padding: 40px 6.5%;
  }
  body.top .section--recruit .column__wrapper .column:first-child {
    order: 2;
    margin-left: 0.909%;
    background-image: url("../../img/top/img_recruit.jpg");
  }
  body.top .section--topics {
    margin-top: 100px;
  }
  body.top .section--topics .column__wrapper {
    display: flex;
    justify-content: space-between;
  }
  body.top .section--topics .column__wrapper > .column:first-child {
    width: 260px;
  }
  body.top .section--topics .column__wrapper > .column:last-child {
    width: calc(100% - 300px);
    margin-left: 40px;
  }
  body.top .section--topics ul.topics__list {
    border-top: 1px solid #EBEBEB;
  }
  body.top .section--topics ul.topics__list li {
    display: flex;
    align-items: flex-start;
    padding: 25px 0;
    border-bottom: 1px solid #EBEBEB;
  }
  body.top .section--topics ul.topics__list li .topics__text-block {
    width: calc(100% - 225px);
    margin-left: 15px;
  }
  body.top .section--topics ul.topics__list li p.topics__date {
    width: 110px;
    padding-top: 0.1em;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.top .section--topics ul.topics__list li p.topics__cat {
    box-sizing: border-box;
    width: 100px;
    padding: 4px;
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    border-radius: 100vmax;
  }
  body.top .section--topics ul.topics__list li p.new {
    background-color: #D0F3B2;
  }
  body.top .section--topics ul.topics__list li p.column {
    background-color: #F3F17D;
  }
  body.top .section--topics ul.topics__list li p.report {
    background-color: #CBEDF6;
  }
  body.top .section--topics ul.topics__list li p.article {
    background-color: #D7CCF3;
  }
  body.top .section--topics ul.topics__list li p.topics__title {
    margin-top: -0.25em;
    font-size: 16px;
    font-weight: 400;
  }
  body.top .section--topics ul.topics__list li.report a,
  body.top .section--topics ul.topics__list li.article a {
    text-decoration: none;
    pointer-events: none;
  }
  body.top .section--topics .btn {
    margin: 40px auto 0;
  }
  body.company .contents__header--img .contents__header-inner {
    background-image: url("../../img/company/bg_title.jpg");
  }
  body.company ul.company__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
  }
  body.company ul.company__list li.company__item {
    width: 31.8186666667%;
    margin-right: 2.272%;
  }
  body.company ul.company__list li.company__item:nth-child(3n) {
    margin-right: 0;
  }
  body.company ul.company__list li.company__item:nth-child(n+4) {
    margin-top: 2.272%;
  }
  body.company ul.company__list li.company__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    padding: 10px 10px 60px;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 10px;
    transition: all 0.2s;
  }
  body.company ul.company__list li.company__item a:hover {
    background: #E6F6EB;
  }
  body.company ul.company__list li.company__item a:hover p.text--arrow::after {
    background-color: #006400;
  }
  body.company ul.company__list li.company__item figure.company__img img {
    border-radius: 10px;
  }
  body.company ul.company__list li.company__item p.company__title {
    margin-top: 15px;
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
  }
  body.company ul.company__list li.company__item p.company__text {
    margin-top: 10px;
    padding: 0 10px;
    font-size: 14px;
    font-weight: 400;
  }
  body.company ul.company__list li.company__item p.text--arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 20px;
    left: 20px;
    height: 28px;
    padding-left: 38px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }
  body.company ul.company__list li.company__item p.text--arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    left: 0;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.outline .contents__side ul.contents__side-list li a.contents__side-link--outline {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.outline .section__img img {
    border-radius: 10px;
  }
  body.outline table.table {
    margin-top: 40px;
  }
  body.access .contents__side ul.contents__side-list li a.contents__side-link--access {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.access .access__map {
    width: 100%;
    height: 400px;
  }
  body.access .access__address dl.list__info {
    margin-top: 30px;
  }
  body.access .access__address dl.list__info .block {
    display: flex;
    align-items: flex-start;
  }
  body.access .access__address dl.list__info .block dt {
    box-sizing: border-box;
    width: 70px;
    padding: 5px 10px 7px;
    text-align: center;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    background: #E6F6EB;
    border-radius: 2px;
  }
  body.access .access__address dl.list__info .block dd {
    width: calc(100% - 80px);
    margin-left: 10px;
    padding-top: 2px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
  }
  body.access .access__address dl.list__info .block + .block {
    margin-top: 10px;
  }
  body.access .access__transportation {
    box-sizing: border-box;
    margin-top: 30px;
    padding: 20px;
    background: #F5F5F5;
    border-radius: 10px;
  }
  body.access .access__transportation dl.list__info {
    margin-top: 15px;
  }
  body.access .access__transportation dl.list__info .block {
    display: flex;
    align-items: center;
  }
  body.access .access__transportation dl.list__info .block dt {
    box-sizing: border-box;
    width: 170px;
    padding: 9px 10px 11px 34px;
    text-align: center;
    font-size: 14px;
    font-weight: 400;
    line-height: 1;
    border-radius: 2px;
    background: #fff url("../img/ic_train.svg") left 8px center no-repeat;
    background-size: 17px 20px;
    border-radius: 2px;
  }
  body.access .access__transportation dl.list__info .block dd {
    width: calc(100% - 180px);
    margin-left: 10px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
  }
  body.access .access__transportation dl.list__info .block + .block {
    margin-top: 10px;
  }
  body.group .contents__side ul.contents__side-list li a.contents__side-link--group {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.group h3.section__title {
    font-size: 30px;
    line-height: 1.2;
  }
  body.group h5.section__title--border {
    margin-top: 40px;
  }
  body.group h6.section__title--center {
    margin-top: 40px;
  }
  body.group p.section__text {
    margin-top: 33px;
  }
  body.group figure.section__img {
    display: table;
    margin: 33px auto;
  }
  body.group ul.group__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
  }
  body.group ul.group__list li.group__item {
    width: 48.7805%;
  }
  body.group ul.group__list li.group__item:nth-child(2n) {
    margin-left: 2.439%;
  }
  body.group ul.group__list li.group__item:nth-child(n+3) {
    margin-top: 2.439%;
  }
  body.group ul.group__list li.group__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    padding: 20px;
    width: 100%;
    height: 100%;
    padding-bottom: 65px;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 10px;
    transition: all 0.2s;
  }
  body.group ul.group__list li.group__item a:hover {
    background: #E6F6EB;
  }
  body.group ul.group__list li.group__item a:hover p.text--arrow::after {
    background-color: #006400;
  }
  body.group ul.group__list li.group__item .group__item-inner {
    box-sizing: border-box;
    padding: 20px;
    width: 100%;
    height: 100%;
    background: #F5F5F5;
    border-radius: 10px;
  }
  body.group ul.group__list li.group__item p.group__title {
    width: 100%;
    padding-bottom: 17px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 1px solid #000;
  }
  body.group ul.group__list li.group__item p.group__title span.sub {
    display: block;
    margin-top: 5px;
    font-size: 12px;
    font-weight: 400;
  }
  body.group ul.group__list li.group__item ul.list--disc {
    margin-top: 15px;
  }
  body.group ul.group__list li.group__item p.group__text {
    width: 100%;
    margin-top: 15px;
    font-size: 14px;
    font-weight: 400;
  }
  body.group ul.group__list li.group__item p.text--arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 20px;
    right: 20px;
    height: 28px;
    padding-left: 38px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }
  body.group ul.group__list li.group__item p.text--arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    left: 0;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.group table.table {
    margin-top: 40px;
  }
  body.mission .contents__side ul.contents__side-list li a.contents__side-link--mission {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.mission p.section__text {
    margin-top: 33px;
  }
  body.mission ul.mission__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 46px;
  }
  body.mission ul.mission__list li.mission__item {
    width: 30.732%;
    margin-right: 3.902%;
  }
  body.mission ul.mission__list li.mission__item:nth-child(3n) {
    margin-right: 0;
  }
  body.mission ul.mission__list li.mission__item:nth-child(n+4) {
    margin-top: 3.902%;
  }
  body.mission ul.mission__list li.mission__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 30px 15px;
    text-decoration: none;
    color: #000;
    border-radius: 10px;
    background: #F5F5F5;
    transition: all 0.2s;
  }
  body.mission ul.mission__list li.mission__item a:hover {
    background: #E6F6EB;
  }
  body.mission ul.mission__list li.mission__item a:hover figure.business__img::after {
    background-color: #006400;
  }
  body.mission ul.mission__list li.mission__item p.mission__number {
    position: absolute;
    z-index: 1;
    top: 15px;
    left: 15px;
    font-family: Outfit;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }
  body.mission ul.mission__list li.mission__item figure.mission__img {
    position: relative;
    width: 120px;
    margin: 0 auto;
  }
  body.mission ul.mission__list li.mission__item figure.mission__img::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_blank_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 12px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.mission ul.mission__list li.mission__item h3.mission__title {
    margin-top: 20px;
    text-align: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.5;
  }
  body.mission .mission__content {
    padding: 25px 30px 30px;
  }
  body.mission .mission__content p {
    font-size: 14px;
    font-weight: 400;
  }
  body.greeting .contents__side ul.contents__side-list li a.contents__side-link--greeting {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.greeting .section__img img {
    border-radius: 10px;
  }
  body.greeting h3.section__title {
    margin-top: 30px;
  }
  body.greeting p.section__text {
    margin-top: 25px;
  }
  body.staff .contents__side ul.contents__side-list li a.contents__side-link--staff {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.staff h5.section__title--border {
    margin-top: 50px;
  }
  body.staff ul.staff__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 30px;
  }
  body.staff ul.staff__list li.staff__item {
    width: 30.732%;
    margin-right: 3.902%;
  }
  body.staff ul.staff__list li.staff__item:nth-child(3n) {
    margin-right: 0;
  }
  body.staff ul.staff__list li.staff__item:nth-child(n+4) {
    margin-top: 3.902%;
  }
  body.staff ul.staff__list li.staff__item figure.img img {
    border-radius: 10px;
  }
  body.staff ul.staff__list li.staff__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 10px 10px 30px;
    text-decoration: none;
    color: #000;
    background-color: #F5F5F5;
    border-radius: 10px;
    transition: all 0.2s;
  }
  body.staff ul.staff__list li.staff__item a:hover {
    background-color: #E6F6EB;
  }
  body.staff ul.staff__list li.staff__item a:hover::after {
    background-color: #006400;
  }
  body.staff ul.staff__list li.staff__item a::after {
    content: "";
    display: block;
    position: absolute;
    top: 15px;
    right: 15px;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_blank_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 12px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.staff ul.staff__list li.staff__item figure.staff__img {
    max-width: 160px;
    margin: 0 auto;
  }
  body.staff ul.staff__list li.staff__item p.name {
    margin-top: 15px;
    text-align: center;
  }
  body.staff ul.staff__list li.staff__item p.name strong {
    display: block;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff ul.staff__list li.staff__item p.name span {
    display: block;
    margin-top: 10px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff .staff__content {
    display: flex;
    flex-wrap: wrap;
    padding: 15px 30px 30px;
  }
  body.staff .staff__content figure.staff__img {
    width: 22.857%;
  }
  body.staff .staff__content dl.staff-info__list {
    width: 74.286%;
    margin-left: 2.857%;
    padding-top: 20px;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__name dt {
    margin-right: 15px;
    font-size: 20px;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__name dd {
    margin-top: 10px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item {
    display: flex;
    align-items: flex-start;
    margin-top: 20px;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item + .staff-info__item {
    margin-top: 10px;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item dt {
    box-sizing: border-box;
    width: 70px;
    padding: 5px 10px 7px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #006400;
    border-radius: 2px;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item dd {
    width: calc(100% - 80px);
    margin-left: 10px;
    padding-top: 2px;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
  }
  body.staff .staff__content .staff__message {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    margin-top: 40px;
    padding: 15px 20px 20px;
    background: #F5F5F5;
    border-radius: 6px;
  }
  body.staff .staff__content .staff__message::before {
    content: "";
    display: block;
    position: absolute;
    top: -21px;
    left: 0;
    width: 110px;
    height: 42px;
    background: #F5F5F5;
    border-radius: 6px 6px 0 0;
  }
  body.staff .staff__content .staff__message p.staff__title {
    position: absolute;
    top: -8px;
    left: 20px;
    font-size: 14px;
    font-weight: 700;
    color: #000;
    line-height: 1;
  }
  body.staff .staff__content .staff__message p.staff__text {
    font-size: 14px;
  }
  body.business .contents__header--img .contents__header-inner {
    background-image: url("../../img/business/bg_title.jpg");
  }
  body.business ul.business__list {
    display: flex;
    margin-top: 45px;
  }
  body.business ul.business__list li.business__item {
    width: calc((100% - 60px) / 4);
  }
  body.business ul.business__list li.business__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 30px 0 36px;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 10px;
    transition: all 0.2s;
  }
  body.business ul.business__list li.business__item a:hover {
    background: #E6F6EB;
  }
  body.business ul.business__list li.business__item a:hover figure.business__img::after {
    background-color: #006400;
  }
  body.business ul.business__list li.business__item p.business__number {
    position: absolute;
    z-index: 1;
    top: 15px;
    left: 15px;
    font-family: Outfit;
    font-size: 28px;
    font-weight: 700;
    line-height: 1;
  }
  body.business ul.business__list li.business__item figure.business__img {
    position: relative;
    width: 120px;
    margin: 0 auto;
  }
  body.business ul.business__list li.business__item figure.business__img::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.business ul.business__list li.business__item h3.business__title {
    margin-top: 20px;
    text-align: center;
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
  }
  body.business ul.business__list li.business__item p.business__text {
    margin-top: 15px;
    padding: 0 30px;
    font-size: 14px;
    font-weight: 400;
  }
  body.business ul.business__list li + li {
    margin-left: 20px;
  }
  body.serial ul.modal__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  body.serial ul.modal__list li.modal__item {
    width: 48.7805%;
  }
  body.serial ul.modal__list li.modal__item:nth-child(2n) {
    margin-left: 2.439%;
  }
  body.serial ul.modal__list li.modal__item:nth-child(n+3) {
    margin-top: 2.439%;
  }
  body.serial .serial__content {
    padding: 15px 30px 30px;
  }
  body.serial .serial__content p.serial__text--lead {
    font-size: 16px;
    font-weight: 400;
  }
  body.serial .serial__content p.serial__text {
    margin-top: 15px;
    font-size: 14px;
    font-weight: 400;
  }
  body.serial .serial__content p.serial__title {
    margin-top: 20px;
    font-size: 16px;
    font-weight: 700;
  }
  body.serial .serial__content ul.list--disc {
    margin-top: 10px;
  }
  body.serial .serial__content p.serial__text--note {
    margin-top: 25px;
    padding: 15px 20px 17px;
    font-size: 12px;
    font-weight: 400;
    background: #F5F5F5;
    border-radius: 6px;
  }
  body.serial_01 .contents__side ul.contents__side-list li a.contents__side-link--serial_01 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.serial_02 .contents__side ul.contents__side-list li a.contents__side-link--serial_02 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.serial_03 .contents__side ul.contents__side-list li a.contents__side-link--serial_03 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.serial_04 .contents__side ul.contents__side-list li a.contents__side-link--serial_04 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.topics .section + .section {
    margin-top: 50px;
  }
  body.topics ul.topics-meta__list {
    display: flex;
    gap: 10px;
    border-bottom: 1px solid #000;
  }
  body.topics ul.topics-meta__list li {
    gap: 10px;
    width: calc(100% - 8px);
  }
  body.topics ul.topics-meta__list li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 46px;
    padding: 10px;
    color: #000;
    text-align: center;
    text-decoration: none;
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    background: #F5F5F5;
    border-radius: 4px 4px 0 0;
    transition: all 0.2s;
  }
  body.topics ul.topics-meta__list li a:hover {
    background: #E6F6EB;
  }
  body.topics ul.topics__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 40px;
  }
  body.topics ul.topics__list li.topics__item {
    width: 49.091%;
  }
  body.topics ul.topics__list li.topics__item:nth-child(2n) {
    margin-left: 1.818%;
  }
  body.topics ul.topics__list li.topics__item:nth-child(n+3) {
    margin-top: 1.818%;
  }
  body.topics ul.topics__list li.topics__item a {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 20px;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 10px;
    transition: all 0.2s;
  }
  body.topics ul.topics__list li.topics__item a:hover {
    background: #E6F6EB;
  }
  body.topics ul.topics__list li.topics__item a:hover p.text--arrow::after {
    background-color: #006400;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block {
    position: relative;
    width: 100%;
    min-width: 0;
    padding-bottom: 45px;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.topics__date {
    margin-bottom: 15px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.topics__title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    padding-bottom: 17px;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 1px solid #000;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.topics__text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    width: 100%;
    margin-top: 15px;
    font-size: 14px;
    font-weight: 400;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.text--arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    height: 28px;
    padding-left: 38px;
    text-decoration: none;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.text--arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    left: 0;
    width: 28px;
    height: 28px;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  body.topics ul.topics__list li.topics__item.report {
    pointer-events: none;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block {
    position: relative;
    width: calc(100% - 150px);
    min-width: 0;
    padding-bottom: 0;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.topics__title {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.topics__text {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.topics__date,
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.text--arrow {
    display: none;
  }
  body.topics ul.topics__list li.topics__item.report figure.topics__img {
    width: 130px;
  }
  body.topics ul.topics__list li.topics__item.article {
    pointer-events: none;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block {
    padding-bottom: 0;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block p.topics__title {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block p.topics__text {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block p.text--arrow {
    display: none;
  }
  body.all ul.topics-meta__list li.all a {
    font-weight: 700;
    background: #bcecd3;
    pointer-events: none;
  }
  body.new ul.topics-meta__list li.new a {
    font-weight: 700;
    background: #D0F3B2;
    pointer-events: none;
  }
  body.column ul.topics-meta__list li.column a {
    font-weight: 700;
    background: #F3F17D;
    pointer-events: none;
  }
  body.report ul.topics-meta__list li.report a {
    font-weight: 700;
    background: #CBEDF6;
    pointer-events: none;
  }
  body.article ul.topics-meta__list li.article a {
    font-weight: 700;
    background: #D7CCF3;
    pointer-events: none;
  }
  body.article h5.topics__year-title {
    position: relative;
    margin-top: 40px;
    padding-bottom: 10px;
    font-size: 20px;
    font-weight: 700;
  }
  body.article h5.topics__year-title::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 252px;
    height: 3px;
    background: #006400;
  }
  body.article h5.topics__year-title::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #006400;
  }
  body.article ul.topics__list {
    display: block;
    margin-top: 30px;
  }
  body.article ul.topics__list li.topics__item {
    width: 100%;
    margin: 20px 0 0 !important;
  }
  body.detail p.topics__date {
    font-size: 12px;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.detail h3.topics__title {
    margin-top: 15px;
    font-size: 30px;
    font-weight: 700;
    line-height: 1;
  }
  body.detail section.section {
    margin-top: 60px;
  }
  body.recruit .contents__header--img .contents__header-inner {
    background-image: url("../../img/recruit/bg_title.jpg");
  }
  body.recruit ul.modal__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 50px;
  }
  body.recruit ul.modal__list li.modal__item {
    width: 31.8186666667%;
    margin-right: 2.272%;
  }
  body.recruit ul.modal__list li.modal__item:nth-child(3n) {
    margin-right: 0;
  }
  body.recruit ul.modal__list li.modal__item:nth-child(n+4) {
    margin-top: 2.272%;
  }
  body.recruit .recruit__content {
    padding: 35px 30px 30px;
  }
  body.recruit .recruit__content p.recruit__text {
    margin-top: 10px;
    font-size: 14px;
    font-weight: 400;
  }
  body.recruit .recruit__content dl.recruit-info__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item {
    display: flex;
    width: 50%;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item:nth-child(n+3) {
    margin-top: 10px;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item dt {
    box-sizing: border-box;
    width: 70px;
    padding: 5px 10px 7px;
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #006400;
    border-radius: 100vmax;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item dd {
    box-sizing: border-box;
    width: calc(100% - 80px);
    margin-left: 10px;
    padding: 2px 10px 0 0;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
  }
  body.recruit .recruit__content p.recruit__title {
    font-size: 16px;
    font-weight: 700;
  }
  body.recruit .recruit__content p.recruit__title:not(:first-child) {
    margin-top: 25px;
  }
  body.recruit .recruit__content ul.list--disc {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
  }
  body.recruit .recruit__content ul.list--disc li {
    box-sizing: border-box;
    width: 50%;
    padding-right: 10px;
  }
  body.recruit .recruit__entry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 15px 20px;
    border-top: 1px solid #EBEBEB;
  }
  body.recruit .recruit__entry .btn--entry {
    width: 168px;
    height: 48px;
    margin: 0 auto;
  }
  body.recruit .recruit__entry .btn--entry a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 0 0 20px;
    text-decoration: none;
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
    font-weight: 700;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.recruit .recruit__entry .btn--entry a:hover {
    background-color: #006400;
  }
  body.recruit .recruit__entry .btn--entry a:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.recruit .recruit__entry .btn--entry a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
  body.contact .section + .section {
    margin-top: 50px;
  }
  body.contact .block--contact {
    display: none;
  }
  /* 入力画面 ====================*/
  body.form section.section {
    max-width: 900px;
    margin: 0 auto;
  }
  body.form section.section p.section__text--lead {
    margin-bottom: 30px;
  }
  body.form section.section dl.form dt {
    display: flex;
    align-items: center;
    height: 20px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
  }
  body.form section.section dl.form dt span.ic__required,
  body.form section.section dl.form dt span.ic__any {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 18px;
    margin-right: 10px;
    text-align: center;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    border-radius: 4px;
  }
  body.form section.section dl.form dt span.ic__required {
    background: #FF0037;
  }
  body.form section.section dl.form dt span.ic__any {
    background: #A0A0A0;
  }
  body.form section.section dl.form dd {
    box-sizing: border-box;
    width: 100%;
    margin-top: 10px;
  }
  body.form section.section dl.form dd input[type=text],
  body.form section.section dl.form dd input[type=tel] {
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    padding: 10px 15px;
    font-size: 14px;
    background: #fff;
    border: 1px solid #D6D6D6;
    border-radius: 6px;
  }
  body.form section.section dl.form dd select {
    box-sizing: border-box;
    width: 100%;
    height: 50px;
    padding: 10px 15px;
    font-size: 14px;
    line-height: 1;
    background: #fff url("../img/bg_select.svg") right 20px center no-repeat;
    background-size: 12px 7px;
    cursor: pointer;
    border: 1px solid #D6D6D6;
    border-radius: 6px;
  }
  body.form section.section dl.form dd textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 10px 15px;
    font-size: 14px;
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.7;
    border: 1px solid #D6D6D6;
    border-radius: 6px;
  }
  body.form section.section dl.form dd span.error {
    width: 100%;
    margin-top: 5px;
    font-size: 14px;
    color: #FF0037;
  }
  body.form section.section dl.form dd.zip {
    width: 150px;
  }
  body.form section.section dl.form dd.checkbox {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item {
    display: block;
    margin: 15px 20px 0 0;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item label {
    display: block;
    height: 100%;
    position: relative;
    cursor: pointer;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox] {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox] + span {
    display: flex;
    padding-left: 30px;
    font-size: 14px;
    line-height: 1;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox] + span::before {
    content: "";
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    width: 20px;
    height: 20px;
    border: 1px solid #D6D6D6;
    background: #fff;
    border-radius: 4px;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox]:checked + span::before {
    background: #006400;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox]:checked + span:after {
    content: "";
    position: absolute;
    top: 0;
    left: 6px;
    width: 4px;
    height: 7px;
    transform: rotate(45deg);
    border: 2px solid transparent;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  body.form section.section dl.form + dl.form {
    margin-top: 14px;
  }
  body.form section.section .submit {
    margin-top: 55px;
  }
  body.form section.section .submit .form__agree {
    padding: 16px 20px 18px;
    background: #F5F5F5;
    border-radius: 6px;
  }
  body.form section.section .submit .form__agree p {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    line-height: 1;
  }
  body.form section.section .submit .form__agree p > span {
    display: inline-block;
  }
  body.form section.section .submit .form__agree p > span label {
    display: block;
    height: 100%;
    position: relative;
    cursor: pointer;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox] {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox] + span {
    display: flex;
    padding-left: 25px;
    font-size: 14px;
    line-height: 1;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox] + span::before {
    content: "";
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    width: 20px;
    height: 20px;
    background: #fff;
    border: 1px solid #D6D6D6;
    border-radius: 4px;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox]:checked + span::before {
    background: #006400;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox]:checked + span:after {
    content: "";
    position: absolute;
    top: 0;
    left: 6px;
    width: 4px;
    height: 7px;
    transform: rotate(45deg);
    border: 2px solid transparent;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  body.form section.section .submit .form__agree span.error {
    width: 100%;
    margin-top: 5px;
    text-align: center;
    font-size: 12px;
    color: #FF0037;
  }
  body.form section.section .submit .btn__area {
    display: flex;
    justify-content: center;
    margin: 40px auto 0;
  }
  body.form section.section .submit .btn__area button.btn__submit {
    width: 200px;
    height: 48px;
    padding-top: 0;
  }
  body.form section.section .submit .btn__area button.btn__submit span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.form section.section .submit .btn__area button.btn__submit span:hover {
    background-color: #006400;
  }
  body.form section.section .submit .btn__area button.btn__submit span:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.form section.section .submit .btn__area button.btn__submit span::before {
    content: none;
  }
  body.form section.section .submit .btn__area button.btn__submit span::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
  body.form section.section .submit .btn__area button.btn__submit span span {
    display: none;
  }
  body.form section.section .submit .btn__area button.btn__back {
    width: 200px;
    height: 48px;
    margin-right: 30px;
    padding-top: 0;
  }
  body.form section.section .submit .btn__area button.btn__back span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.form section.section .submit .btn__area button.btn__back span:hover {
    background-color: #006400;
  }
  body.form section.section .submit .btn__area button.btn__back span:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.form section.section .submit .btn__area button.btn__back span::before {
    content: none;
  }
  body.form section.section .submit .btn__area button.btn__back span::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    left: 10px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
    transform: scaleX(-1);
  }
  body.form section.section .submit .btn__area button.btn__back span span {
    display: none;
  }
  body.form section.section .precautions {
    margin-top: 60px;
    padding: 30px;
    background: #F5F5F5;
    border-radius: 10px;
  }
  body.form section.section .precautions h6.section__title {
    text-align: center;
  }
  body.form section.section .precautions ul.list--disc {
    margin-top: 10px;
  }
  /* 確認画面 ====================*/
  body.confirmation section.section dl.form dt span.ic__required,
  body.confirmation section.section dl.form dt span.ic__any {
    display: none;
  }
  body.confirmation section.section dl.form dd,
  body.confirmation section.section dl.form dd.checkbox,
  body.confirmation section.section dl.form dd.zip,
  body.confirmation section.section dl.form dd.textarea {
    width: 100%;
    min-height: 50px;
    margin-top: 10px;
    padding: 12px 15px 14px;
    font-size: 16px;
    background: rgba(230, 246, 235, 0.6);
    border-bottom: none;
  }
  body.confirmation section.section .submit .form__agree {
    display: none;
  }
  /* 完了画面 ====================*/
  body.thanks section.section p.section__text--lead {
    text-align: center;
  }
  body.thanks section.section .btn__top {
    width: 200px;
    height: 48px;
    margin: 0 auto;
  }
  body.thanks section.section .btn__top a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.thanks section.section .btn__top a:hover {
    background-color: #006400;
  }
  body.thanks section.section .btn__top a:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.thanks section.section .btn__top a::before {
    content: none;
  }
  body.thanks section.section .btn__top a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 14px);
    right: 10px;
    width: 28px;
    height: 28px;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 11px 10px;
    border-radius: 100vmax;
  }
}
@media (min-width: 768px) and (max-width: 1139px) {
  .contents__header--img::before {
    background: linear-gradient(90deg, #006400 0%, #006400 60%, #24A524 102.22%);
  }
  body.mission ul.mission__list li.mission__item {
    width: 48.049%;
    margin-right: 0;
  }
  body.mission ul.mission__list li.mission__item:nth-child(2n) {
    margin-left: 3.902%;
  }
  body.mission ul.mission__list li.mission__item:nth-child(n+3) {
    margin-top: 3.902%;
  }
}
@media (min-width: 768px) and (max-width: 980px) {
  .footer .footer__inner {
    display: block;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list {
    width: 100%;
  }
  .footer .footer__inner .footer__block:first-child ul.footer__nav-list:last-child {
    margin-left: 5.1020408163vw;
  }
  .footer .footer__inner .footer__block:last-child {
    margin-top: 40px;
    padding-right: 0;
  }
  .footer .footer__inner .footer__block:last-child p.footer__title {
    margin: 0 auto;
  }
  .footer .footer__inner .footer__block:last-child p.footer__text,
  .footer .footer__inner .footer__block:last-child p.footer__copyright {
    text-align: center;
  }
}
@media (min-width: 768px) and (max-width: 900px) {
  .header .header__title a img {
    width: 7.1111111111vw;
  }
  .header .header__title a span {
    margin-left: 1.6666666667vw;
    font-size: 1.3333333333vw;
  }
  .header .header__title a span strong {
    font-size: 2.4444444444vw;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item + li {
    margin-left: 2vw;
  }
  body.top .section--business ul.business__list {
    flex-wrap: wrap;
  }
  body.top .section--business ul.business__list li.business__item {
    width: 49.091%;
  }
  body.top .section--business ul.business__list li.business__item + li {
    margin-left: 0;
  }
  body.top .section--business ul.business__list li.business__item:nth-child(2n) {
    margin-left: 1.818%;
  }
  body.top .section--business ul.business__list li.business__item:nth-child(n+3) {
    margin-top: 1.818%;
  }
  body.top .section--staff ul.staff__list li.staff__item {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
  }
  body.top .section--staff ul.staff__list li.staff__item:nth-child(2n) {
    margin-left: 0;
  }
  body.top .section--staff ul.staff__list li.staff__item:nth-child(n+2) {
    margin-top: 20px;
  }
  body.top .section--staff ul.staff__list li.staff__item figure.staff__img {
    width: 160px;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list {
    margin-left: 30px;
  }
  body.business ul.business__list {
    flex-wrap: wrap;
  }
  body.business ul.business__list li.business__item {
    width: 49.091%;
  }
  body.business ul.business__list li.business__item + li {
    margin-left: 0;
  }
  body.business ul.business__list li.business__item:nth-child(2n) {
    margin-left: 1.818%;
  }
  body.business ul.business__list li.business__item:nth-child(n+3) {
    margin-top: 1.818%;
  }
}
/* ======================================================
	SP用設定
====================================================== */
@media screen and (max-width: 767px) {
  body {
    color: #000;
    line-height: 1.5;
  }
  body.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
  body.customize-support #wpadminbar {
    position: fixed;
  }
  body.customize-support .header {
    top: 11.79vw;
  }
  img {
    width: 100%;
  }
  .wrapper {
    overflow: hidden;
    position: relative;
    padding-top: 15.38vw;
  }
  sup {
    font-size: 2.56vw;
    vertical-align: top;
  }
  a:link {
    color: #000;
    text-decoration: underline;
  }
  a:visited {
    color: #000;
  }
  a:hover {
    color: #006400;
  }
  a:active {
    color: #000;
  }
  .pc {
    display: none;
  }
  .header {
    box-sizing: border-box;
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    height: 15.38vw;
    background: #fff;
  }
  .header .header__inner {
    position: relative;
    height: 100%;
  }
  .header .header__title {
    position: absolute;
    top: 3.08vw;
    left: 2.56vw;
  }
  .header .header__title a {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #000 !important;
  }
  .header .header__title a img {
    width: 12.82vw;
  }
  .header .header__title a span {
    display: block;
    margin-left: 2.05vw;
    font-size: 2.56vw;
    font-weight: 500;
    line-height: 1;
  }
  .header .header__title a span strong {
    display: block;
    margin-top: 0.77vw;
    font-size: 4.62vw;
    font-weight: 700;
  }
  .header .header__menu {
    display: block;
    position: fixed;
    z-index: 99;
    top: 5.64vw;
    right: 3.85vw;
    width: 7.18vw;
    height: 4.10vw;
    cursor: pointer;
  }
  .header .header__menu span {
    display: block;
    position: absolute;
    top: 1.79vw;
    left: 0;
    width: 7.18vw;
    height: 0.51vw;
    background: #000;
    transition: all 0.2s;
  }
  .header .header__menu span:nth-child(1) {
    transform: translateY(-1.79vw);
  }
  .header .header__menu span:nth-child(2) {
    opacity: 1;
  }
  .header .header__menu span:nth-child(3) {
    transform: translateY(1.79vw);
  }
  .header .header__menu.open span:nth-child(1) {
    transform: rotate(-30deg) translateY(0.00vw);
  }
  .header .header__menu.open span:nth-child(2) {
    opacity: 0;
  }
  .header .header__menu.open span:nth-child(3) {
    transform: rotate(30deg) translateY(0.00vw);
  }
  .header .header__nav {
    box-sizing: border-box;
    display: none;
    position: fixed;
    z-index: 98;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding-top: 15.38vw;
  }
  .header .header__nav .header__nav-inner {
    box-sizing: border-box;
    overflow-y: auto;
    display: flex;
    flex-direction: column;
    position: relative;
    z-index: 0;
    height: 100%;
    padding: 5.13vw 7.69vw 15.38vw;
    background: #F5F5F5;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item a.header__nav-link {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 12.82vw;
    padding-right: 10.26vw;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 400;
    line-height: 1;
    border-top: 1px solid #EBEBEB;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item a.header__nav-link::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 0;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_black.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item ul.header__subnav-list {
    margin-left: 5.13vw;
    padding: 1.28vw 0;
    border-top: 1px solid #EBEBEB;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item ul.header__subnav-list li.header__subnav-item a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 8.97vw;
    padding-left: 5.13vw;
    text-decoration: none;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1;
    background-image: url("../img/ic_arrow_black.svg");
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact {
    padding-top: 6.41vw;
    border-top: 1px solid #EBEBEB;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 17.95vw;
    text-align: center;
    text-decoration: none;
    font-size: 4.62vw;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  .header .header__nav ul.header__nav-list li.header__nav-item--contact a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 4.10vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  .breadcrumb {
    margin-top: 2.56vw;
    padding: 0 5.13vw;
  }
  .breadcrumb ul.breadcrumb__list {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item {
    position: relative;
    margin: 1.28vw 3.85vw 0 0;
    padding-right: 6.41vw;
    font-size: 3.08vw;
    color: #006400;
    line-height: 1.3;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item:last-child {
    margin-right: 0;
    padding-right: 0;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item:last-child::after {
    content: none;
  }
  .breadcrumb ul.breadcrumb__list li.breadcrumb__item::after {
    content: "＞";
    position: absolute;
    top: 0;
    right: 0;
  }
  .contents__header {
    margin-top: 3.85vw;
  }
  .contents__header h2.contents__title {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    width: 100%;
    height: 23.08vw;
    padding: 2.56vw 5.13vw;
    font-size: 6.15vw;
    font-weight: 900;
    color: #FFF;
    line-height: 1;
    background: linear-gradient(90deg, #006400 0%, #24A524 102.22%);
  }
  .contents__header--img {
    position: relative;
    margin-top: 2.56vw;
  }
  .contents__header--img .contents__header-inner {
    position: relative;
    width: 100%;
    height: 40.26vw;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
  }
  .contents__header--img h2.contents__title {
    box-sizing: border-box;
    position: absolute;
    bottom: 3.08vw;
    left: 5.13vw;
    padding-left: 3.33vw;
    font-size: 5.13vw;
    font-weight: 900;
    line-height: 1;
  }
  .contents__header--img h2.contents__title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.03vw;
    height: 5.38vw;
    background: #24A524;
    border-radius: 100vmax;
  }
  .contents__inner {
    margin-top: 5.13vw;
    padding: 0 5.13vw;
  }
  .contents__side {
    margin-top: 10.26vw;
  }
  .contents__side h2.contents__side-title {
    position: relative;
    padding: 0 0 3.85vw 2.56vw;
    font-size: 4.62vw;
    font-weight: 700;
    line-height: 1;
    border-bottom: 1px solid #006400;
  }
  .contents__side h2.contents__side-title::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 1.03vw;
    height: 5.13vw;
    background: #24A524;
    border-radius: 100vmax;
  }
  .contents__side ul.contents__side-list {
    margin-top: 3.85vw;
  }
  .contents__side ul.contents__side-list li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 12.82vw;
    padding: 2.56vw;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 400;
    line-height: 1;
    color: #000;
    transition: all 0.2s;
  }
  .contents__side ul.contents__side-list li a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2.82vw);
    right: 2.05vw;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_green.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  .contents__footer {
    box-sizing: border-box;
    margin: 10.26vw 5.13vw 0;
    background: #F5F5F5;
    border-radius: 2.56vw;
  }
  .contents__footer .link--arrow {
    margin: 0 auto;
  }
  .contents__footer .link--arrow a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 4.10vw;
    text-decoration: none;
  }
  .contents__footer .link--arrow a span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    height: 7.18vw;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 700;
    line-height: 1;
  }
  .contents__footer .link--arrow a span::after {
    content: "";
    display: block;
    width: 7.18vw;
    height: 7.18vw;
    margin-left: 2.56vw;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
    transition: all 0.2s;
  }
  .block--contact {
    margin-top: 12.82vw;
    padding: 0 5.13vw;
  }
  .block--contact .block__inner {
    box-sizing: border-box;
    padding: 7.69vw 5.13vw;
    border-radius: 2.56vw;
    background: #E6F6EB;
  }
  .block--contact h2.contact__title {
    text-align: center;
    font-size: 5.13vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.1.03vw;
  }
  .block--contact h2.contact__title::after {
    content: "";
    display: block;
    width: 18.72vw;
    height: 1.54vw;
    margin: 2.56vw auto 0;
    background: url("../img/ic_h2.svg") center center no-repeat;
    background-size: contain;
  }
  .block--contact p.contact__text {
    margin-top: 5.13vw;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 2;
  }
  .block--contact p.contact__tel {
    margin-top: 5.13vw;
    text-align: center;
    font-family: Outfit;
    line-height: 1;
  }
  .block--contact p.contact__tel a {
    text-decoration: none;
  }
  .block--contact p.contact__tel span {
    font-size: 5.64vw;
    font-weight: 400;
  }
  .block--contact p.contact__tel strong {
    margin-left: 1.28vw;
    font-size: 8.72vw;
    font-weight: 700;
  }
  .block--contact .btn--contact {
    margin: 6.41vw auto 0;
  }
  .block--contact .btn--contact a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    height: 17.95vw;
    text-align: center;
    text-decoration: none;
    font-size: 4.62vw;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  .block--contact .btn--contact a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 4.10vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  .footer {
    margin-top: 12.82vw;
    padding: 0 5.13vw;
  }
  .footer .footer__inner {
    padding: 10.26vw 5.13vw 12.82vw;
    background: #F5F5F5;
    border-radius: 2.56vw 2.56vw 0 0;
  }
  .footer ul.footer__nav-list:first-child {
    border-top: 1px solid #EBEBEB;
  }
  .footer ul.footer__nav-list li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 12.82vw;
    padding-right: 10.26vw;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 400;
    line-height: 1.3;
    border-bottom: 1px solid #EBEBEB;
    transition: all 0.2s;
  }
  .footer ul.footer__nav-list li a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 0;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_black.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  .footer p.footer__title {
    display: table;
    margin: 10.26vw auto 0;
  }
  .footer p.footer__title a {
    display: flex;
    align-items: flex-start;
    text-decoration: none;
    color: #000;
  }
  .footer p.footer__title a img {
    width: 17.69vw;
  }
  .footer p.footer__title a span {
    display: block;
    margin-left: 3.85vw;
    font-size: 3.33vw;
    font-weight: 500;
    line-height: 1;
  }
  .footer p.footer__title a span strong {
    display: block;
    margin-top: 1.28vw;
    font-size: 6.15vw;
    font-weight: 700;
  }
  .footer p.footer__text {
    margin-top: 5.13vw;
    text-align: center;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1.7;
  }
  .footer p.footer__copyright {
    margin-top: 7.69vw;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  h3.section__title {
    font-size: 6.15vw;
    font-weight: 700;
  }
  h3.section__title--center {
    text-align: center;
    font-size: 6.15vw;
    font-weight: 700;
  }
  h4.section__title {
    font-size: 5.64vw;
    font-weight: 700;
  }
  h4.section__title strong {
    font-weight: 700;
  }
  h5.section__title {
    font-size: 5.13vw;
    font-weight: 700;
  }
  h5.section__title--border {
    position: relative;
    padding-bottom: 2.56vw;
    font-size: 4.62vw;
    font-weight: 700;
  }
  h5.section__title--border::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 64.62vw;
    height: 0.77vw;
    background: #006400;
  }
  h5.section__title--border::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #006400;
  }
  h6.section__title {
    font-size: 4.62vw;
    font-weight: 700;
  }
  h6.section__title--center {
    text-align: center;
    font-size: 4.10vw;
    font-weight: 700;
  }
  p.section__title {
    font-size: 4.10vw;
    font-weight: 700;
  }
  p.section__text--lead {
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1.7;
  }
  p.section__text {
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1.7;
  }
  p.section__text--note {
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1.7;
  }
  ul.list--disc li {
    box-sizing: border-box;
    position: relative;
    padding-left: 0.75em;
    font-size: 3.59vw;
  }
  ul.list--disc li:before {
    content: "•";
    position: absolute;
    top: 0;
    left: 0;
  }
  ul.list--disc li + li {
    margin-top: 0.1em;
  }
  ul.modal__list li.modal__item a.modal-link {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 3.08vw 2.56vw 3.59vw;
    text-decoration: none;
    color: #000;
    background-color: #F5F5F5;
    border-radius: 2.05vw;
  }
  ul.modal__list li.modal__item a.modal-link::after {
    content: "";
    display: block;
    position: absolute;
    top: 4.36vw;
    right: 2.56vw;
    width: 6.15vw;
    height: 6.15vw;
    background-color: #000;
    background-image: url("../img/ic_blank_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  ul.modal__list li.modal__item p.modal-link__title {
    box-sizing: border-box;
    width: calc(100% - 8.72vw);
    padding: 2.05vw 2.56vw 2.31vw;
    font-size: 4.10vw;
    font-weight: 700;
    line-height: 1.1;
    background: #FFF;
    border-radius: 1.03vw;
  }
  ul.modal__list li.modal__item p.modal-link__text {
    margin-top: 2.56vw;
    padding: 0 2.56vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  ul.modal__list li.modal__item ul.modal-link__taglist {
    display: flex;
    margin-top: 3.85vw;
    padding: 0 2.56vw;
  }
  ul.modal__list li.modal__item ul.modal-link__taglist li {
    box-sizing: border-box;
    width: 17.95vw;
    padding: 1.28vw 2.56vw 1.79vw;
    text-align: center;
    font-size: 3.08vw;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #A9A9A9;
    border-radius: 0.51vw;
  }
  ul.modal__list li.modal__item ul.modal-link__taglist li + li {
    margin-left: 2.56vw;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist {
    margin-top: 2.56vw;
    padding: 0 2.56vw;
    font-size: 3.59vw;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist .modal-link__info {
    display: flex;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist .modal-link__info dt {
    position: relative;
    width: 5em;
  }
  ul.modal__list li.modal__item dl.modal-link__infolist .modal-link__info dt::after {
    content: "：";
    display: block;
    position: absolute;
    top: 0;
    right: 0;
  }
  .btn {
    display: table;
    min-width: 51.28vw;
  }
  .btn a,
  .btn span {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    padding: 4.10vw 12.82vw 4.10vw 5.13vw;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    background: #000;
    border-radius: 100vmax;
    transition: all 0.2s;
    cursor: pointer;
  }
  .btn a:hover,
  .btn span:hover {
    background: #006400;
  }
  .btn--arrow a:hover::after {
    background-image: url("../img/ic_arrow_green.svg");
  }
  .btn--arrow a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_black.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  .btn--blank a:hover::after {
    background-color: #EE315D;
  }
  .btn--blank a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #002F6B;
    background-image: url("../img/ic_blank_w.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.56vw 2.56vw;
    border-radius: 100vmax;
  }
  .btn--anchor a:hover::after {
    background-color: #EE315D;
  }
  .btn--anchor a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #002F6B;
    background-image: url("../img/ic_anchor_w.svg");
    background-position: center top 2.82vw;
    background-repeat: no-repeat;
    background-size: 3.08vw 1.79vw;
    border-radius: 100vmax;
  }
  table.table {
    display: block;
    width: 100%;
    border-top: 1px solid #EBEBEB;
  }
  table.table tr {
    display: block;
    width: 100%;
  }
  table.table th,
  table.table td {
    display: block;
    width: 100%;
    font-size: 3.59vw;
    border-bottom: 1px solid #EBEBEB;
    box-sizing: border-box;
  }
  table.table th {
    padding: 2.05vw 2.56vw;
    text-align: left;
    font-weight: 700;
    background-color: #F5F5F5;
  }
  table.table td {
    padding: 2.56vw;
  }
  p.not-applicable {
    margin-top: 7.69vw;
    padding: 10.26vw 0;
    text-align: center;
    border-top: 1px solid #333;
    border-bottom: 1px solid #333;
  }
  p.not-applicable span.title {
    font-size: 6.15vw;
    font-family: Montserrat;
    font-weight: 700;
  }
  p.not-applicable span.text {
    display: block;
    font-size: 3.59vw;
    font-weight: 400;
  }
  .pagination {
    margin-top: 7.69vw;
  }
  .pagination ul {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1.28vw;
  }
  .pagination ul li {
    width: 7.69vw;
    height: 7.69vw;
    font-size: 3.59vw;
    line-height: 1;
  }
  .pagination ul li a,
  .pagination ul li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
  }
  .pagination ul li a {
    text-decoration: none;
    font-weight: 400;
    transition: all 0.2s;
  }
  .pagination ul li span {
    font-size: 3.85vw;
    font-weight: 700;
  }
  .pagination ul li.prev,
  .pagination ul li.next {
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.05vw 3.59vw;
  }
  .pagination ul li.prev a,
  .pagination ul li.next a {
    display: block;
    width: 100%;
    height: 100%;
    opacity: 0;
  }
  .pagination ul li.prev {
    background-image: url("../img/bg_prev_black.svg");
  }
  .pagination ul li.next {
    background-image: url("../img/bg_next_black.svg");
  }
  section.default h4 {
    position: relative;
    padding-bottom: 2.56vw;
    font-size: 4.62vw;
    font-weight: 700;
  }
  section.default h4::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 64.62vw;
    height: 0.77vw;
    background: #006400;
  }
  section.default h4::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #006400;
  }
  section.default h5 {
    position: relative;
    padding-left: 3.08vw;
    font-size: 4.10vw;
    font-weight: 700;
  }
  section.default h5::before {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2.31vw);
    left: 0;
    width: 1.03vw;
    height: 5.13vw;
    background: #006400;
    border-radius: 100vmax;
  }
  section.default h6 {
    font-size: 3.59vw;
    font-weight: 700;
  }
  section.default p {
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1.8;
  }
  section.default img {
    width: auto;
    max-width: 100%;
    height: auto;
  }
  section.default figure {
    overflow: hidden;
  }
  section.default figure img.alignleft {
    float: left;
  }
  section.default figure img.alignright {
    float: right;
  }
  section.default figure img.aligncenter {
    display: table;
    margin: 0 auto;
  }
  section.default ul li {
    box-sizing: border-box;
    position: relative;
    padding-left: 0.75em;
    font-size: 3.59vw;
  }
  section.default ul li:before {
    content: "•";
    position: absolute;
    top: 0;
    left: 0;
  }
  section.default ul li + li {
    margin-top: 0.1em;
  }
  section.default ol {
    counter-reset: number;
    list-style: none;
  }
  section.default ol li {
    counter-increment: number;
    box-sizing: border-box;
    position: relative;
    padding-left: 1.2em;
    font-size: 3.59vw;
  }
  section.default ol li::before {
    content: counter(number) ".";
    position: absolute;
    top: 0;
    left: 0;
  }
  section.default ol li + li {
    margin-top: 0.1em;
  }
  section.default table {
    width: 100%;
    border: 1px solid #EBEBEB;
  }
  section.default table th,
  section.default table td {
    padding: 2.05vw 2.56vw;
    font-size: 3.59vw;
    line-height: 2;
    vertical-align: top;
    border: 1px solid #EBEBEB;
  }
  section.default table th {
    box-sizing: border-box;
    padding: 3.85vw 5.64vw;
    text-align: left;
    font-weight: 700;
    background-color: #F5F5F5;
  }
  section.default table td {
    padding-right: 0;
  }
  section.default * + h4 {
    margin-top: 1.6em;
  }
  section.default * + h5 {
    margin-top: 1.6em;
  }
  section.default * + h6 {
    margin-top: 0.8em;
  }
  section.default * + p {
    margin-top: 0.2em;
  }
  section.default * + figure,
  section.default * + ul,
  section.default * + ol,
  section.default * + table {
    margin-top: 7.18vw;
  }
  section.default h4 + p {
    margin-top: 1.6em;
  }
  body.top .wrapper {
    opacity: 1;
  }
  body.top .mainvisual--top {
    box-sizing: border-box;
    position: relative;
  }
  body.top .mainvisual--top figure.mainvisual__img {
    position: relative;
    z-index: 0;
    padding: 0 2.56vw;
  }
  body.top .mainvisual--top figure.mainvisual__img::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100vw;
    height: 50%;
    background: #F5F5F5;
    border-radius: 2.56vw 2.56vw 0 0;
  }
  body.top .mainvisual--top figure.mainvisual__img img {
    position: relative;
    z-index: 1;
  }
  body.top .mainvisual--top .mainvisual__inner {
    position: relative;
    padding: 5.64vw 7.69vw 10.77vw;
    border-radius: 0 0 2.56vw 2.56vw;
    background: #F5F5F5;
  }
  body.top .mainvisual--top .mainvisual__inner p.mainvisual__text--lead {
    font-size: 6.15vw;
    font-weight: 700;
    line-height: 1.54;
    letter-spacing: 0.1em;
  }
  body.top .mainvisual--top .mainvisual__inner p.mainvisual__text--lead span {
    color: #006400;
  }
  body.top .mainvisual--top .mainvisual__inner p.mainvisual__text {
    margin-top: 1.54vw;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.1em;
  }
  @keyframes scroll-effect {
    60% {
      transform: translateY(0);
    }
    100% {
      transform: translateY(100%);
    }
  }
  body.top .mainvisual--top .mainvisual__inner .scroll {
    position: absolute;
    right: 3.85vw;
    bottom: 0;
    width: 0.51vw;
    height: 25.64vw;
    z-index: 1;
  }
  body.top .mainvisual--top .mainvisual__inner .scroll .scroll__text {
    position: absolute;
    top: -3em;
    left: -1.3em;
    font-size: 3.08vw;
    font-family: Outfit;
    font-weight: 600;
    color: #000;
    transform: rotate(-90deg);
  }
  body.top .mainvisual--top .mainvisual__inner .scroll .scroll__bar {
    position: absolute;
    overflow: hidden;
    width: 0.51vw;
    height: 25.64vw;
    top: 0;
    left: 0;
    background: #000;
  }
  body.top .mainvisual--top .mainvisual__inner .scroll .scroll__bar::before {
    content: "";
    position: absolute;
    width: 0.51vw;
    height: 25.64vw;
    transform: translateY(-100%);
    right: 0;
    background: #24A524;
    animation-name: scroll-effect;
    animation-duration: 1.8s;
    animation-delay: 0s;
    animation-timing-function: cubic-bezier(0.3, 0.4, 0.1, 1);
    animation-iteration-count: infinite;
  }
  body.top h2.section__title--top {
    text-align: center;
    font-size: 5.13vw;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1.1.03vw;
  }
  body.top h2.section__title--top::after {
    content: "";
    display: block;
    width: 18.72vw;
    height: 1.54vw;
    margin: 2.56vw auto 0;
    background: url("../img/ic_h2.svg") center center no-repeat;
    background-size: contain;
  }
  body.top .section--business {
    margin-top: 10.26vw;
    padding: 0 5.13vw;
  }
  body.top .section--business p.section__text--lead {
    margin-top: 5.64vw;
    text-align: center;
  }
  body.top .section--business ul.business__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5.90vw;
  }
  body.top .section--business ul.business__list li.business__item {
    box-sizing: border-box;
    width: calc((100% - 5.13vw) / 2);
  }
  body.top .section--business ul.business__list li.business__item:nth-child(2n) {
    margin-left: 4.87vw;
  }
  body.top .section--business ul.business__list li.business__item:nth-child(n+3) {
    margin-top: 5.13vw;
  }
  body.top .section--business ul.business__list li.business__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 5.13vw 5.13vw 3.59vw;
    text-decoration: none;
    color: #000;
    border-radius: 2.56vw;
    background: #F5F5F5;
  }
  body.top .section--business ul.business__list li.business__item p.business__number {
    position: absolute;
    z-index: 1;
    top: 2.82vw;
    left: 2.82vw;
    font-family: Outfit;
    font-size: 5.13vw;
    font-weight: 700;
    line-height: 1;
  }
  body.top .section--business ul.business__list li.business__item figure.business__img {
    position: relative;
    width: 23.08vw;
    margin: 0 auto;
  }
  body.top .section--business ul.business__list li.business__item figure.business__img::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.05vw 1.54vw;
    border-radius: 100vmax;
  }
  body.top .section--business ul.business__list li.business__item h3.business__title {
    margin-top: 3.59vw;
    text-align: center;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.top .section--business ul.business__list li.business__item p.business__text {
    margin-top: 2.56vw;
    font-size: 3.08vw;
    font-weight: 400;
  }
  body.top .section--greeting,
  body.top .section--recruit {
    margin-top: 10.26vw;
  }
  body.top .section--greeting .column__wrapper .column:last-child,
  body.top .section--recruit .column__wrapper .column:last-child {
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 6.41vw 5.13vw 10.26vw;
    background: #F5F5F5;
    border-radius: 0 0 2.56vw 2.56vw;
  }
  body.top .section--greeting figure,
  body.top .section--recruit figure {
    position: relative;
    padding: 0 5.13vw;
  }
  body.top .section--greeting figure::before,
  body.top .section--recruit figure::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 0;
    width: 100vw;
    height: 50%;
    background: #F5F5F5;
    border-radius: 2.56vw 2.56vw 0 0;
  }
  body.top .section--greeting figure img,
  body.top .section--recruit figure img {
    position: relative;
    z-index: 1;
    border-radius: 2.56vw;
  }
  body.top .section--greeting p.section__text--lead,
  body.top .section--recruit p.section__text--lead {
    margin-top: 5.13vw;
  }
  body.top .section--greeting p.section__text--lead span,
  body.top .section--recruit p.section__text--lead span {
    letter-spacing: -0.01em;
  }
  body.top .section--greeting .btn,
  body.top .section--recruit .btn {
    margin: 5.64vw auto 0;
  }
  body.top .section--staff {
    margin-top: 21.54vw;
  }
  body.top .section--staff .section__wrapper {
    position: relative;
    padding: 14.87vw 5.13vw 7.69vw;
    background: #E6F6EB;
    border-radius: 2.56vw;
  }
  body.top .section--staff .section__wrapper::before {
    content: "";
    display: block;
    position: absolute;
    top: -11.28vw;
    left: calc(50% - 39.23vw);
    width: 78.46vw;
    height: 11.28vw;
    background: url("../../img/top/bg_staff_sp.png") center center no-repeat;
  }
  body.top .section--staff h2.section__title--top {
    position: absolute;
    top: -3.85vw;
    left: calc(50% - 23.08vw);
    width: 46.15vw;
  }
  body.top .section--staff ul.staff__list {
    display: flex;
    flex-wrap: wrap;
  }
  body.top .section--staff ul.staff__list li.staff__item {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    padding: 2.56vw 3.85vw 1.28vw;
    text-decoration: none;
    color: #000;
    border-radius: 2.56vw;
    background: #fff;
    transition: all 0.2s;
  }
  body.top .section--staff ul.staff__list li.staff__item figure.staff__img {
    width: 28.21vw;
    padding-bottom: 2.82vw;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list {
    width: calc(100% - 32.05vw);
    margin-left: 3.85vw;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__name {
    display: flex;
    align-items: center;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__name dt {
    margin-right: 3.85vw;
    font-size: 4.10vw;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__name dd {
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item {
    display: flex;
    align-items: flex-start;
    margin-top: 3.85vw;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item + .staff-info__item {
    margin-top: 2.56vw;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item dt {
    box-sizing: border-box;
    width: 12.82vw;
    padding: 0.77vw 0.51vw 1.03vw;
    text-align: center;
    font-size: 2.56vw;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #006400;
    border-radius: 0.51vw;
  }
  body.top .section--staff ul.staff__list li.staff__item dl.staff-info__list .staff-info__item dd {
    width: calc(100% - 15.38vw);
    margin-left: 2.56vw;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1.5;
  }
  body.top .section--staff ul.staff__list li + li {
    margin-top: 3.85vw;
  }
  body.top .section--staff .btn {
    margin: 7.69vw auto 0;
  }
  body.top .section--topics {
    margin-top: 10.26vw;
    padding: 0 5.13vw;
  }
  body.top .section--topics .column__wrapper {
    display: flex;
    flex-direction: column;
  }
  body.top .section--topics .column__wrapper > .column {
    display: contents;
  }
  body.top .section--topics h2.section__title--top {
    order: 1;
  }
  body.top .section--topics ul.topics__list {
    order: 2;
    margin-top: 7.69vw;
    border-top: 1px solid #EBEBEB;
  }
  body.top .section--topics ul.topics__list li {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 3.59vw 0;
    border-bottom: 1px solid #EBEBEB;
  }
  body.top .section--topics ul.topics__list li p.topics__date {
    width: 28.21vw;
    padding-top: 0.1em;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.top .section--topics ul.topics__list li p.topics__cat {
    box-sizing: border-box;
    width: 25.64vw;
    padding: 1.03vw;
    text-align: center;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
    border-radius: 100vmax;
  }
  body.top .section--topics ul.topics__list li p.new {
    background-color: #D0F3B2;
  }
  body.top .section--topics ul.topics__list li p.column {
    background-color: #F3F17D;
  }
  body.top .section--topics ul.topics__list li p.report {
    background-color: #CBEDF6;
  }
  body.top .section--topics ul.topics__list li p.article {
    background-color: #D7CCF3;
  }
  body.top .section--topics ul.topics__list li p.topics__title {
    width: 100%;
    margin-top: 1.28vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.top .section--topics ul.topics__list li.report a,
  body.top .section--topics ul.topics__list li.article a {
    text-decoration: none;
    pointer-events: none;
  }
  body.top .section--topics .btn {
    order: 3;
    margin: 7.69vw auto 0;
  }
  body.company .contents__header--img .contents__header-inner {
    background-image: url("../../img/company/bg_title_sp.png");
  }
  body.company .contents__inner {
    margin-top: 10.26vw;
  }
  body.company ul.company__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 6.41vw;
  }
  body.company ul.company__list li.company__item {
    width: calc((100% - 5.13vw) / 2);
  }
  body.company ul.company__list li.company__item:nth-child(2n) {
    margin-left: 4.87vw;
  }
  body.company ul.company__list li.company__item:nth-child(n+3) {
    margin-top: 5.13vw;
  }
  body.company ul.company__list li.company__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 2.56vw 2.56vw 12.82vw;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 2.05vw;
  }
  body.company ul.company__list li.company__item figure.company__img img {
    border-radius: 0.77vw;
  }
  body.company ul.company__list li.company__item p.company__title {
    margin-top: 3.08vw;
    text-align: center;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.company ul.company__list li.company__item p.company__text {
    margin-top: 2.31vw;
    font-size: 3.08vw;
    font-weight: 400;
  }
  body.company ul.company__list li.company__item p.text--arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 4.10vw;
    left: 8.72vw;
    height: 5.64vw;
    padding-left: 7.18vw;
    text-decoration: none;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.company ul.company__list li.company__item p.text--arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2.82vw);
    left: 0;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  body.outline .contents__side ul.contents__side-list li a.contents__side-link--outline {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.outline .section__img {
    margin-left: -5.13vw;
  }
  body.outline .section__img img {
    width: 100vw;
  }
  body.outline table.table {
    margin-top: 7.69vw;
  }
  body.access .contents__side ul.contents__side-list li a.contents__side-link--access {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.access .access__map {
    width: 100vw;
    height: 58.97vw;
    margin-left: -5.13vw;
  }
  body.access .access__address dl.list__info {
    margin-top: 7.69vw;
  }
  body.access .access__address dl.list__info .block {
    display: flex;
    align-items: flex-start;
  }
  body.access .access__address dl.list__info .block dt {
    box-sizing: border-box;
    width: 17.95vw;
    padding: 1.28vw 2.56vw 1.79vw;
    text-align: center;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    background: #E6F6EB;
    border-radius: 0.51vw;
  }
  body.access .access__address dl.list__info .block dd {
    width: calc(100% - 20.51vw);
    margin-left: 2.56vw;
    padding-top: 0.51vw;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1.5;
  }
  body.access .access__address dl.list__info .block + .block {
    margin-top: 2.56vw;
  }
  body.access .access__transportation {
    box-sizing: border-box;
    margin-top: 7.69vw;
    padding: 5.13vw;
    background: #F5F5F5;
    border-radius: 2.56vw;
  }
  body.access .access__transportation dl.list__info {
    margin-top: 3.85vw;
  }
  body.access .access__transportation dl.list__info dt {
    box-sizing: border-box;
    padding: 2.31vw 2.56vw 2.82vw 8.72vw;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1;
    border-radius: 0.51vw;
    background: #fff url("../img/ic_train.svg") left 2.05vw center no-repeat;
    background-size: 4.36vw 5.13vw;
    border-radius: 0.51vw;
  }
  body.access .access__transportation dl.list__info dd {
    margin-top: 2.56vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.group .contents__side ul.contents__side-list li a.contents__side-link--group {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.group h3.section__title {
    line-height: 1.2;
  }
  body.group h5.section__title--border {
    margin-top: 10.26vw;
  }
  body.group h6.section__title--center {
    margin-top: 10.26vw;
  }
  body.group p.section__text {
    margin-top: 5.13vw;
  }
  body.group figure.section__img {
    display: table;
    margin: 5.13vw auto;
  }
  body.group ul.group__list {
    margin-top: 6.41vw;
  }
  body.group ul.group__list li.group__item + li {
    margin-top: 2.56vw;
  }
  body.group ul.group__list li.group__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    padding: 5.13vw;
    padding-bottom: 14.62vw;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 2.56vw;
  }
  body.group ul.group__list li.group__item .group__item-inner {
    box-sizing: border-box;
    padding: 5.13vw;
    width: 100%;
    height: 100%;
    background: #F5F5F5;
    border-radius: 2.56vw;
  }
  body.group ul.group__list li.group__item p.group__title {
    width: 100%;
    padding-bottom: 4.36vw;
    font-size: 4.62vw;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 1px solid #000;
  }
  body.group ul.group__list li.group__item p.group__title span.sub {
    display: block;
    margin-top: 1.28vw;
    font-size: 3.08vw;
    font-weight: 400;
  }
  body.group ul.group__list li.group__item ul.list--disc {
    margin-top: 3.85vw;
  }
  body.group ul.group__list li.group__item p.group__text {
    width: 100%;
    margin-top: 3.85vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.group ul.group__list li.group__item p.text--arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: absolute;
    bottom: 5.13vw;
    right: 5.13vw;
    height: 5.64vw;
    padding-left: 7.18vw;
    text-decoration: none;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.group ul.group__list li.group__item p.text--arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2.82vw);
    left: 0;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  body.group table.table {
    margin-top: 7.69vw;
  }
  body.mission .contents__side ul.contents__side-list li a.contents__side-link--mission {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.mission p.section__text {
    margin-top: 5.13vw;
  }
  body.mission ul.mission__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 11.79vw;
  }
  body.mission ul.mission__list li.mission__item {
    width: calc((100% - 5.13vw) / 2);
  }
  body.mission ul.mission__list li.mission__item:nth-child(2n) {
    margin-left: 4.87vw;
  }
  body.mission ul.mission__list li.mission__item:nth-child(n+3) {
    margin-top: 5.13vw;
  }
  body.mission ul.mission__list li.mission__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 5.13vw 2.56vw 3.85vw;
    text-decoration: none;
    color: #000;
    border-radius: 2.56vw;
    background: #F5F5F5;
  }
  body.mission ul.mission__list li.mission__item p.mission__number {
    position: absolute;
    z-index: 1;
    top: 2.56vw;
    left: 2.56vw;
    font-family: Outfit;
    font-size: 6.15vw;
    font-weight: 700;
    line-height: 1;
  }
  body.mission ul.mission__list li.mission__item figure.mission__img {
    position: relative;
    max-width: 25.64vw;
    margin: 0 auto;
  }
  body.mission ul.mission__list li.mission__item figure.mission__img::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_blank_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  body.mission ul.mission__list li.mission__item h3.mission__title {
    margin-top: 3.08vw;
    text-align: center;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1.5;
  }
  body.mission .mission__content {
    padding: 3.85vw 5.13vw 5.13vw;
  }
  body.mission .mission__content p {
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.greeting .contents__side ul.contents__side-list li a.contents__side-link--greeting {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.greeting .section__img {
    margin-left: -5.13vw;
  }
  body.greeting .section__img img {
    width: 100vw;
  }
  body.greeting h3.section__title {
    margin-top: 5.64vw;
  }
  body.greeting p.section__text {
    margin-top: 5.13vw;
  }
  body.staff .contents__side ul.contents__side-list li a.contents__side-link--staff {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.staff h5.section__title--border {
    margin-top: 10.26vw;
  }
  body.staff ul.staff__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5.13vw;
  }
  body.staff ul.staff__list li.staff__item {
    width: calc((100% - 5.13vw) / 2);
  }
  body.staff ul.staff__list li.staff__item:nth-child(2n) {
    margin-left: 4.87vw;
  }
  body.staff ul.staff__list li.staff__item:nth-child(n+3) {
    margin-top: 5.13vw;
  }
  body.staff ul.staff__list li.staff__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 2.56vw 2.56vw 5.13vw;
    text-decoration: none;
    color: #000;
    background-color: #F5F5F5;
    border-radius: 2.56vw;
  }
  body.staff ul.staff__list li.staff__item a::after {
    content: "";
    display: block;
    position: absolute;
    top: 3.08vw;
    right: 3.08vw;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_blank_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  body.staff ul.staff__list li.staff__item figure.staff__img {
    max-width: 25.64vw;
    margin: 0 auto;
  }
  body.staff ul.staff__list li.staff__item p.name {
    margin-top: 3.08vw;
    text-align: center;
  }
  body.staff ul.staff__list li.staff__item p.name strong {
    display: block;
    font-size: 4.10vw;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff ul.staff__list li.staff__item p.name span {
    display: block;
    margin-top: 2.31vw;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff .staff__content {
    padding: 3.85vw 5.13vw 5.13vw;
  }
  body.staff .staff__content figure.staff__img {
    width: 41.03vw;
    margin: 0 auto;
  }
  body.staff .staff__content dl.staff-info__list {
    margin-top: 3.85vw;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__name {
    text-align: center;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__name dt {
    font-size: 5.13vw;
    font-weight: 700;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__name dd {
    margin-top: 2.56vw;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item {
    display: flex;
    align-items: flex-start;
    margin-top: 2.56vw;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item dt {
    box-sizing: border-box;
    width: 17.95vw;
    padding: 1.28vw 2.56vw 1.79vw;
    text-align: center;
    font-size: 3.08vw;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #006400;
    border-radius: 0.51vw;
  }
  body.staff .staff__content dl.staff-info__list .staff-info__item dd {
    width: calc(100% - 20.51vw);
    margin-left: 2.56vw;
    padding-top: 1px;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1.5;
  }
  body.staff .staff__content .staff__message {
    box-sizing: border-box;
    position: relative;
    width: 100%;
    margin-top: 10.26vw;
    padding: 3.85vw 5.13vw;
    background: #F5F5F5;
    border-radius: 1.54vw;
  }
  body.staff .staff__content .staff__message::before {
    content: "";
    display: block;
    position: absolute;
    top: -5.38vw;
    left: 0;
    width: 28.21vw;
    height: 10.77vw;
    background: #F5F5F5;
    border-radius: 1.54vw 1.54vw 0 0;
  }
  body.staff .staff__content .staff__message p.staff__title {
    position: absolute;
    top: -2.05vw;
    left: 5.13vw;
    font-size: 3.59vw;
    font-weight: 700;
    color: #000;
    line-height: 1;
  }
  body.staff .staff__content .staff__message p.staff__text {
    font-size: 3.59vw;
  }
  body.business .contents__header--img .contents__header-inner {
    background-image: url("../../img/business/bg_title_sp.png");
  }
  body.business .contents__inner {
    margin-top: 10.26vw;
  }
  body.business ul.business__list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 6.41vw;
  }
  body.business ul.business__list li.business__item {
    width: calc((100% - 5.13vw) / 2);
  }
  body.business ul.business__list li.business__item:nth-child(2n) {
    margin-left: 4.87vw;
  }
  body.business ul.business__list li.business__item:nth-child(n+3) {
    margin-top: 5.13vw;
  }
  body.business ul.business__list li.business__item a {
    box-sizing: border-box;
    display: block;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 5.13vw 2.56vw 3.85vw;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 2.05vw;
  }
  body.business ul.business__list li.business__item p.business__number {
    position: absolute;
    z-index: 1;
    top: 2.56vw;
    left: 2.56vw;
    font-family: Outfit;
    font-size: 6.15vw;
    font-weight: 700;
    line-height: 1;
  }
  body.business ul.business__list li.business__item figure.business__img {
    position: relative;
    width: 25.64vw;
    margin: 0 auto;
  }
  body.business ul.business__list li.business__item figure.business__img::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  body.business ul.business__list li.business__item h3.business__title {
    margin-top: 3.08vw;
    text-align: center;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.business ul.business__list li.business__item p.business__text {
    margin-top: 2.31vw;
    font-size: 3.08vw;
    font-weight: 400;
  }
  body.serial ul.modal__list {
    margin-top: 6.41vw;
  }
  body.serial ul.modal__list li.modal__item + li {
    margin-top: 2.56vw;
  }
  body.serial .serial__content {
    padding: 6.15vw 5.13vw 5.13vw;
  }
  body.serial .serial__content p.serial__text--lead {
    font-size: 4.10vw;
    font-weight: 400;
  }
  body.serial .serial__content p.serial__text {
    margin-top: 3.85vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.serial .serial__content p.serial__title {
    margin-top: 5.13vw;
    font-size: 4.10vw;
    font-weight: 700;
  }
  body.serial .serial__content ul.list--disc {
    margin-top: 2.56vw;
  }
  body.serial .serial__content p.serial__text--note {
    margin-top: 6.41vw;
    padding: 3.85vw 5.13vw 4.36vw;
    font-size: 3.08vw;
    font-weight: 400;
    background: #F5F5F5;
    border-radius: 1.54vw;
  }
  body.serial_01 .contents__side ul.contents__side-list li a.contents__side-link--serial_01 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.serial_02 .contents__side ul.contents__side-list li a.contents__side-link--serial_02 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.serial_03 .contents__side ul.contents__side-list li a.contents__side-link--serial_03 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.serial_04 .contents__side ul.contents__side-list li a.contents__side-link--serial_04 {
    font-weight: 700;
    color: #fff;
    background: #006400;
    pointer-events: none;
  }
  body.topics .section + .section {
    margin-top: 12.82vw;
  }
  body.topics ul.topics-meta__list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.03vw;
  }
  body.topics ul.topics-meta__list li {
    width: calc((100% - 1.28vw) / 2);
  }
  body.topics ul.topics-meta__list li:first-child {
    width: 100%;
  }
  body.topics ul.topics-meta__list li a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 10.26vw;
    padding: 1.28vw;
    color: #000;
    text-align: center;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 400;
    line-height: 1;
    background: #F5F5F5;
    border-radius: 1.03vw;
    transition: all 0.2s;
  }
  body.topics ul.topics__list {
    margin-top: 6.41vw;
  }
  body.topics ul.topics__list li.topics__item + li {
    margin-top: 2.56vw;
  }
  body.topics ul.topics__list li.topics__item a {
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
    position: relative;
    padding: 5.13vw;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: #000;
    background: #F5F5F5;
    border-radius: 2.56vw;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block {
    position: relative;
    width: 100%;
    min-width: 0;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.topics__date {
    margin-bottom: 3.85vw;
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.topics__title {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    width: 100%;
    padding-bottom: 2.56vw;
    font-size: 4.36vw;
    font-weight: 700;
    line-height: 1.4;
    border-bottom: 1px solid #000;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.topics__text {
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    width: 100%;
    margin-top: 3.85vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.text--arrow {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    height: 5.64vw;
    margin-top: 3.85vw;
    padding-left: 7.18vw;
    text-decoration: none;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.topics ul.topics__list li.topics__item .topics__text-block p.text--arrow::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 2.82vw);
    left: 0;
    width: 5.64vw;
    height: 5.64vw;
    background-color: #000;
    background-image: url("../img/ic_arrow_white.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.31vw 2.05vw;
    border-radius: 100vmax;
  }
  body.topics ul.topics__list li.topics__item.report {
    pointer-events: none;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block {
    position: relative;
    width: calc(100% - 38.46vw);
    min-width: 0;
    padding-bottom: 0;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.topics__title {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.topics__text {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.topics__date,
  body.topics ul.topics__list li.topics__item.report .topics__text-block p.text--arrow {
    display: none;
  }
  body.topics ul.topics__list li.topics__item.report figure.topics__img {
    width: 33.33vw;
  }
  body.topics ul.topics__list li.topics__item.article {
    pointer-events: none;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block {
    padding-bottom: 0;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block p.topics__title {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block p.topics__text {
    overflow: visible;
    display: block;
    -webkit-box-orient: initial;
    -webkit-line-clamp: unset;
    line-clamp: unset;
    white-space: normal;
  }
  body.topics ul.topics__list li.topics__item.article .topics__text-block p.text--arrow {
    display: none;
  }
  body.all ul.topics-meta__list li.all a {
    font-weight: 700;
    background: #bcecd3;
    pointer-events: none;
  }
  body.new ul.topics-meta__list li.new a {
    font-weight: 700;
    background: #D0F3B2;
    pointer-events: none;
  }
  body.column ul.topics-meta__list li.column a {
    font-weight: 700;
    background: #F3F17D;
    pointer-events: none;
  }
  body.report ul.topics-meta__list li.report a {
    font-weight: 700;
    background: #CBEDF6;
    pointer-events: none;
  }
  body.article ul.topics-meta__list li.article a {
    font-weight: 700;
    background: #D7CCF3;
    pointer-events: none;
  }
  body.article h5.topics__year-title {
    position: relative;
    margin-top: 10.26vw;
    padding-bottom: 2.56vw;
    font-size: 5.13vw;
    font-weight: 700;
  }
  body.article h5.topics__year-title::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 64.62vw;
    height: 0.77vw;
    background: #006400;
  }
  body.article h5.topics__year-title::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #006400;
  }
  body.article ul.topics__list {
    display: block;
    margin-top: 7.69vw;
  }
  body.article ul.topics__list li.topics__item {
    width: 100%;
    margin: 5.13vw 0 0 !important;
  }
  body.detail p.topics__date {
    font-size: 3.08vw;
    font-weight: 400;
    line-height: 1;
    white-space: nowrap;
  }
  body.detail h3.topics__title {
    margin-top: 2.31vw;
    font-size: 6.15vw;
    font-weight: 700;
    line-height: 1;
  }
  body.detail section.section {
    margin-top: 11.54vw;
  }
  body.recruit .contents__header--img .contents__header-inner {
    background-image: url("../../img/recruit/bg_title_sp.png");
  }
  body.recruit .contents__inner {
    margin-top: 10.26vw;
  }
  body.recruit ul.modal__list {
    margin-top: 6.41vw;
  }
  body.recruit ul.modal__list li.modal__item + li {
    margin-top: 2.56vw;
  }
  body.recruit .recruit__content {
    padding: 3.85vw 5.13vw 5.13vw;
  }
  body.recruit .recruit__content p.recruit__text {
    margin-top: 2.56vw;
    font-size: 3.59vw;
    font-weight: 400;
  }
  body.recruit .recruit__content dl.recruit-info__list {
    margin-top: 2.56vw;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item {
    display: flex;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item + .recruit-info__item {
    margin-top: 2.56vw;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item dt {
    box-sizing: border-box;
    width: 17.95vw;
    padding: 1.28vw 2.56vw 1.79vw;
    text-align: center;
    font-size: 3.08vw;
    font-weight: 500;
    color: #FFF;
    line-height: 1;
    background: #006400;
    border-radius: 100vmax;
  }
  body.recruit .recruit__content dl.recruit-info__list .recruit-info__item dd {
    box-sizing: border-box;
    width: calc(100% - 20.51vw);
    margin-left: 2.56vw;
    padding: 0.51vw 2.56vw 0 0;
    font-size: 3.59vw;
    font-weight: 400;
    line-height: 1.5;
  }
  body.recruit .recruit__content dl.recruit-info__list--columns {
    display: flex;
    flex-wrap: wrap;
  }
  body.recruit .recruit__content dl.recruit-info__list--columns .recruit-info__item {
    display: flex;
    width: 50%;
  }
  body.recruit .recruit__content dl.recruit-info__list--columns .recruit-info__item + .recruit-info__item {
    margin-top: 0;
  }
  body.recruit .recruit__content dl.recruit-info__list--columns .recruit-info__item:nth-child(n+3) {
    margin-top: 2.56vw;
  }
  body.recruit .recruit__content p.recruit__title {
    font-size: 4.10vw;
    font-weight: 700;
  }
  body.recruit .recruit__content p.recruit__title:not(:first-child) {
    margin-top: 6.41vw;
  }
  body.recruit .recruit__content ul.list--disc {
    margin-top: 2.56vw;
  }
  body.recruit .recruit__entry {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 3.85vw 5.13vw;
    border-top: 1px solid #EBEBEB;
  }
  body.recruit .recruit__entry .btn--entry {
    width: 43.08vw;
    height: 12.31vw;
    margin: 0 auto;
  }
  body.recruit .recruit__entry .btn--entry a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 0 0 5.13vw;
    text-decoration: none;
    text-align: center;
    font-size: 3.59vw;
    font-weight: 700;
    color: #fff;
    font-weight: 700;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.recruit .recruit__entry .btn--entry a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  body.contact .section + .section {
    margin-top: 12.82vw;
  }
  body.contact .block--contact {
    display: none;
  }
  /* 入力画面 ====================*/
  body.form section.section p.section__text--lead {
    margin-bottom: 6.41vw;
  }
  body.form section.section dl.form dt {
    display: flex;
    align-items: center;
    height: 5.13vw;
    font-size: 3.59vw;
    font-weight: 700;
    line-height: 1;
  }
  body.form section.section dl.form dt span.ic__required,
  body.form section.section dl.form dt span.ic__any {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 8.72vw;
    height: 4.62vw;
    margin-right: 2.56vw;
    text-align: center;
    font-size: 3.08vw;
    font-weight: 700;
    color: #fff;
    line-height: 1;
    border-radius: 1.03vw;
  }
  body.form section.section dl.form dt span.ic__required {
    background: #FF0037;
  }
  body.form section.section dl.form dt span.ic__any {
    background: #A0A0A0;
  }
  body.form section.section dl.form dd {
    box-sizing: border-box;
    width: 100%;
    margin-top: 2.56vw;
  }
  body.form section.section dl.form dd input[type=text],
  body.form section.section dl.form dd input[type=tel] {
    box-sizing: border-box;
    width: 100%;
    height: 12.82vw;
    padding: 2.56vw 3.85vw;
    font-size: 3.59vw;
    background: #fff;
    border: 1px solid #D6D6D6;
    border-radius: 1.54vw;
  }
  body.form section.section dl.form dd select {
    box-sizing: border-box;
    width: 100%;
    height: 12.82vw;
    padding: 2.56vw 3.85vw;
    font-size: 3.59vw;
    line-height: 1;
    background: #fff url("../img/bg_select.svg") right 5.13vw center no-repeat;
    background-size: 3.08vw 1.79vw;
    cursor: pointer;
    border: 1px solid #D6D6D6;
    border-radius: 1.54vw;
  }
  body.form section.section dl.form dd textarea {
    box-sizing: border-box;
    width: 100%;
    padding: 2.56vw 3.85vw;
    font-size: 3.59vw;
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.7;
    border: 1px solid #D6D6D6;
    border-radius: 1.54vw;
  }
  body.form section.section dl.form dd span.error {
    width: 100%;
    margin-top: 1.28vw;
    font-size: 3.59vw;
    color: #FF0037;
  }
  body.form section.section dl.form dd.zip {
    width: 38.46vw;
  }
  body.form section.section dl.form dd.checkbox {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item {
    display: block;
    margin: 3.85vw 5.13vw 0 0;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item label {
    display: block;
    height: 100%;
    position: relative;
    cursor: pointer;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox] {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox] + span {
    display: flex;
    padding-left: 7.69vw;
    font-size: 3.59vw;
    line-height: 1;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox] + span::before {
    content: "";
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: -0.51vw;
    left: 0;
    width: 5.13vw;
    height: 5.13vw;
    border: 1px solid #D6D6D6;
    background: #fff;
    border-radius: 1.03vw;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox]:checked + span::before {
    background: #006400;
  }
  body.form section.section dl.form dd.checkbox span.horizontal-item input[type=checkbox]:checked + span:after {
    content: "";
    position: absolute;
    top: 0;
    left: 1.54vw;
    width: 1.03vw;
    height: 1.79vw;
    transform: rotate(45deg);
    border: 0.51vw solid transparent;
    border-bottom: 0.51vw solid #fff;
    border-right: 0.51vw solid #fff;
  }
  body.form section.section dl.form + dl.form {
    margin-top: 3.59vw;
  }
  body.form section.section .submit {
    margin-top: 10.26vw;
  }
  body.form section.section .submit .form__agree {
    padding: 4.10vw 5.13vw 4.62vw;
    background: #F5F5F5;
    border-radius: 1.54vw;
  }
  body.form section.section .submit .form__agree p {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3.59vw;
    line-height: 1.4;
  }
  body.form section.section .submit .form__agree p > span {
    display: inline-block;
  }
  body.form section.section .submit .form__agree p > span label {
    display: block;
    height: 100%;
    position: relative;
    cursor: pointer;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox] {
    position: absolute;
    opacity: 0;
    top: 0;
    left: 0;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox] + span {
    display: flex;
    padding-left: 6.41vw;
    font-size: 3.59vw;
    line-height: 1;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox] + span::before {
    content: "";
    box-sizing: border-box;
    display: block;
    position: absolute;
    top: -0.51vw;
    left: 0;
    width: 5.13vw;
    height: 5.13vw;
    background: #fff;
    border: 1px solid #D6D6D6;
    border-radius: 1.03vw;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox]:checked + span::before {
    background: #006400;
  }
  body.form section.section .submit .form__agree p > span input[type=checkbox]:checked + span:after {
    content: "";
    position: absolute;
    top: 0;
    left: 1.54vw;
    width: 1.03vw;
    height: 1.79vw;
    transform: rotate(45deg);
    border: 0.51vw solid transparent;
    border-bottom: 0.51vw solid #fff;
    border-right: 0.51vw solid #fff;
  }
  body.form section.section .submit .form__agree p span.text {
    line-height: 1.5;
  }
  body.form section.section .submit .form__agree span.error {
    width: 100%;
    margin-top: 1.28vw;
    text-align: center;
    font-size: 3.08vw;
    color: #FF0037;
  }
  body.form section.section .submit .btn__area {
    display: flex;
    justify-content: center;
    margin-top: 7.69vw;
  }
  body.form section.section .submit .btn__area button.btn__submit {
    width: 43.08vw;
    height: 12.31vw;
    padding-top: 0;
  }
  body.form section.section .submit .btn__area button.btn__submit span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    font-size: 4.10vw;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.form section.section .submit .btn__area button.btn__submit span:hover {
    background-color: #006400;
  }
  body.form section.section .submit .btn__area button.btn__submit span:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.form section.section .submit .btn__area button.btn__submit span::before {
    content: none;
  }
  body.form section.section .submit .btn__area button.btn__submit span::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  body.form section.section .submit .btn__area button.btn__submit span span {
    display: none;
  }
  body.form section.section .submit .btn__area button.btn__back {
    width: 43.08vw;
    height: 12.31vw;
    margin-right: 3.85vw;
    padding-top: 0;
  }
  body.form section.section .submit .btn__area button.btn__back span {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    font-size: 4.10vw;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.form section.section .submit .btn__area button.btn__back span:hover {
    background-color: #006400;
  }
  body.form section.section .submit .btn__area button.btn__back span:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.form section.section .submit .btn__area button.btn__back span::before {
    content: none;
  }
  body.form section.section .submit .btn__area button.btn__back span::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    left: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
    transform: scaleX(-1);
  }
  body.form section.section .submit .btn__area button.btn__back span span {
    display: none;
  }
  body.form section.section .precautions {
    margin-top: 15.38vw;
    padding: 7.69vw;
    background: #F5F5F5;
    border-radius: 2.56vw;
  }
  body.form section.section .precautions h6.section__title {
    text-align: center;
  }
  body.form section.section .precautions ul.list--disc {
    margin-top: 2.56vw;
  }
  /* 確認画面 ====================*/
  body.confirmation section.section dl.form dt span.ic__required,
  body.confirmation section.section dl.form dt span.ic__any {
    display: none;
  }
  body.confirmation section.section dl.form dd,
  body.confirmation section.section dl.form dd.checkbox,
  body.confirmation section.section dl.form dd.zip,
  body.confirmation section.section dl.form dd.textarea {
    width: 100%;
    min-height: 12.82vw;
    margin-top: 2.56vw;
    padding: 3.08vw 3.85vw 3.59vw;
    font-size: 4.10vw;
    background: rgba(230, 246, 235, 0.6);
    border-bottom: none;
  }
  body.confirmation section.section .submit .form__agree {
    display: none;
  }
  /* 完了画面 ====================*/
  body.thanks section.section p.section__text--lead {
    text-align: center;
  }
  body.thanks section.section .btn__top {
    width: 43.08vw;
    height: 12.31vw;
    margin: 0 auto;
  }
  body.thanks section.section .btn__top a {
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-size: 4.10vw;
    font-weight: 700;
    color: #FFF;
    background-color: #263BA2;
    border-radius: 100vmax;
  }
  body.thanks section.section .btn__top a:hover {
    background-color: #006400;
  }
  body.thanks section.section .btn__top a:hover::after {
    content: "";
    background-image: url("../img/ic_arrow_green.svg");
  }
  body.thanks section.section .btn__top a::before {
    content: none;
  }
  body.thanks section.section .btn__top a::after {
    content: "";
    display: block;
    position: absolute;
    top: calc(50% - 3.59vw);
    right: 2.56vw;
    width: 7.18vw;
    height: 7.18vw;
    background-color: #fff;
    background-image: url("../img/ic_arrow_blue.svg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: 2.82vw 2.56vw;
    border-radius: 100vmax;
  }
  body.thanks section.section .btn__top a span {
    display: none;
  }
}/*# sourceMappingURL=style.css.map */