@charset "UTF-8";
@layer header {
  /*************************************************************
  	ヘッダーCSS
  *************************************************************/
  /* ----- ヘッダー ----- */
  header {
    background-color: #ffffff;
    width: 100%;
    margin: 0 auto;
    box-shadow: 0 10px 6px -6px rgba(66, 158, 60, 0.4980392157);
    position: relative;
    z-index: 3;
  }
  @media screen and (max-width: 750px) {
    header {
      min-height: 45px;
    }
    body#home header {
      min-height: 90px;
    }
  }
  header h1 {
    margin: 0 !important;
    width: 50.923%;
    max-width: 662px;
  }
  @media screen and (max-width: 750px) {
    header h1 {
      width: calc(100% - 5px);
      max-width: none;
    }
  }
  header nav {
    margin: 0;
    width: 49.077%;
    max-width: 638px;
  }
  @media screen and (max-width: 750px) {
    header nav {
      width: 50px;
      max-width: none;
    }
    body#home header nav {
      width: 100px;
    }
  }
  .header__container {
    display: flex;
    justify-content: center;
    width: 100%;
    max-width: 1300px;
    margin-left: auto;
    margin-right: auto;
    container-type: inline-size;
    container-name: header__access-container;
  }
  @media screen and (max-width: 750px) {
    .header__container {
      justify-content: space-between;
    }
  }
  @media screen and (max-width: 750px) {
    .header__container h1 {
      display: flex;
      justify-content: flex-start;
      align-items: center;
    }
  }
  .header__logo {
    display: block;
    margin: 0;
    padding-left: 25.6797%;
    transition: padding-left 0.3s;
  }
  @container header__access-container ( width < 1120px ) {
    .header__logo {
      padding-left: 5%;
      padding-right: 5%;
    }
  }
  @media screen and (max-width: 750px) {
    .header__logo {
      margin: 0;
      line-height: 1;
      padding-left: 10px;
    }
    body#home .header__logo {
      padding-left: 20px;
    }
  }
  .header__logo img {
    max-width: 392px;
    width: 100%;
    height: auto;
    padding: 20px 0 18px;
  }
  @media screen and (max-width: 750px) {
    .header__logo img {
      width: 196px;
      padding: 0;
    }
    body#home .header__logo img {
      width: 392px;
    }
  }
  @media screen and (max-width: 750px) {
    nav {
      width: 50px;
      height: 45px;
    }
    body#home nav {
      width: 100px;
      height: 90px;
    }
  }
  .header__humberger {
    display: none;
  }
  @media screen and (max-width: 750px) {
    .header__humberger {
      width: 100%;
      height: 100%;
      background-color: #ccef50;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      border: 0;
    }
  }
  @media screen and (max-width: 750px) {
    .header__humberger div {
      content: "";
      display: block;
      height: 1px;
      width: 20px;
      background-color: #475147;
      position: absolute;
      transition: all 0.6s ease;
    }
    body#home .header__humberger div {
      height: 2px;
      width: 40px;
    }
  }
  @media screen and (max-width: 750px) {
    .header__humberger div::before, .header__humberger div::after {
      content: "";
      display: block;
      height: 1px;
      width: 20px;
      background-color: #475147;
      position: absolute;
      transition: all 0.6s ease;
    }
    body#home .header__humberger div::before, body#home .header__humberger div::after {
      height: 2px;
      width: 40px;
    }
  }
  @media screen and (max-width: 750px) {
    .header__humberger div::before {
      bottom: 7px;
    }
    body#home .header__humberger div::before {
      bottom: 14px;
    }
  }
  @media screen and (max-width: 750px) {
    .header__humberger div::after {
      top: 7px;
    }
    body#home .header__humberger div::after {
      top: 14px;
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__humberger div {
      background-color: rgba(255, 255, 255, 0);
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__humberger div::before {
      bottom: 0;
      transform: rotate(45deg);
    }
    body#home nav.is-active .header__humberger div::before {
      bottom: 0;
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__humberger div::after {
      top: 0;
      transform: rotate(-45deg);
    }
    body#home nav.is-active .header__humberger div::after {
      top: 0;
    }
  }
  .header__navi {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: space-between;
    margin: 0;
    padding: 0;
  }
  @media screen and (max-width: 750px) {
    .header__navi {
      display: none;
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__navi {
      width: 100%;
      height: 100vh;
      position: absolute;
      left: 0;
      background-color: #ffffff;
      z-index: 10;
      display: block;
      box-shadow: inset 0 10px 6px -6px rgba(66, 158, 60, 0.4980392157);
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__navi li {
      display: block;
      text-align: center;
      padding: 17px;
      font-size: 0.9em;
      box-sizing: border-box;
    }
    body#home nav.is-active .header__navi li {
      padding: 34px;
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__navi > li:first-child {
      padding-top: 70px;
    }
    body#home nav.is-active .header__navi > li:first-child {
      padding-top: 140px;
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__navi > li:last-child {
      background-color: #ffffff;
    }
  }
  .header__navi li {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    white-space: nowrap;
    position: relative;
  }
  .header__navi li a {
    padding: 6px 5%;
    margin: 0;
    font-weight: bold;
    text-decoration: none;
    text-align: center;
  }
  @media screen and (max-width: 750px) {
    .header__navi li a {
      padding: 3px 6px;
      margin: 0 10px;
    }
    body#home .header__navi li a {
      font-size: 1.8em !important;
    }
  }
  .header__navi > li > a:hover {
    color: #53b14d !important;
    border-bottom: 1px solid #53b14d !important;
  }
  .header__navi > li:last-child {
    background-color: #ccef50;
  }
  .header__navi > li.is-active .header__access {
    display: block;
  }
  .header__navi > li .header__access-container {
    position: absolute;
    top: 80px;
    right: -90px;
  }
  @container header__access-container ( width < 1120px ) {
    .header__navi > li .header__access-container {
      right: 0;
    }
  }
  @media screen and (max-width: 750px) {
    nav.is-active .header__navi > li .header__access-container {
      display: none;
    }
  }
  .header__navi > li .header__access {
    list-style: none;
    background-color: #ffffff;
    border-radius: 8px;
    box-shadow: 4px 4px 8px rgba(66, 158, 60, 0.4980392157);
    padding: 0;
    display: none;
    margin-top: 20px;
    overflow: hidden;
  }
  .header__navi > li .header__access li {
    font-size: 0.87em;
    text-align: center;
  }
  .header__navi > li .header__access li:not(:first-of-type) a {
    position: relative;
  }
  .header__navi > li .header__access li:not(:first-of-type) a::before {
    position: absolute;
    content: "";
    display: block;
    width: calc(100% - 40px);
    height: 1px;
    left: 0;
    right: 0;
    top: 0;
    margin-left: auto;
    margin-right: auto;
    background-color: #d8d8d8;
  }
  .header__navi > li .header__access li a {
    display: block;
    width: 100%;
    padding: 12px 20px;
    z-index: 2;
  }
  @media (any-hover: hover) {
    .header__navi > li .header__access li a:hover, .header__navi > li .header__access li a:focus {
      background-color: rgba(229, 239, 200, 0.7490196078) !important;
    }
  }
}
@layer footer {
  /*************************************************************
  	フッターCSS
  *************************************************************/
  footer {
    width: 100%;
    background-color: #eff7f0;
    font-size: 0.7em;
  }
  body#home footer {
    font-size: 0.7em !important;
  }
  footer ul {
    list-style: none;
  }
  @media screen and (max-width: 750px) {
    .footer {
      font-size: 1em;
    }
  }
  .footer__container {
    max-width: 1480px;
    margin: 0 auto;
    padding: 0 40px;
    box-sizing: border-box;
  }
  @media screen and (max-width: 750px) {
    .footer__container {
      padding: 0 20px;
    }
    body#home .footer__container {
      padding: 0 40px;
    }
  }
  .footer__container a {
    text-decoration: none;
  }
  .footer__navi {
    display: flex;
    justify-content: space-between;
    gap: 60px;
    padding: 64px 0 20px;
  }
  @media screen and (max-width: 750px) {
    .footer__navi {
      display: block;
      gap: 30px;
      padding: 32px 0 10px;
    }
    body#home .footer__navi {
      gap: 60px;
      padding: 64px 0 20px;
    }
  }
  .footer__left {
    flex-basis: 50%;
    font-size: 1.5em !important;
    font-weight: bold;
  }
  @media screen and (max-width: 750px) {
    .footer__left {
      text-align: center;
      margin-bottom: 24px;
      font-size: 0.75em !important;
    }
    body#home .footer__left {
      margin-bottom: 48px;
      font-size: 1.5em !important;
    }
  }
  .footer__left p {
    margin-top: 1em;
    margin-bottom: 1em;
  }
  @media screen and (max-width: 750px) {
    .footer__left p {
      font-size: 0.75rem;
    }
    body#home .footer__left p {
      font-size: 1.5rem !important;
    }
  }
  .footer__left img {
    width: 100%;
    max-width: 400px;
    object-fit: contain;
  }
  @media screen and (max-width: 750px) {
    .footer__left img {
      max-width: 248px;
    }
    body#home .footer__left img {
      max-width: 496px;
    }
  }
  .footer__right {
    flex-grow: 1;
    display: flex;
    justify-content: flex-end;
    gap: 8.57%;
  }
  @media screen and (max-width: 750px) {
    .footer__right {
      justify-content: center;
      font-size: 0.7em;
    }
    body#home .footer__right {
      font-size: 1.4em !important;
    }
  }
  .footer__right a {
    text-decoration: none;
  }
  @media (any-hover: hover) {
    .footer__right a:hover, .footer__right a:focus {
      color: #53b14d !important;
    }
  }
  .footer__link {
    font-size: 1.8em !important;
    font-weight: bold;
    padding-right: 30px;
  }
  @media screen and (max-width: 750px) {
    .footer__link {
      font-size: 0.84rem !important;
      padding-right: 15px;
    }
    body#home .footer__link {
      font-size: 1.75em !important;
      padding-right: 30px;
    }
  }
  .footer__company h2,
  .footer__business h2 {
    margin: 0 0 34px;
    font-size: 1.8em !important;
    font-weight: bold;
  }
  @media screen and (max-width: 750px) {
    .footer__company h2,
    .footer__business h2 {
      font-size: 1.75em !important;
      margin: 0 0 17px;
    }
    body#home .footer__company h2,
    body#home .footer__business h2 {
      margin: 0 0 34px;
      font-size: 1.75em !important;
    }
  }
  .footer__link ul {
    margin: 0;
    padding: 0;
  }
  .footer__company ul,
  .footer__business ul {
    margin: 0;
    padding: 0;
    font-size: 1.5em !important;
    font-weight: 500;
  }
  @media screen and (max-width: 750px) {
    body#home .footer__company ul,
    body#home .footer__business ul {
      font-size: 1.5em !important;
    }
  }
  .footer__right li {
    margin-bottom: 34px;
  }
  @media screen and (max-width: 750px) {
    .footer__right li {
      margin-bottom: 17px;
    }
    body#home .footer__right li {
      margin-bottom: 34px;
    }
  }
  .footer__document {
    max-width: 1400px;
    padding: 20px 0;
    border-top: 1px solid #707070;
    font-size: 1.5em !important;
    font-weight: bold;
  }
  @media screen and (max-width: 750px) {
    .footer__document {
      font-size: 0.75rem !important;
      padding: 10px 0;
    }
    body#home .footer__document {
      padding: 20px 0;
      font-size: 1.5rem !important;
    }
  }
  .footer__document a {
    text-decoration: none;
  }
  @media (any-hover: hover) {
    .footer__document a:hover, .footer__document a:focus {
      color: #53b14d !important;
    }
  }
  .footer__document ul {
    display: flex;
    justify-content: center;
    gap: 7.14%;
    padding-top: 16px;
    padding-bottom: 16px;
    padding: 0;
    margin: 0;
  }
  @media screen and (max-width: 750px) {
    .footer__document ul {
      display: block;
      text-align: center;
      line-height: 2em;
    }
    body#home .footer__document ul {
      margin: 0;
      padding-top: 32px !important;
      padding-bottom: 32px !important;
      padding-left: 0;
    }
  }
  .footer__document li:nth-child(2) a, .footer__document li:nth-child(3) a {
    position: relative;
  }
  .footer__document li:nth-child(2) a::after, .footer__document li:nth-child(2) a::after, .footer__document li:nth-child(3) a::after, .footer__document li:nth-child(3) a::after {
    position: absolute;
    content: "";
    width: 16px;
    height: 20px;
    top: 4px;
    right: -25px;
    display: block;
    background: url("/common/images/icon_link-pdf-green.svg") no-repeat left top;
    background-size: contain;
  }
  @media screen and (max-width: 750px) {
    .footer__document li:nth-child(2) a::after, .footer__document li:nth-child(2) a::after, .footer__document li:nth-child(3) a::after, .footer__document li:nth-child(3) a::after {
      width: 8px;
      height: 10px;
      top: 4px;
      right: -14px;
    }
    body#home .footer__document li:nth-child(2) a::after, body#home .footer__document li:nth-child(2) a::after, body#home .footer__document li:nth-child(3) a::after, body#home .footer__document li:nth-child(3) a::after {
      width: 16px;
      height: 20px;
      top: 8px;
      right: -28px;
    }
  }
  .footer__copyright {
    max-width: 1400px;
    display: flex;
    align-items: flex-end;
    padding-bottom: 32px;
    font-size: 1.5em !important;
  }
  @media screen and (max-width: 750px) {
    .footer__copyright {
      font-size: 0.75rem !important;
      padding-bottom: 16px;
    }
    body#home .footer__copyright {
      font-size: 1.5rem !important;
      padding-bottom: 32px;
    }
  }
  .footer__copyright span {
    flex-grow: 1;
    text-align: center;
  }
  .footer__copyright img {
    width: 80px;
  }
  @media screen and (max-width: 750px) {
    body#home .footer__copyright img {
      width: 160px;
    }
  }
}
@layer header, footer;/*# sourceMappingURL=top_headerfooter.css.map */