@charset "UTF-8";
/*---------- reset ----------*/
*,
*:before,
*:after {
  box-sizing: border-box; }

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, legend, input, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

address, caption, cite, code, dfn, th, var {
  font-style: normal;
  font-weight: normal; }

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

html {
  font-family: YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
  overflow-y: scroll;
  font-size: 62.5%;
  width: 100%;
  -webkit-text-size-adjust: 100%; }

ol, ul {
  list-style: none; }

input[type="submit"],
input[type="button"],
input[type="reset"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer; }

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration {
  display: none; }

input[type="submit"]::focus,
input[type="button"]::focus,
input[type="reset"]::focus {
  outline-offset: -2px; }

/*---------- WEB Fonts ----------*/
@font-face {
  font-family: "Din";
  src: url("../fonts/din-bold.otf");
  font-weight: 600; }
@font-face {
  font-family: "Din";
  src: url("../fonts/din-medium.otf");
  font-weight: 500; }
@font-face {
  font-family: "Din";
  src: url("../fonts/din-regular.otf");
  font-weight: 400; }
/*--------------------*/
/*---------- base ----------*/
html {
  overflow-x: hidden;
  overflow-y: scroll;
  min-width: 320px; }

body {
  font-family: 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
  color: #000;
  position: relative;
  font-size: 1.8rem;
  line-height: 1.8;
  letter-spacing: .08em;
  -webkit-font-feature-settings: 'palt' 1;
  font-feature-settings: 'palt' 1; }
  @media screen and (max-width: 768px) {
    body {
      font-size: 1.6rem; } }

_:-ms-lang(x)::-ms-backdrop, body {
  /*IE11のみに適用*/
  letter-spacing: .02em; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-style: normal;
  font-weight: normal; }

strong {
  font-style: normal;
  font-weight: bolder; }

em {
  font-style: normal;
  font-weight: 500; }

q::before,
q::after {
  display: none; }

fieldset {
  border: none; }

hr {
  display: none; }

.clear {
  clear: both; }

.clearfix:after {
  content: ".";
  display: block;
  clear: both;
  height: 0px;
  visibility: hidden; }

.clearfix {
  min-height: 1px; }

img {
  width: 100%;
  height: auto;
  vertical-align: top;
  border: 0;
  /*pointer-events: none;*/ }

a {
  color: #1D7885;
  background: transparent;
  text-decoration: none;
  outline-style: none; }

@media screen and (min-width: 769px) {
  a:hover {
    color: #00B092; }

  .hover a {
    opacity: 1.0;
    transition: opacity .5s,color .5s; }
    .hover a:hover {
      opacity: .6; } }
a img {
  line-height: 0; }

iframe {
  display: block; }

button,
input,
optgroup,
select,
textarea {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 100%;
  line-height: 1.15;
  margin: 0; }

input[type="text"],
textarea {
  background-color: #DCDDDD;
  width: 100%; }

.txt_r {
  text-align: right; }

.txt_c {
  text-align: center; }
  @media screen and (max-width: 768px) {
    .txt_c {
      text-align: left; } }

.small_txt {
  font-size: 80%; }

.bld {
  font-weight: 500; }

.bld_L {
  font-weight: 500;
  font-size: 120%; }

.strike {
  text-decoration: line-through; }

.important {
  color: #FF0000; }

.is-tab {
  display: none; }

.sp_only {
  display: none; }

.package {
  display: flex; }

em {
  color: #FF2200;
  font-weight: 500; }

@media screen and (max-width: 1000px) {
  br.is-tab {
    display: inline; } }
@media screen and (max-width: 768px) {
  .sp_only {
    display: block; }

  br.sp_only {
    display: inline; }

  .pc_only {
    display: none !important; } }
/*---------- btn ----------*/
.btn_more {
  max-width: 247px;
  width: 100%;
  margin: 0 auto; }
  .btn_more span {
    position: relative;
    z-index: 2; }
  .btn_more a, .btn_more.nolink {
    color: #00B092;
    letter-spacing: .05em;
    line-height: 1.2;
    font-weight: 500;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    background-color: #fff;
    border: solid 1px #00B092;
    position: relative;
    transition: color .5s,background-color .5s,border-color .5s; }
    @media screen and (max-width: 768px) {
      .btn_more a, .btn_more.nolink {
        font-size: 1.4rem;
        height: 44px; } }
  .contents .btn_more a {
    color: #00B092;
    text-decoration: none; }
  .btn_more a::after, .btn_more.nolink::after {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    border-top: solid 1px #00B092;
    border-right: solid 1px #00B092;
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%) rotate(45deg);
    transition: border-color .5s; }
  @media screen and (min-width: 769px) {
    .btn_more a:hover, a:hover .btn_more.nolink {
      color: #fff;
      background-color: #00B092;
      border-color: #fff; }
    .btn_more a:hover::after, a:hover .btn_more.nolink::after {
      border-color: #fff; } }
  .btn_more.mailform {
    max-width: 320px; }
    .btn_more.mailform a {
      letter-spacing: .02em; }
      @media screen and (max-width: 768px) {
        .btn_more.mailform a {
          height: 60px; } }
      .btn_more.mailform a span {
        position: relative;
        display: block;
        padding-left: 38px; }
        .btn_more.mailform a span::before, .btn_more.mailform a span::after {
          content: "";
          display: block;
          position: absolute;
          width: 32px;
          height: 32px;
          background-repeat: no-repeat;
          background-position: 0 0;
          background-size: 32px 32px;
          left: 0;
          top: 50%;
          transform: translateY(-50%);
          transition: opacity .5s; }
        .btn_more.mailform a span::before {
          background-image: url("../images/icon_mail_gr.svg");
          z-index: 2; }
        .btn_more.mailform a span::after {
          background-image: url("../images/icon_mail_wh.svg");
          opacity: 0; }
      @media screen and (min-width: 769px) {
        .btn_more.mailform a:hover span::before {
          opacity: 0; }
        .btn_more.mailform a:hover span::after {
          opacity: 1; } }
  @media screen and (min-width: 769px) {
    .btn_more.lft {
      margin-left: 0; } }

.btn_more_group {
  display: flex;
  justify-content: center;
  column-gap: 30px; }
  @media screen and (max-width: 768px) {
    .btn_more_group {
      flex-direction: column;
      align-items: center; } }
  .btn_more_group .btn_more {
    margin-left: 0;
    margin-right: 0; }
    @media screen and (max-width: 768px) {
      .btn_more_group .btn_more {
        margin-bottom: 15px; }
        .btn_more_group .btn_more:last-child {
          margin-bottom: 0; } }

.seemore {
  font-size: 1.4rem;
  color: #00B092;
  display: flex;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 1000px) {
    .seemore {
      font-size: 1.2rem; } }
  .seemore::after {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-top: solid 1px #00B092;
    border-right: solid 1px #00B092;
    margin-left: 10px;
    transform: rotate(45deg);
    position: relative;
    bottom: -2px; }

/*=============================== レイアウト ================================*/
.l-wrap {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow: hidden;
  z-index: 1; }
  .is-home .l-wrap {
    opacity: 0; }

.l-mainvisual {
  width: 100%; }

.l-main {
  position: relative;
  z-index: 2;
  background-color: #fff; }

.l-container {
  width: 100%; }

.l-section {
  position: relative;
  width: 100%;
  z-index: 1; }

/*=============================== header ================================*/
.header {
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 101; }

/*----- header main -----*/
.header {
  background-color: #fff; }
  .header_inner {
    height: 138px; }
    @media screen and (max-width: 1000px) {
      .header_inner {
        height: 0; } }

/*---------- ロゴ ----------*/
.header_logo_wrap {
  height: 65px;
  position: relative; }
  @media screen and (max-width: 1000px) {
    .header_logo_wrap {
      height: 0; } }

.header_logo_set {
  width: 420px;
  position: absolute;
  left: 23px;
  top: 8px; }
  @media screen and (max-width: 1000px) {
    .header_logo_set {
      width: 300px;
      left: 20px; } }
  @media screen and (max-width: 400px) {
    .header_logo_set {
      width: 230px; } }
  .header_logo_set a {
    display: flex;
    justify-content: space-between; }
  .header_logo_set .furigana {
    font-size: 1.25rem;
    font-weight: 500;
    color: #fff;
    width: 166px;
    height: 26px;
    background-color: #00B092;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 17px;
    padding-bottom: 2px; }
    @media screen and (max-width: 1000px) {
      .header_logo_set .furigana {
        font-size: 1.1rem;
        width: 135px;
        height: auto;
        margin-top: 7px;
        padding-top: 2px;
        padding-bottom: 3px; } }
    @media screen and (max-width: 400px) {
      .header_logo_set .furigana {
        font-size: 1rem;
        line-height: 1;
        letter-spacing: .02em;
        width: 110px;
        margin-top: 4px;
        padding-top: 1px;
        padding-bottom: 2px; } }

.header_logo {
  width: 235px; }
  @media screen and (max-width: 1000px) {
    .header_logo {
      width: 150px; } }
  @media screen and (max-width: 400px) {
    .header_logo {
      width: 110px;
      position: relative;
      top: 2px; } }

.header_nav {
  width: 488px;
  margin-left: auto; }
  @media screen and (max-width: 1000px) {
    .header_nav {
      display: none; } }
  .header_nav_body {
    display: flex; }
    @media screen and (max-width: 1000px) {
      .header_nav_body {
        flex-direction: column;
        gap: 15px;
        margin-top: 15px;
        align-items: center; } }
    @media screen and (min-width: 1001px) {
      .header_nav_body.sp_only {
        display: none; } }
  .header_nav_item {
    width: 244px; }
    .header_nav_item > a, .header_nav_item > span {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 65px; }
      .header_nav_item > a::before, .header_nav_item > span::before {
        content: "";
        display: block;
        width: 32px;
        height: 32px;
        background-repeat: no-repeat;
        background-position: 0 0;
        background-size: cover; }
    .header_nav_item.tel {
      font-family: "Din", 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
      color: #fff;
      font-weight: 600;
      background-color: #00B092; }
      .header_nav_item.tel span::before {
        background-image: url("../images/icon_tel_wh.svg"); }
      .header_nav_item.tel a {
        color: #fff; }
    .header_nav_item.contact {
      font-size: 1.4rem;
      background-color: #FFF040; }
      .header_nav_item.contact a {
        color: #000;
        font-weight: 600;
        transition: opacity .5s; }
        .header_nav_item.contact a::before {
          background-image: url("../images/icon_mail.svg");
          margin-right: 6px; }
        @media screen and (min-width: 769px) {
          .header_nav_item.contact a:hover {
            opacity: .5; } }

/*=============================== main nav ===============================*/
@media screen and (max-width: 1000px) {
  .main_nav_wrap {
    position: fixed;
    top: 50px;
    left: 0;
    width: 100%;
    background-color: #fff;
    overflow: auto;
    height: calc(100% - 50px); }
    .main_nav_wrap > nav {
      height: 100%; } }

.main_nav {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  /*業界別事例なしの場合*/
  /*max-width: 800px;*/ }
  @media screen and (max-width: 1000px) {
    .main_nav {
      flex-direction: column;
      width: 100%;
      height: 100%;
      border-top: solid 1px #C7C7C7; } }
  .main_nav::before {
    content: "";
    display: block;
    width: 1px;
    height: 34px;
    background-color: #6F6F6F;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2; }
  .main_nav_body {
    width: 100%;
    display: flex; }
    @media screen and (max-width: 1000px) {
      .main_nav_body {
        display: block; } }
  .main_nav_item {
    width: 20%;
    position: relative;
    /*公開時*/
    width: 25%; }
    @media screen and (max-width: 1000px) {
      .main_nav_item {
        width: 100%;
        padding: 0;
        margin: 0;
        border-bottom: solid 1px #C7C7C7; } }
    .main_nav_item::after {
      content: "";
      display: block;
      width: 1px;
      height: 34px;
      background-color: #6F6F6F;
      position: absolute;
      right: 0;
      top: 50%;
      transform: translateY(-50%); }
      @media screen and (max-width: 1000px) {
        .main_nav_item::after {
          display: none; } }
    .main_nav_item a {
      font-size: 1.6rem;
      text-align: center;
      color: #000;
      font-weight: 500;
      height: 73px;
      display: flex;
      justify-content: center;
      align-items: center;
      transition: color .5s; }
      @media screen and (max-width: 1000px) {
        .main_nav_item a {
          font-size: 1.6rem;
          text-align: left;
          padding-top: 15px;
          padding-bottom: 15px;
          padding-left: 20px;
          padding-right: 20px;
          position: relative;
          height: auto;
          display: block; }
          .main_nav_item a::after {
            content: "";
            display: block;
            width: 10px;
            height: 10px;
            border-top: solid 1px #00B092;
            border-right: solid 1px #00B092;
            position: absolute;
            top: 50%;
            right: 18px;
            transform: translateY(-50%) rotate(45deg); } }
      @media screen and (max-width: 1000px) {
        .main_nav_item a {
          font-size: 1.4rem; } }
      @media screen and (min-width: 769px) {
        .main_nav_item a:hover {
          color: #00B092; } }
    .main_nav_item.act a {
      color: #00B092;
      font-weight: 500; }
      @media screen and (max-width: 1000px) {
        .main_nav_item.act a {
          background-color: #E6F1EF; } }
    @media screen and (min-width: 1001px) {
      .main_nav_item.act::before {
        content: "";
        display: block;
        width: 50px;
        height: 2px;
        background-color: #00B092;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%); } }

@media screen and (max-width: 1000px) {
  #mainNav,
  .main_nav_wrap {
    display: none; }

  #mainNavWrap {
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 100;
    height: 50px;
    background-color: #fff;
    /*border-bottom: solid 1px #eee;
    box-shadow: 0 2px 3px rgba(0,0,0,.07);*/ }

  #mainNavWrap #switchBtnArea {
    width: 100%;
    z-index: 2;
    position: relative; }

  #mainNavWrap #switchBtnArea #switchBtn {
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    display: block;
    background-color: transparent;
    position: absolute;
    border-radius: 0; }

  #mainNavWrap #switchBtnArea #switchBtnLine {
    width: 32px;
    height: 20px;
    position: relative;
    margin: 15px auto 0; }

  #mainNavWrap #switchBtnArea #switchBtn span {
    left: 10%;
    width: 80%;
    height: 2px;
    display: block;
    position: absolute;
    background-color: #00B092;
    transition: all 0.2s linear; }

  #mainNavWrap #switchBtnArea #switchBtn span:nth-of-type(1) {
    top: 0px;
    transform: rotate(0); }

  #mainNavWrap #switchBtnArea #switchBtn span:nth-of-type(2) {
    top: 9px;
    transform: scale(1); }

  #mainNavWrap #switchBtnArea #switchBtn span:nth-of-type(3) {
    bottom: 0px;
    transform: rotate(0); }

  #mainNavWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
    top: 9px;
    transform: rotate(-45deg); }

  #mainNavWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
    transform: scale(0); }

  #mainNavWrap #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
    bottom: 9px;
    transform: rotate(45deg); } }
/*=============================== KV ===============================*/
.kv {
  position: relative;
  z-index: 2;
  margin-top: 138px; }
  @media screen and (max-width: 1000px) {
    .kv {
      margin-top: 50px; } }
  .is-home .kv {
    height: 958px;
    margin-bottom: 50px; }
    @media screen and (max-width: 1000px) {
      .is-home .kv {
        height: auto;
        margin-bottom: 30px; } }
    @media screen and (max-width: 768px) {
      .is-home .kv {
        margin-bottom: 20px; } }

/*---------- KV（下層ページ） ----------*/
.kv_contents {
  height: 200px;
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center; }

.kv_slide {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #eee;
  z-index: 1; }

.kv_slide_item {
  background-image: url("../images/kv_slide_common.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 100%; }
  .is-concept .kv_slide_item {
    background-image: url("../images/kv_slide_concept.jpg"); }
  .is-products .kv_slide_item {
    background-image: url("../images/kv_slide_products_v2.jpg"); }
  .is-outline .kv_slide_item {
    background-image: url("../images/kv_slide_outline.jpg"); }
  .is-case .kv_slide_item {
    background-image: url("../images/kv_slide_case.jpg"); }
  .is-faq .kv_slide_item {
    background-image: url("../images/kv_slide_faq.jpg"); }
  .is-contact .kv_slide_item {
    background-image: url("../images/kv_slide_contact.jpg"); }
  .is-maintenance .kv_slide_item {
    background-image: url("../images/kv_slide_maintenance.jpg"); }

.page_ttl {
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  letter-spacing: .1em; }
  .page_ttl.bk {
    color: #000; }

/*=============================== footer ===============================*/
.footer {
  width: 100%;
  overflow: hidden;
  position: relative;
  z-index: 2; }
  .footer .telto a {
    color: #333; }

/*---------- Contact ----------*/
.contact_contents {
  background-color: #fff;
  background-image: url("../images/contact_contents_bg.jpg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover; }

.contact_contents_inner {
  max-width: 1050px;
  padding: 90px 25px 100px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .contact_contents_inner {
      padding: 30px 25px 40px; } }

.contact_contents_set .set_ttl {
  text-align: center;
  margin-bottom: 50px; }
  .contact_contents_set .set_ttl::after {
    content: "";
    display: block;
    width: 44px;
    height: 10px;
    background-image: url("../images/bullet01.svg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 44px 10px;
    margin: 16px auto 0; }
  .contact_contents_set .set_ttl span {
    display: block; }
  .contact_contents_set .set_ttl .txt_en {
    font-family: "Din", 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
    font-size: 3rem;
    font-weight: 500; }
  .contact_contents_set .set_ttl .txt_jp {
    font-size-adjust: 1.6rem; }

.contact_contents_body {
  display: flex;
  column-gap: 4%; }
  @media screen and (max-width: 768px) {
    .contact_contents_body {
      flex-direction: column;
      gap: 15px; } }

.contact_contents_item {
  width: 48%;
  height: 213px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  @media screen and (max-width: 768px) {
    .contact_contents_item {
      width: 100%;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto;
      height: auto;
      padding-top: 50px;
      padding-bottom: 50px; } }
  .contact_contents_item.tel {
    background-color: #FFFBC9; }
  .contact_contents_item.mailform {
    background-color: #00B092;
    padding-left: 15px;
    padding-right: 15px; }
  .contact_contents_item .tel_wrap {
    font-family: "Din", 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 1; }
    @media screen and (max-width: 768px) {
      .contact_contents_item .tel_wrap {
        font-size: 3rem; } }
    .contact_contents_item .tel_wrap::before {
      content: "";
      display: inline-block;
      width: 27px;
      height: 29px;
      margin-right: 5px;
      background-image: url("../images/icon_tel.svg");
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 27px 29px;
      position: relative;
      top: 2px; }
      @media screen and (max-width: 768px) {
        .contact_contents_item .tel_wrap::before {
          width: 23px;
          height: 24px;
          background-size: 23px 24px; } }

.contact_contents_label {
  font-size: 1.8rem;
  font-weight: 600;
  margin-bottom: 28px; }
  @media screen and (max-width: 768px) {
    .contact_contents_label {
      font-size: 1.6rem;
      margin-bottom: 20px; } }
  .mailform .contact_contents_label {
    color: #fff; }

.footer_inner {
  max-width: 1050px;
  padding: 0 25px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .footer_inner {
      padding: 0; } }

/*---------- Footer Main ----------*/
.footer_main {
  height: 330px;
  border-bottom: solid 1px #8E8E8E; }
  @media screen and (max-width: 768px) {
    .footer_main {
      height: auto; } }

.footer_main_package {
  display: flex;
  padding-top: 50px; }
  @media screen and (max-width: 768px) {
    .footer_main_package {
      display: block;
      padding-top: 0; } }

.footer_address,
.footer_access {
  width: 50%; }
  @media screen and (max-width: 768px) {
    .footer_address,
    .footer_access {
      width: 100%;
      padding-left: 25px;
      padding-right: 25px; } }

@media screen and (max-width: 768px) {
  .footer_address {
    text-align: center;
    padding-top: 50px;
    margin-bottom: 45px; } }
.footer_address .footer_logo {
  width: 314px;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .footer_address .footer_logo {
      width: 250px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 45px; } }
  .footer_address .footer_logo a {
    display: block; }
.footer_address .vcard .label {
  margin-bottom: 5px; }
.footer_address .vcard .address_body {
  font-size: 1.6rem; }

.footer_access {
  padding-top: 94px; }
  @media screen and (max-width: 768px) {
    .footer_access {
      padding-top: 0; } }

.footer_access_body {
  display: flex;
  column-gap: 4%; }
  @media screen and (max-width: 768px) {
    .footer_access_body {
      display: block;
      padding-bottom: 50px; } }

.footer_access_item {
  width: 48%;
  margin-left: auto; }
  @media screen and (max-width: 768px) {
    .footer_access_item {
      width: 100%;
      max-width: 250px;
      margin-left: auto;
      margin-right: auto; }
      .footer_access_item:first-child {
        margin-bottom: 15px; } }
  .footer_access_item a {
    color: #00B092;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 60px;
    border: solid 1px #00B092;
    position: relative;
    transition: color .5s,background-color .5s,border-color .5s; }
    .footer_access_item a::after {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: solid 1px #00B092;
      border-right: solid 1px #00B092;
      position: absolute;
      top: 50%;
      right: 16px;
      transform: translateY(-50%) rotate(45deg);
      transition: border-color .5s; }
    @media screen and (min-width: 769px) {
      .footer_access_item a:hover {
        color: #fff;
        background-color: #00B092;
        border-color: #00B092; }
        .footer_access_item a:hover::after {
          border-color: #fff; } }

/*----- Footer Nav -----*/
.footer_nav {
  padding-top: 15px;
  padding-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .footer_nav {
      padding-top: 0;
      padding-bottom: 0;
      background-color: #3E3E3E; } }

.footer_nav_body {
  display: flex;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .footer_nav_body {
      display: block; } }

.footer_nav_item {
  position: relative;
  padding-right: 8px;
  margin-right: 8px; }
  @media screen and (max-width: 768px) {
    .footer_nav_item {
      border-bottom: solid 1px #fff;
      padding-right: 0;
      margin-right: 0; } }
  .footer_nav_item::after {
    content: "";
    display: block;
    width: 1px;
    height: 14px;
    background-color: #000;
    position: absolute;
    right: 0;
    top: calc(50% + 2px);
    transform: translateY(-50%); }
    @media screen and (max-width: 768px) {
      .footer_nav_item::after {
        display: none; } }
  .footer_nav_item:last-child {
    padding-right: 0;
    margin-right: 0; }
    .footer_nav_item:last-child::after {
      display: none; }
  @media screen and (max-width: 768px) {
    .footer_nav_item::before {
      content: "";
      display: block;
      width: 10px;
      height: 10px;
      border-top: solid 1px #00B092;
      border-right: solid 1px #00B092;
      position: absolute;
      top: 50%;
      right: 18px;
      transform: translateY(-50%) rotate(45deg);
      border-color: #fff; } }
  .footer_nav_item a {
    font-size: 1.4rem;
    color: #000; }
    @media screen and (max-width: 768px) {
      .footer_nav_item a {
        color: #fff;
        display: block;
        padding: 15px 25px; } }
    @media screen and (min-width: 769px) {
      .footer_nav_item a:hover {
        text-decoration: underline; } }

/*----- Copyright -----*/
.copyright {
  color: #fff;
  font-size: 1.4rem;
  letter-spacing: .1em;
  text-align: center;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  background-color: #3E3E3E; }
  @media screen and (max-width: 768px) {
    .copyright {
      font-size: 1rem;
      padding: 7px 15px; } }

/*=============================== WordPress ===============================*/
.container {
  width: 100%;
  max-width: 1050px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding: 0 25px 100px; }
  @media screen and (max-width: 768px) {
    .container {
      display: block;
      padding-bottom: 50px; } }
  .container .l-main {
    width: calc(100% - 260px); }
    @media screen and (max-width: 768px) {
      .container .l-main {
        width: 100%; } }
  .container .side_bar {
    width: 230px; }
    @media screen and (max-width: 768px) {
      .container .side_bar {
        width: 100%; } }

.archive_ttl {
  font-size: 2rem;
  font-weight: 500;
  padding-left: 15px;
  margin-bottom: 25px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .archive_ttl {
      font-size: 1.8rem;
      padding-left: 14px;
      margin-bottom: 15px; } }
  .archive_ttl::before {
    content: "";
    display: block;
    width: 2px;
    height: 28px;
    background-color: #00B092;
    position: absolute;
    top: .95em;
    left: 0;
    transform: translateY(-50%); }

.post_list {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  border-top: solid 1px #00B092; }

.post_item {
  border-bottom: solid 1px #00B092;
  display: flex; }
  @media screen and (max-width: 768px) {
    .post_item {
      display: block; } }
  .post_item:last-child {
    margin-bottom: 0; }
  .contents .post_item a {
    color: #000;
    width: 100%;
    text-decoration: none;
    display: flex;
    padding-top: 15px;
    padding-bottom: 15px;
    transition: opacity .5s,color .5s; }
    @media screen and (max-width: 768px) {
      .contents .post_item a {
        display: block; } }
    @media screen and (min-width: 769px) {
      .contents .post_item a:hover {
        color: #00B092;
        opacity: .6; } }
  .contents .post_item p {
    font-size: 1.6rem;
    margin-bottom: 0; }

.post_entry_meta {
  display: flex;
  align-items: flex-start; }
  @media screen and (max-width: 768px) {
    .post_entry_meta {
      margin-right: 0;
      margin-bottom: 5px; } }
  .post_entry_meta .cat_wrap {
    padding-top: 3px; }
  .post_entry_meta .cat_list {
    margin-right: 22px; }
    @media screen and (min-width: 769px) {
      .post_entry_meta .cat_list {
        max-width: 118px; } }
    @media screen and (max-width: 768px) {
      .post_entry_meta .cat_list {
        margin-right: 0; } }

.post_date {
  font-size: 1.6rem;
  color: #6F6F6F;
  letter-spacing: .02em;
  display: block;
  width: 120px;
  padding-left: 10px; }
  @media screen and (max-width: 768px) {
    .post_date {
      width: auto;
      margin-right: 15px;
      margin-bottom: 5px;
      padding-left: 0; } }
  @media screen and (max-width: 350px) {
    .post_date {
      font-size: 1.4rem; } }
  .entry_meta .post_date {
    padding-left: 0;
    width: auto;
    margin-right: 15px; }

/*---------- WordPress／side bar ----------*/
.side_bar a {
  color: #000;
  transition: color .5s; }
  .side_bar a:hover {
    color: #00B092; }

.side_ttl {
  font-size: 1.8rem;
  color: #fff;
  font-weight: 500;
  text-align: center;
  padding: 17px 0 15px;
  background-color: #00B092;
  margin-bottom: 15px; }

.archive_list {
  margin-bottom: 40px; }

.side_post_item {
  border-bottom: solid 1px #E8E8E8;
  padding-bottom: 15px;
  margin-bottom: 15px; }

.side_post_date {
  font-size: 1.6rem;
  color: #8B8B8B;
  font-weight: 500;
  margin-bottom: 5px;
  display: block; }

.side_post_ttl {
  font-size: 1.6rem;
  line-height: 1.5;
  margin-bottom: 10px; }

/*----- カテゴリ -----*/
.archive_list.category a {
  font-size: 1.6rem;
  display: inline-flex; }
.archive_list.category > ul > li {
  border-bottom: solid 1px #E8E8E8;
  padding: 15px 0; }
  .archive_list.category > ul > li:first-child {
    padding-top: 0; }
.archive_list.category .children {
  padding-top: 10px;
  padding-left: 2em;
  list-style: disc outside; }
  .archive_list.category .children li {
    margin-bottom: 10px; }
    .archive_list.category .children li:last-child {
      margin-bottom: 0; }
    .archive_list.category .children li a {
      font-size: 1.5rem;
      padding: 0; }

/*----- 月別 -----*/
.year_group {
  border-bottom: solid 1px #E8E8E8; }
  .year_group ul {
    display: none;
    padding: 5px 0 5px 1em;
    border-top: solid 1px #4c4948; }
  .year_group a {
    display: block;
    padding: 5px 0; }

.year_ttl {
  font-size: 1.8rem;
  position: relative;
  padding: 10px 0 10px 5px;
  cursor: pointer; }

.year_ttl::before,
.year_ttl::after {
  content: " ";
  display: block;
  position: absolute;
  width: 8px;
  height: 2px;
  background-color: #00376A;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  transition: transform .5s; }

.year_ttl::after {
  transform: translateY(-50%) rotate(90deg); }

.active .year_ttl::after {
  transform: translateY(-50%) rotate(0); }

/*----- cat -----*/
.cat_wrap {
  display: flex; }
  @media screen and (max-width: 768px) {
    .cat_wrap {
      display: block; } }

.cat_label {
  font-size: 1.6rem;
  color: #8B8B8B;
  margin-right: 5px;
  white-space: nowrap; }
  @media screen and (max-width: 768px) {
    .cat_label {
      display: block;
      margin-right: 0;
      margin-bottom: 10px; } }

.cat_list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 10px;
  width: 120px; }
  .cat_list .cat {
    font-size: 1.4rem;
    color: #fff;
    letter-spacing: .04em;
    line-height: 20px;
    text-align: center;
    min-width: 120px;
    background-color: #FFAE2E;
    /*
    &.news,
    &.news > a {background-color: #FFAE2E; border-color: #FFAE2E;}
    */ }
    @media screen and (max-width: 768px) {
      .cat_list .cat {
        min-width: 90px; } }
    .cat_list .cat a {
      font-size: 1.4rem;
      color: #fff;
      text-decoration: none;
      line-height: 20px;
      background-color: #FFAE2E;
      display: block;
      width: 100%;
      padding: 1px 8px 2px;
      transition: opacity .5s;
      /*公開時*/
      /*pointer-events: none;*/ }
      @media screen and (min-width: 769px) {
        .cat_list .cat a:hover {
          opacity: .6; } }
      @media screen and (max-width: 350px) {
        .cat_list .cat a {
          font-size: 1.2rem; } }

/*---------- WordPress／single ----------*/
.entry_ttl {
  font-size: 2.6rem;
  color: #fff;
  margin-bottom: 50px;
  background-color: #00B092;
  padding: 14px 22px 16px; }
  @media screen and (max-width: 768px) {
    .entry_ttl {
      font-size: 1.8rem;
      margin-bottom: 36px; } }

/*----- editor -----*/
.entry_body h1,
.entry_body h2 {
  font-size: 2rem;
  font-weight: 500;
  display: inline-block;
  width: 100%;
  margin-top: 20px;
  margin-bottom: 15px;
  padding: 10px 25px 10px 15px;
  position: relative;
  background-color: #FFf4f4; }
  @media screen and (max-width: 768px) {
    .entry_body h1,
    .entry_body h2 {
      font-size: 1.8rem;
      margin-bottom: 10px; } }

.entry_body h3 {
  font-size: 2.3rem;
  color: #00B092;
  font-weight: 600;
  display: inline-block;
  width: 100%;
  padding-left: 34px;
  position: relative;
  margin-top: 20px;
  margin-bottom: 20px; }
  .entry_body h3::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: .75em;
    left: 0;
    transform: translateY(-50%);
    background-image: url("../images/bullet02.svg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 20px 20px; }

.entry_body h4 {
  font-size: 1.8rem;
  font-weight: 500;
  display: inline-block;
  width: 100%;
  margin-top: 10px;
  padding-left: 20px;
  position: relative;
  margin-bottom: 10px; }
  .entry_body h4::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background-color: #00B092;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -5px; }

.entry_body h5,
.entry_body h6 {
  font-weight: 500;
  display: inline-block;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 5px; }

.entry_body p {
  position: relative;
  margin-bottom: 20px; }

.entry_body a {
  color: #00B092;
  text-decoration: underline; }
  .entry_body a[href$=".pdf"] {
    padding-top: 0px;
    padding-bottom: 2px;
    padding-left: 0px;
    padding-right: 18px;
    background-image: url(../images/icon_pdf.png) !important;
    background-repeat: no-repeat;
    background-position: right 2px center;
    background-size: 16px 16px !important; }

.entry_body a:hover {
  text-decoration: none; }

.entry_body em {
  font-style: italic;
  font-weight: normal; }

.entry_body strong {
  font-weight: 500; }

.entry_body img {
  width: auto;
  max-width: 100%;
  height: auto; }

.entry_body .aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.entry_body img.alignright {
  float: right;
  margin-left: 1.5em; }

.entry_body img.alignleft {
  float: left;
  margin-right: 1.5em; }

.entry_body::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.entry_body ul {
  list-style-type: disc; }

.entry_body ol {
  list-style-type: decimal; }

.entry_body ul,
.entry_body ol {
  margin-bottom: 30px;
  margin-right: 15px;
  padding-left: 1em;
  margin-left: 10px; }
  .entry_body ul li::marker,
  .entry_body ol li::marker {
    color: #00B092; }

.entry_body li {
  margin-bottom: 10px; }
  .entry_body li:last-child {
    margin-bottom: 0; }

.entry_body hr {
  border: solid 1px #1b6eb7; }

@media screen and (max-width: 800px) {
  .entry_body {
    margin-bottom: 20px; } }
.entry_body > :last-child {
  margin-bottom: 0; }
.entry_body table {
  font-size: 1.6rem;
  border-top: solid 1px #ddd;
  border-left: solid 1px #ddd;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px; }
.entry_body th,
.entry_body td {
  border-right: solid 1px #ddd;
  border-bottom: solid 1px #ddd;
  padding: 15px;
  vertical-align: top; }
.entry_body th {
  font-weight: 500; }
.entry_body thead th {
  background-color: #FAF5EF;
  text-align: center;
  vertical-align: middle; }
.entry_body tfoot th {
  background-color: #fefefe; }
.entry_body caption {
  font-weight: 500;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 5px; }
  @media screen and (max-width: 768px) {
    .entry_body caption {
      margin-top: 10px; } }
.entry_body tbody th,
.entry_body tbody td {
  text-align: left;
  line-height: 1.5; }
.entry_body tbody th {
  background-color: #f7f7f7;
  width: 30%;
  letter-spacing: .05em; }
.entry_body td {
  background-color: #fff; }

/*----- entry meta -----*/
.entry_meta {
  font-size: 1.6rem;
  display: flex;
  align-items: center;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .entry_meta {
      margin-bottom: 15px; } }

.entry_meta_body {
  display: flex; }

.entry_meta_bottom {
  margin-top: 100px; }

.entry_meta_body.tag {
  margin-top: 5px; }

.entry_meta_ttl {
  font-weight: 500;
  white-space: nowrap;
  margin-right: .5em; }

.entry_meta_body ul {
  display: flex;
  flex-wrap: wrap; }

.entry_meta_body li {
  margin-right: 1em; }

.entry_meta_body li a {
  color: #5e5d5c; }

.entry_meta_body li a:hover {
  text-decoration: underline; }

.entry_meta_body.tag li a::before {
  content: " ";
  display: inline-block;
  width: 14px;
  height: 14px;
  background-image: url("../images/icon_tag.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
  margin-right: 2px; }

/*---------- WordPress／ページネーション ----------*/
.pagination {
  width: 100%;
  margin-top: 100px; }
  @media screen and (max-width: 768px) {
    .pagination {
      margin-top: 50px; } }

.pagination h2 {
  display: none; }

.pagination ul {
  text-align: center; }

.pagination li {
  width: 32px;
  display: inline-block;
  font-size: 1.5rem;
  text-align: center;
  margin-left: 2px;
  margin-right: 2px;
  margin-bottom: 5px; }

.pagination .current {
  color: #fff;
  padding: 10px 6px;
  border: solid 1px #00B092;
  background-color: #00B092;
  display: block; }

.pagination li a {
  color: #000;
  text-decoration: none;
  display: block;
  padding: 10px 6px;
  background-color: #F0F0F0;
  border: solid 1px #F0F0F0;
  transition: color .5s; }

@media screen and (min-width: 769px) {
  .pagination li a:hover {
    color: rgba(0, 0, 0, 0.3); } }
/*---------- WordPress／ページャー ----------*/
.pager {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  margin-top: 190px;
  padding-top: 40px;
  border-top: solid 1px #00B092; }
  @media screen and (max-width: 768px) {
    .pager {
      margin-top: 50px; } }

.pager_body {
  display: flex;
  justify-content: space-between;
  list-style: none; }

.pager_item {
  position: relative; }
  .pager_body .pager_item a {
    color: #000;
    text-align: center;
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: opacity .5s; }
    @media screen and (min-width: 769px) {
      .pager_body .pager_item a:hover {
        opacity: .6; } }
  .pager_item .txt_wrap {
    position: relative; }
    .pager_item .txt_wrap::before {
      content: "";
      display: block;
      border-top: solid 2px #00B092;
      width: 8px;
      height: 8px;
      position: absolute;
      top: 50%; }
  .pager_item.next_nav {
    margin-right: auto; }
    .pager_item.next_nav .txt_wrap {
      padding-left: 25px; }
      .pager_item.next_nav .txt_wrap::before {
        border-left: solid 2px #00B092;
        left: 10px;
        transform: rotate(-45deg) translateY(-50%); }
  .pager_item.prev_nav {
    margin-left: auto; }
    .pager_item.prev_nav .txt_wrap {
      padding-right: 25px; }
      .pager_item.prev_nav .txt_wrap::before {
        border-right: solid 2px #00B092;
        right: 10px;
        transform: rotate(45deg) translateY(-50%); }
  .pager_item span {
    display: block; }

.btn_back {
  width: 200px;
  position: absolute;
  top: calc(40px - 13px);
  left: 50%;
  transform: translateX(-50%);
  border: solid 1px #00B092; }
  @media screen and (max-width: 768px) {
    .btn_back {
      width: 180px;
      position: static;
      transform: none;
      margin-left: auto;
      margin-right: auto;
      margin-top: 30px; } }
  .contents .btn_back a {
    font-size: 1.5rem;
    color: #00B092;
    text-decoration: none;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 56px;
    transition: opacity .5s; }
    @media screen and (max-width: 768px) {
      .contents .btn_back a {
        height: 44px; } }
    @media screen and (min-width: 769px) {
      .contents .btn_back a:hover {
        opacity: .6; } }

/*----- WordPress／404 -----*/
.err_ttl {
  font-size: 2rem;
  margin-bottom: .5em; }

@media screen and (max-width: 800px) {
  .err_ttl {
    font-size: 2rem;
    line-height: 1.4em;
    margin-bottom: 10px; }

  .err_txt {
    font-size: 1.5rem; } }
/*----- WordPress ／ 検索結果 -----*/
.search_result_copy {
  text-align: center;
  margin-bottom: 20px; }

/*================================ Page Top ===============================*/
.onheader .page_nav {
  opacity: 1;
  pointer-events: auto; }

.page_nav {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 3;
  opacity: 0;
  pointer-events: none;
  transition: opacity .5s;
  width: 60px; }
  @media screen and (max-width: 768px) {
    .page_nav {
      width: 50px; } }
  .page_nav a {
    font-size: 1rem;
    color: #fff;
    line-height: 1;
    text-align: center;
    font-weight: 500;
    outline-style: none;
    display: block;
    width: 60px;
    height: 60px;
    position: relative;
    border-radius: 100%;
    background-color: #00B092;
    transition: opacity .5s ease; }
    @media screen and (max-width: 768px) {
      .page_nav a {
        width: 50px;
        height: 50px; } }
    @media screen and (min-width: 769px) {
      .page_nav a:hover {
        opacity: .6; } }

.page_nav_pagetop {
  margin-bottom: 15px; }
  .page_nav_pagetop a {
    line-height: 1.2;
    padding-top: 26px; }
    @media screen and (max-width: 768px) {
      .page_nav_pagetop a {
        padding-top: 20px;
        letter-spacing: .02em; } }
  .page_nav_pagetop a::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%) rotate(-45deg); }
    @media screen and (max-width: 768px) {
      .page_nav_pagetop a::before {
        top: 10px; } }

.page_nav_home a {
  padding-top: 9px; }
  @media screen and (max-width: 768px) {
    .page_nav_home a {
      padding-top: 5px; } }
.page_nav_home a::before {
  content: "";
  display: block;
  width: 26px;
  height: 26px;
  background-image: url("../images/page_nav_home.svg");
  background-repeat: no-repeat;
  background-position: 0 0;
  background-size: cover;
  margin: 0 auto 3px; }
  @media screen and (max-width: 768px) {
    .page_nav_home a::before {
      width: 20px;
      height: 20px; } }

/*================================icon===============================*/
.link_icon_blank {
  padding-right: 20px;
  position: relative; }
  .link_icon_blank::before, .link_icon_blank::after {
    content: "";
    display: block;
    width: 15px;
    height: 12px;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 15px 12px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .5s; }
  .link_icon_blank::before {
    background-image: url("../images/icon_blank_bk.svg"); }
    @media screen and (min-width: 769px) {
      a:hover .link_icon_blank::before {
        opacity: 0; } }
  .link_icon_blank::after {
    opacity: 0;
    background-image: url("../images/icon_blank.svg"); }
    @media screen and (min-width: 769px) {
      a:hover .link_icon_blank::after {
        opacity: 1; } }

.icon_blank {
  padding: 0px 20px 0px 0px;
  background: url(../images/icon_blank.svg);
  background-repeat: no-repeat;
  background-position: right 2px center; }

.contents p a[target="_blank"],
.contents li a[target="_blank"],
.contents dd > a[target="_blank"] {
  padding: 0px 20px 0px 0px;
  background-image: url(../images/icon_blank.svg);
  background-repeat: no-repeat;
  background-position: right 2px center; }

.entry_body p a[target="_blank"],
.entry_body li a[target="_blank"] {
  padding: 0px 20px 0px 0px;
  background-image: url(../images/icon_blank.svg);
  background-repeat: no-repeat;
  background-position: right 2px center; }

.icon_pdf {
  padding-top: 0px;
  padding-bottom: 2px;
  padding-left: 0px;
  padding-right: 18px;
  background-image: url(../images/icon_pdf.png) !important;
  background-repeat: no-repeat;
  background-position: right 2px center;
  background-size: 16px 16px !important; }

/*=============================== Animation ================================*/
.view {
  display: block;
  opacity: 0;
  transform: matrix(1, 0, 0, 1, 0, 100);
  transition: opacity 1.2s .8s,transform 1.2s .8s; }

.is-loaded {
  /*.flg_on {*/
  /*}*/ }
  .is-loaded .showed .home_about_ttl,
  .is-loaded .showed .home_about_lead, .is-loaded .showed.home_section_ttl {
    opacity: 1; }
    .is-loaded .showed .home_about_ttl .view,
    .is-loaded .showed .home_about_lead .view, .is-loaded .showed.home_section_ttl .view {
      opacity: 1;
      transform: matrix(1, 0, 0, 1, 0, 0); }
  .is-loaded .showed .ttl_fadein {
    animation: fadeIn .8s forwards .5s; }
  .is-loaded .showed .home_about_caption .truck,
  .is-loaded .showed .home_about_illust,
  .is-loaded .showed .recruit_balloon {
    animation: fadeIn .8s forwards .5s; }
  .is-loaded .showed .fadein {
    animation: fadeIn .8s forwards .5s; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
@keyframes slideInLeft {
  0% {
    transform: translateX(180px);
    opacity: 0; }
  100% {
    transform: translateX(0); }
  40%,100% {
    opacity: 1; } }
@keyframes slideInRight {
  0% {
    transform: translateX(-180px);
    opacity: 0; }
  100% {
    transform: translateX(0); }
  40%,100% {
    opacity: 1; } }
@keyframes rowBg {
  0% {
    opacity: 0;
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); }
  30% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  100% {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
  30%, 100% {
    opacity: 1; } }
/*=============================== reCAPTCHA ================================*/
.grecaptcha-badge {
  visibility: hidden; }

.recaptcha_privacy {
  font-size: 1.4rem;
  color: #666;
  text-align: center;
  margin-top: 50px; }
  @media screen and (max-width: 768px) {
    .recaptcha_privacy {
      text-align: left; }
      .recaptcha_privacy br {
        display: none; } }
  .recaptcha_privacy a {
    color: #666; }

/*=============================== 冒頭アニメ ================================*/
.op_anime {
  display: none;
  width: 100%;
  height: 100vh;
  position: fixed;
  z-index: 2;
  background-color: #fff;
  /*opacity: 0;*/
  /*animation:  opfadein 1s forwards;*/ }
  .op_anime .anime_inner {
    height: 100%;
    position: relative; }
  .op_anime .op_obj {
    width: 80%;
    max-width: 400px;
    /**/
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: -30px;
    /**/ }

/*body.is-home:not(.animeoff) .l-wrap {
    z-index: 1;
    
}*/
.l-wrap {
  /*transition: opacity 1s;*/ }

.animeoff .l-wrap {
  opacity: 1; }

@keyframes opfadein {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
.bar {
  width: 100%;
  height: 4px;
  margin-top: 20px;
  /*background-color: #000;*/
  position: relative; }
  .bar .dot {
    display: block;
    width: 4px;
    height: 4px;
    border-radius: 100%;
    background-color: #00B092;
    position: absolute;
    left: 0;
    top: 0;
    animation: dotAnime 3s ease-in-out both infinite; }
    .bar .dot:nth-child(1) {
      animation-delay: 1.1s; }
    .bar .dot:nth-child(2) {
      animation-delay: 0.95s; }
    .bar .dot:nth-child(3) {
      animation-delay: 0.8s; }
    .bar .dot:nth-child(4) {
      animation-delay: 0.65s; }
    .bar .dot:nth-child(5) {
      animation-delay: 0.5s; }

@keyframes dotAnime {
  0% {
    opacity: 0;
    left: 0; }
  50% {
    opacity: 1; }
  100% {
    opacity: 0;
    left: calc(100% - 1px); } }
/*=============================== KV ================================*/
.kv_anime {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden; }
  @media screen and (max-width: 1000px) {
    .kv_anime {
      display: none; } }

.kv_sp {
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
  display: none;
  /**/ }
  @media screen and (max-width: 1000px) {
    .kv_sp {
      display: block; } }

.kv_anime_view {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1280px;
  height: 100%;
  transform: translate(-50%, -50%);
  z-index: 2;
  overflow: hidden; }

.kv_anime_set {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2; }
  .kv_anime_set .parts {
    position: absolute; }
    .kv_anime_set .parts.cat01 {
      width: 123px;
      height: 98px;
      left: 660px;
      top: 246px; }
      .kv_anime_set .parts.cat01 .illust > .pin {
        top: -10px;
        left: 40px; }
      .kv_anime_set .parts.cat01 .illust::before {
        content: "";
        display: block;
        width: 100%;
        height: 30px;
        position: absolute;
        bottom: 100%;
        left: 0; }
      .kv_anime_set .parts.cat01 .clip {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        clip-path: polygon(11px 31px, 81px 36px, 77px 83px, 20px 76px); }
    .kv_anime_set .parts.cat02 {
      width: 115px;
      height: 188px;
      left: 778px;
      top: 220px; }
      .kv_anime_set .parts.cat02 .illust > .pin {
        top: 50px;
        left: 40px; }
      .kv_anime_set .parts.cat02 .clip {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        clip-path: polygon(6px 83px, 67px 94px, 66px 114px, 54px 123px, 54px 147px, 11px 138px);
        /**/ }
    .kv_anime_set .parts.cat03 {
      width: 234px;
      height: 137px;
      left: 237px;
      top: 552px; }
      .kv_anime_set .parts.cat03 .illust > .pin {
        top: 35px;
        left: 110px; }
      .kv_anime_set .parts.cat03 .clip {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        /*background-color: #000;*/
        clip-path: polygon(26px 61px, 47px 44px, 47px 4px, 151px 4px, 151px 19px, 90px 69px, 90px 96px, 27px 96px); }
    .kv_anime_set .parts.cat04 {
      width: 204px;
      height: 169px;
      left: 47px;
      top: 431px; }
      .kv_anime_set .parts.cat04 .illust > .pin {
        top: 35px;
        left: 90px; }
    .kv_anime_set .parts.cat05 {
      width: 151px;
      height: 160px;
      left: 870px;
      top: 317px; }
      .kv_anime_set .parts.cat05 .illust > .pin {
        top: 45px;
        left: 62px; }
    .kv_anime_set .parts.cat06 {
      width: 60px;
      height: 43px;
      /*left: 200px;
      top: 390px;*/
      left: -30px;
      top: 330px;
      /*z-index: 60;*/
      /**/
      offset-path: path("M1350.49556,.49968s-127.92927,4.60185-215.82865,44.84674c-157.79357,72.2462-173.66726,227.35716-508.74547,161.9287-211.75898-41.34867-229.13615-110.74868-345.14719-127.56897C184.06259,65.68404,76.76763,110.01998,.27038,159.19665");
      offset-rotate: 0deg;
      animation: path-move 50s linear infinite; }
      .kv_anime_set .parts.cat06 .illust > .pin {
        top: -23px;
        left: 22px; }
      .kv_anime_set .parts.cat06:not(.behavior) .illust img {
        display: none; }
      .kv_anime_set .parts.cat06.active, .kv_anime_set .parts.cat06.behavior:has(+ div.active) {
        animation-play-state: paused; }
      .kv_anime_set .parts.cat06.behavior {
        offset-path: path("M1350.49556,.49968s-127.92927,4.60185-215.82865,44.84674c-157.79357,72.2462-173.66726,227.35716-508.74547,161.9287-211.75898-41.34867-229.13615-110.74868-345.14719-127.56897C184.06259,65.68404,76.76763,110.01998,.27038,159.19665");
        offset-rotate: auto 180deg;
        animation: path-move 50s linear infinite; }
    .kv_anime_set .parts.car02 {
      width: 60px;
      height: 37px;
      /*left: 712px;
      top: 546px;*/
      left: -30px;
      top: 345px;
      offset-path: path("M1350.49556,.49968s-127.92927,4.60185-215.82865,44.84674c-157.79357,72.2462-173.66726,227.35716-508.74547,161.9287-211.75898-41.34867-229.13615-110.74868-345.14719-127.56897C184.06259,65.68404,76.76763,110.01998,.27038,159.19665");
      offset-rotate: auto 180deg;
      animation: path-move 50s linear reverse infinite;
      animation-delay: 5s; }
    .kv_anime_set .parts.cat07 {
      width: 214px;
      height: 159px;
      left: 561px;
      top: 580px; }
      .kv_anime_set .parts.cat07 .illust > .pin {
        top: 55px;
        left: 118px; }
    .kv_anime_set .parts.cat08 {
      width: 184px;
      height: 111px;
      left: 210px;
      top: 165px; }
      .kv_anime_set .parts.cat08 .illust > .pin {
        top: 10px;
        left: 92px; }
    .kv_anime_set .parts.cat09 {
      width: 146px;
      height: 92px;
      left: 913px;
      top: 176px; }
      .kv_anime_set .parts.cat09 .illust > .pin {
        top: 20px;
        left: 80px; }
    .kv_anime_set .parts.cat10 {
      width: 188px;
      height: 174px;
      left: 342px;
      top: 667px; }
      .kv_anime_set .parts.cat10 .illust > .pin {
        top: 35px;
        left: 92px; }
    .kv_anime_set .parts.cat11 {
      width: 194px;
      height: 158px;
      left: 900px;
      top: 478px; }
      .kv_anime_set .parts.cat11 .illust > .pin {
        top: 50px;
        left: 60px; }
    .kv_anime_set .parts.cat12 {
      width: 241px;
      height: 147px;
      left: 327px;
      top: 302px; }
      .kv_anime_set .parts.cat12 .illust > .pin {
        top: 30px;
        left: 50%;
        transform: translateX(-50%); }
    .kv_anime_set .parts .innr {
      position: relative; }
  .kv_anime_set .area {
    position: absolute;
    pointer-events: none;
    transform-origin: center bottom;
    /*Action*/
    /*空*/
    /*工事現場周辺*/
    /*レース場周辺*/
    /*01家庭・生活用品周辺*/
    /*02オフィス周辺*/
    /*03食品工場周辺*/
    /*05病院周辺*/
    /*12万国博覧会周辺*/
    /*09エコフィード周辺*/
    /*万博南の道路沿い*/
    /*04医薬周辺*/
    /*11火力・原子力発電所周辺*/
    /*&.tree20 {
        width: 37px;
        height: 48px;
        left: 823px;
        top: 558px;
    }*/
    /*07水の再生施設周辺*/
    /*10製紙工場周辺*/
    /*東のビル周辺*/
    /* 海洋 */ }
    .kv_anime_set .area .innr {
      position: relative; }
    .kv_anime_set .area.jump {
      animation: jump 1s linear; }
    .kv_anime_set .area.swing {
      animation: swing 1.5s linear; }
    .kv_anime_set .area.plane02 {
      width: 132px;
      height: 90px;
      /*left: 1300px;
      top: 23px;*/
      left: -132px;
      top: 101px;
      offset-path: path("M1521.23065,110.5S1284.46805,.5,732.36831,.5,.23065,94.10447,.23065,94.10447");
      offset-rotate: auto 180deg;
      animation: path-move 50s linear infinite;
      animation-delay: 10s; }
    .kv_anime_set .area.balloons01 {
      width: 242px;
      height: 134px;
      left: 54px;
      top: -8px;
      animation: updown 5s linear infinite; }
    .kv_anime_set .area.balloons02 {
      width: 149px;
      height: 146px;
      left: 43px;
      top: 16px;
      animation: downup 5s linear infinite; }
    .kv_anime_set .area.birds_blue01 {
      width: 78px;
      height: 26px;
      left: 462px;
      top: 61px;
      animation: updown 5s linear infinite; }
    .kv_anime_set .area.birds_blue02 {
      width: 58px;
      height: 13px;
      left: 499px;
      top: 96px;
      animation: downup 5s linear infinite; }
    .kv_anime_set .area.birds_orange01 {
      width: 73px;
      height: 47px;
      left: 771px;
      top: 20px;
      animation: updown 5s linear infinite; }
    .kv_anime_set .area.birds_orange02 {
      width: 38px;
      height: 35px;
      left: 712px;
      top: 46px;
      animation: downup 5s linear infinite; }
    .kv_anime_set .area.construction {
      width: 184px;
      height: 147px;
      left: 737px;
      top: 86px; }
      .kv_anime_set .area.construction > .innr > div {
        position: absolute; }
      .kv_anime_set .area.construction .front {
        width: 160px;
        height: 30px;
        left: 6px;
        bottom: 0; }
      .kv_anime_set .area.construction .wire01 {
        width: 8px;
        height: 19px;
        left: 69px;
        top: 23px;
        animation: wire 20s linear infinite;
        transform-origin: top; }
      .kv_anime_set .area.construction .hook01 {
        width: 7px;
        height: 16px;
        left: 70px;
        top: 40px;
        animation: hook 20s linear infinite; }
      .kv_anime_set .area.construction .arm01 {
        width: 79px;
        height: 106px;
        left: 0px;
        top: 21px; }
      .kv_anime_set .area.construction .wire02 {
        width: 10px;
        height: 21px;
        left: 94px;
        top: 3px;
        animation: wire 25s linear infinite;
        transform-origin: top; }
      .kv_anime_set .area.construction .hook02 {
        width: 8px;
        height: 19px;
        left: 95px;
        top: 23px;
        animation: hook 25s linear infinite; }
      .kv_anime_set .area.construction .arm02 {
        width: 93px;
        height: 124px;
        left: 91px;
        top: 0; }
    .kv_anime_set .area.human31 {
      width: 14px;
      height: 33px;
      left: 642px;
      top: 188px; }
    .kv_anime_set .area.human32 {
      width: 18px;
      height: 34px;
      left: 657px;
      top: 188px; }
    .kv_anime_set .area.human33 {
      width: 10px;
      height: 31px;
      left: 679px;
      top: 187px; }
    .kv_anime_set .area.human34 {
      width: 20px;
      height: 29px;
      left: 753px;
      top: 217px; }
    .kv_anime_set .area.human35 {
      width: 23px;
      height: 37px;
      left: 771px;
      top: 212px; }
    .kv_anime_set .area.sportscar01 {
      width: 60px;
      height: 40px;
      /*left: 77px;
      top: 360px;*/
      left: -100px;
      top: 277px;
      background-image: url("../images/kv_anime/sportscar01_loop.png");
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: auto 100%; }
      .kv_anime_set .area.sportscar01.racing {
        offset-path: path("M3.35989,85.5c214.95061,1.97994,246.67261-25.87017,243.42717-58.00643C242.78799-12.10523,139.81165-1.21556,1.84335,30.46348");
        offset-rotate: 0deg;
        animation: path-move 3s cubic-bezier(0.14, 0.87, 0.49, 0.17) reverse 1; }
    .kv_anime_set .area.sportscar02 {
      width: 60px;
      height: 40px;
      left: -100px;
      top: 277px;
      background-image: url("../images/kv_anime/sportscar02_loop.png");
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: auto 100%; }
      .kv_anime_set .area.sportscar02.racing {
        offset-path: path("M3.35989,85.5c214.95061,1.97994,246.67261-25.87017,243.42717-58.00643C242.78799-12.10523,139.81165-1.21556,1.84335,30.46348");
        offset-rotate: 0deg;
        animation: path-move 3s cubic-bezier(0.14, 0.87, 0.49, 0.17) reverse 1;
        animation-delay: .5s; }
    .kv_anime_set .area.human01 {
      width: 27px;
      height: 50px;
      left: 77px;
      top: 360px; }
    .kv_anime_set .area.human02 {
      width: 24px;
      height: 49px;
      left: 102px;
      top: 354px; }
    .kv_anime_set .area.tree01_2 {
      width: 23px;
      height: 30px;
      left: 87px;
      top: 273px; }
    .kv_anime_set .area.tower {
      width: 207px;
      height: 262px;
      left: 574px;
      top: 181px; }
    .kv_anime_set .area.fuji {
      width: 416px;
      height: 205px;
      left: 477px;
      top: 357px;
      /*z-index: 50;*/ }
    .kv_anime_set .area.human43 {
      width: 18px;
      height: 35px;
      left: 43px;
      top: 36px; }
    .kv_anime_set .area.human44 {
      width: 16px;
      height: 36px;
      left: 62px;
      top: 37px; }
    .kv_anime_set .area.human45 {
      width: 17px;
      height: 37px;
      left: 26px;
      top: 100px; }
    .kv_anime_set .area.human46 {
      width: 19px;
      height: 38px;
      left: 47px;
      top: 93px; }
    .kv_anime_set .area.food {
      width: 162px;
      height: 85px;
      left: 225px;
      top: 642px; }
    .kv_anime_set .area.human04 {
      width: 30px;
      height: 49px;
      left: 150px;
      top: 727px; }
    .kv_anime_set .area.human05 {
      width: 21px;
      height: 51px;
      left: 291px;
      top: 716px; }
    .kv_anime_set .area.human06 {
      width: 17px;
      height: 30px;
      left: 316px;
      top: 724px; }
    .kv_anime_set .area.human41 {
      width: 20px;
      height: 46px;
      left: 59px;
      top: 31px; }
    .kv_anime_set .area.human42 {
      width: 19px;
      height: 43px;
      left: 81px;
      top: 36px; }
    .kv_anime_set .area.conveyor {
      width: 85px;
      height: 40px;
      left: 27px;
      top: 56px; }
    .kv_anime_set .area.potato {
      width: 190px;
      height: 46px;
      left: 20px;
      top: 57px;
      animation: potato 20s linear infinite; }
    .kv_anime_set .area.tree17 {
      width: 55px;
      height: 60px;
      left: 859px;
      top: 343px; }
    .kv_anime_set .area.tree18 {
      width: 33px;
      height: 46px;
      left: 848px;
      top: 380px; }
    .kv_anime_set .area.pump06 {
      width: 53px;
      height: 40px;
      left: 790px;
      top: 395px; }
    .kv_anime_set .area.tree19 {
      width: 65px;
      height: 57px;
      left: 864px;
      top: 427px; }
    .kv_anime_set .area.human47 {
      width: 24px;
      height: 39px;
      left: 103px;
      top: 79px; }
    .kv_anime_set .area.building01 {
      width: 240px;
      height: 239px;
      left: 379px;
      top: 104px; }
    .kv_anime_set .area.human27 {
      width: 28px;
      height: 36px;
      left: 566px;
      top: 325px; }
    .kv_anime_set .area.human26 {
      width: 16px;
      height: 27px;
      left: 514px;
      top: 172px; }
    .kv_anime_set .area.human25 {
      width: 15px;
      height: 31px;
      left: 429px;
      top: 276px; }
    .kv_anime_set .area.human24 {
      width: 15px;
      height: 34px;
      left: 413px;
      top: 279px; }
    .kv_anime_set .area.human23 {
      width: 17px;
      height: 21px;
      left: 336px;
      top: 312px; }
    .kv_anime_set .area.human22 {
      width: 18px;
      height: 24px;
      left: 316px;
      top: 318px; }
    .kv_anime_set .area.human21 {
      width: 34px;
      height: 50px;
      left: 283px;
      top: 337px; }
    .kv_anime_set .area.human20 {
      width: 20px;
      height: 34px;
      left: 257px;
      top: 328px; }
    .kv_anime_set .area.tree33 {
      width: 65px;
      height: 37px;
      left: 277px;
      top: 405px; }
    .kv_anime_set .area.human28 {
      width: 30px;
      height: 49px;
      left: 376px;
      top: 412px; }
    .kv_anime_set .area.pump05 {
      width: 55px;
      height: 41px;
      left: 497px;
      top: 424px; }
    .kv_anime_set .area.human29 {
      width: 29px;
      height: 44px;
      left: 439px;
      top: 441px; }
    .kv_anime_set .area.human30 {
      width: 26px;
      height: 47px;
      left: 465px;
      top: 450px; }
    .kv_anime_set .area.human36 {
      width: 22px;
      height: 38px;
      left: 960px;
      top: 284px; }
    .kv_anime_set .area.human37 {
      width: 19px;
      height: 31px;
      left: 1058px;
      top: 225px; }
    .kv_anime_set .area.human38 {
      width: 21px;
      height: 35px;
      left: 1078px;
      top: 226px; }
    .kv_anime_set .area.tractor01 {
      width: 49px;
      height: 50px;
      left: 1206px;
      top: 231px;
      background-image: url("../images/kv_anime/tractor_loop_left.svg");
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: auto 100%;
      animation: tractor 30s linear infinite; }
    .kv_anime_set .area.human39 {
      width: 14px;
      height: 21px;
      left: 1137px;
      top: 338px; }
    .kv_anime_set .area.human40 {
      width: 15px;
      height: 35px;
      left: 1154px;
      top: 323px; }
    .kv_anime_set .area.pig01 {
      width: 32px;
      height: 27px;
      left: 1045px;
      top: 322px; }
    .kv_anime_set .area.pig02 {
      width: 33px;
      height: 26px;
      left: 1061px;
      top: 296px; }
    .kv_anime_set .area.pig03 {
      width: 34px;
      height: 26px;
      left: 1090px;
      top: 318px; }
    .kv_anime_set .area.pig04 {
      width: 32px;
      height: 27px;
      left: 1077px;
      top: 339px; }
    .kv_anime_set .area.tree03 {
      width: 59px;
      height: 60px;
      left: 314px;
      top: 456px; }
    .kv_anime_set .area.pump02 {
      width: 65px;
      height: 49px;
      left: 359px;
      top: 487px; }
    .kv_anime_set .area.human09 {
      width: 22px;
      height: 41px;
      left: 491px;
      top: 543px; }
    .kv_anime_set .area.human10 {
      width: 25px;
      height: 50px;
      left: 513px;
      top: 534px; }
    .kv_anime_set .area.tree04 {
      width: 33px;
      height: 46px;
      left: 421px;
      top: 520px; }
    .kv_anime_set .area.tree05 {
      width: 33px;
      height: 46px;
      left: 455px;
      top: 525px; }
    .kv_anime_set .area.tree09_2 {
      width: 74px;
      height: 35px;
      left: 604px;
      top: 577px; }
    .kv_anime_set .area.tree06 {
      width: 41px;
      height: 64px;
      left: 547px;
      top: 552px; }
    .kv_anime_set .area.tree07 {
      width: 41px;
      height: 64px;
      left: 587px;
      top: 555px; }
    .kv_anime_set .area.tree08 {
      width: 39px;
      height: 61px;
      left: 568px;
      top: 575px; }
    .kv_anime_set .area.tree09 {
      width: 34px;
      height: 47px;
      left: 551px;
      top: 601px; }
    .kv_anime_set .area.conveni01 {
      width: 74px;
      height: 44px;
      left: 198px;
      top: 437px; }
    .kv_anime_set .area.tree34 {
      width: 17px;
      height: 49px;
      left: 258px;
      top: 472px; }
    .kv_anime_set .area.tree34_2 {
      width: 153px;
      height: 150px;
      left: 121px;
      top: 515px; }
    .kv_anime_set .area.tree34_3 {
      width: 168px;
      height: 72px;
      left: -21px;
      top: 645px; }
    .kv_anime_set .area.tree01 {
      width: 48px;
      height: 91px;
      left: 9px;
      top: 480px; }
    .kv_anime_set .area.tree02 {
      width: 115px;
      height: 92px;
      left: 11px;
      top: 535px; }
    .kv_anime_set .area.human03 {
      width: 21px;
      height: 56px;
      left: 33px;
      top: 639px; }
    .kv_anime_set .area.tree24 {
      width: 31px;
      height: 44px;
      left: 1025px;
      top: 438px; }
    .kv_anime_set .area.tree23 {
      width: 32px;
      height: 51px;
      left: 1000px;
      top: 463px; }
    .kv_anime_set .area.tree22 {
      width: 39px;
      height: 48px;
      left: 973px;
      top: 480px; }
    .kv_anime_set .area.tree21 {
      width: 35px;
      height: 55px;
      left: 955px;
      top: 494px; }
    .kv_anime_set .area.tree25 {
      width: 196px;
      height: 112px;
      left: 918px;
      top: 565px; }
    .kv_anime_set .area.airport {
      width: 124px;
      height: 167px;
      left: 814px;
      top: 528px; }
    .kv_anime_set .area.human15 {
      width: 58px;
      height: 54px;
      left: 891px;
      top: 658px; }
    .kv_anime_set .area.tree26 {
      width: 38px;
      height: 53px;
      left: 958px;
      top: 644px; }
    .kv_anime_set .area.human16 {
      width: 35px;
      height: 45px;
      left: 998px;
      top: 647px; }
    .kv_anime_set .area.pump03 {
      width: 65px;
      height: 49px;
      left: 1012px;
      top: 621px; }
    .kv_anime_set .area.conveni05 {
      width: 61px;
      height: 71px;
      left: 1076px;
      top: 571px; }
    .kv_anime_set .area.conveni04 {
      width: 81px;
      height: 70px;
      left: 929px;
      top: 685px; }
    .kv_anime_set .area.tree27 {
      width: 33px;
      height: 46px;
      left: 954px;
      top: 740px; }
    .kv_anime_set .area.m_water {
      width: 112px;
      height: 98px;
      left: 1008px;
      top: 676px; }
    .kv_anime_set .area.plane01 {
      width: 95px;
      height: 81px;
      left: 767px;
      top: 583px; }
    .kv_anime_set .area.tree16 {
      width: 38px;
      height: 41px;
      left: 677px;
      top: 567px; }
    .kv_anime_set .area.tree13 {
      width: 105px;
      height: 50px;
      left: 676px;
      top: 685px; }
    .kv_anime_set .area.tree14 {
      width: 36px;
      height: 50px;
      left: 769px;
      top: 663px; }
    .kv_anime_set .area.human13 {
      width: 31px;
      height: 53px;
      left: 705px;
      top: 682px; }
    .kv_anime_set .area.human14 {
      width: 28px;
      height: 58px;
      left: 735px;
      top: 674px; }
    .kv_anime_set .area.conveni03 {
      width: 93px;
      height: 69px;
      left: 607px;
      top: 728px; }
    .kv_anime_set .area.human11 {
      width: 18px;
      height: 55px;
      left: 658px;
      top: 747px; }
    .kv_anime_set .area.human12 {
      width: 23px;
      height: 51px;
      left: 699px;
      top: 734px; }
    .kv_anime_set .area.tree15 {
      width: 45px;
      height: 36px;
      left: 602px;
      top: 778px; }
    .kv_anime_set .area.tree15_2 {
      width: 48px;
      height: 33px;
      left: 698px;
      top: 769px; }
    .kv_anime_set .area.conveni02 {
      width: 54px;
      height: 81px;
      left: 459px;
      top: 598px; }
    .kv_anime_set .area.tree10 {
      width: 49px;
      height: 55px;
      left: 388px;
      top: 666px; }
    .kv_anime_set .area.pump01 {
      width: 65px;
      height: 49px;
      left: 313px;
      top: 752px; }
    .kv_anime_set .area.human07 {
      width: 30px;
      height: 55px;
      left: 380px;
      top: 780px; }
    .kv_anime_set .area.human08 {
      width: 26px;
      height: 58px;
      left: 410px;
      top: 792px; }
    .kv_anime_set .area.tree11 {
      width: 38px;
      height: 53px;
      left: 490px;
      top: 764px; }
    .kv_anime_set .area.tree12 {
      width: 57px;
      height: 36px;
      left: 447px;
      top: 823px; }
    .kv_anime_set .area.tree30 {
      width: 38px;
      height: 30px;
      left: 1167px;
      top: 376px; }
    .kv_anime_set .area.tree30_2 {
      width: 49px;
      height: 36px;
      left: 1069px;
      top: 403px; }
    .kv_anime_set .area.tree30_3 {
      width: 55px;
      height: 19px;
      left: 1232px;
      top: 357px; }
    .kv_anime_set .area.tree29 {
      width: 37px;
      height: 57px;
      left: 1146px;
      top: 365px; }
    .kv_anime_set .area.tree28 {
      width: 43px;
      height: 47px;
      left: 1114px;
      top: 376px; }
    .kv_anime_set .area.building02 {
      width: 224px;
      height: 157px;
      left: 1096px;
      top: 356px; }
    .kv_anime_set .area.human17 {
      width: 35px;
      height: 36px;
      left: 1147px;
      top: 435px; }
    .kv_anime_set .area.human18 {
      width: 19px;
      height: 39px;
      left: 1206px;
      top: 436px; }
    .kv_anime_set .area.pump04 {
      width: 59px;
      height: 45px;
      left: 1098px;
      top: 458px; }
    .kv_anime_set .area.conveni06 {
      width: 70px;
      height: 47px;
      left: 1144px;
      top: 476px; }
    .kv_anime_set .area.human19 {
      width: 14px;
      height: 42px;
      left: 1166px;
      top: 495px; }
    .kv_anime_set .area.tree32 {
      width: 38px;
      height: 51px;
      left: 1230px;
      top: 480px; }
    .kv_anime_set .area.tree31 {
      width: 28px;
      height: 39px;
      left: 1208px;
      top: 492px; }
    .kv_anime_set .area.ocean01 {
      width: 111px;
      height: 67px;
      left: 5px;
      top: 757px;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 100% auto; }
      .kv_anime_set .area.ocean01[data-shoal="right"] {
        animation: shoal-go-right 3s linear 1;
        background-image: url("../images/kv_anime/ocean01.svg"); }
      .kv_anime_set .area.ocean01[data-shoal="left"] {
        animation: shoal-go-left 3s linear 1;
        background-image: url("../images/kv_anime/ocean01_left.svg"); }
    .kv_anime_set .area[class*="ocean02"] {
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 100% auto; }
      .kv_anime_set .area[class*="ocean02"][data-fish="right"] {
        animation: fish-go-right 15s linear 1; }
      .kv_anime_set .area[class*="ocean02"][data-fish="left"] {
        animation: fish-go-left 15s linear 1; }
    .kv_anime_set .area.ocean02_1 {
      width: 217px;
      height: 52px;
      left: 363px;
      top: 877px; }
      .kv_anime_set .area.ocean02_1[data-fish="right"] {
        background-image: url("../images/kv_anime/ocean02_1.svg"); }
      .kv_anime_set .area.ocean02_1[data-fish="left"] {
        background-image: url("../images/kv_anime/ocean02_1_left.svg"); }
    .kv_anime_set .area.ocean02_2 {
      width: 213px;
      height: 55px;
      left: 295px;
      top: 893px; }
      .kv_anime_set .area.ocean02_2[data-fish="right"] {
        background-image: url("../images/kv_anime/ocean02_2.svg");
        animation-duration: 20s; }
      .kv_anime_set .area.ocean02_2[data-fish="left"] {
        background-image: url("../images/kv_anime/ocean02_2_left.svg");
        animation-duration: 20s; }
    .kv_anime_set .area.ocean02_3 {
      width: 201px;
      height: 64px;
      left: 250px;
      top: 869px; }
      .kv_anime_set .area.ocean02_3[data-fish="right"] {
        background-image: url("../images/kv_anime/ocean02_3.svg");
        animation-duration: 25s; }
      .kv_anime_set .area.ocean02_3[data-fish="left"] {
        background-image: url("../images/kv_anime/ocean02_3_left.svg");
        animation-duration: 25s; }
    .kv_anime_set .area.ocean03 {
      width: 168px;
      height: 77px;
      /*left: 666px;
      top: 854px;*/
      left: 571px;
      top: 942px;
      offset-path: path("M326,118c0-32.39276-51.97723-117-166.48862-117S1,85.60724,1,118");
      offset-rotate: 0deg;
      animation: path-move 10s ease-in-out infinite,squid 10s ease-in-out infinite;
      animation-delay: .5s; }
    .kv_anime_set .area.ocean04 {
      width: 143px;
      height: 90px;
      left: 888px;
      top: 830px;
      animation: jellyfish01 10s linear infinite; }
    .kv_anime_set .area.ocean05 {
      width: 67px;
      height: 99px;
      left: 1008px;
      top: 803px;
      animation: jellyfish02 10s linear infinite; }
    .kv_anime_set .area.ship01 {
      width: 170px;
      height: 108px;
      left: 1075px;
      top: 729px;
      animation: ship 5s linear infinite; }

.js-symbol .illust {
  position: relative;
  transition: transform .5s;
  /*
  &::before {//pin
      content: "";
      display: block;
      width: 26px;
      height: 31px;
      background-image: url( "../images/kv_anime/pin.svg");
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 26px 31px;
      position: absolute;
      left: 0;
      top: 0;
      z-index: 2;
      animation: pin 2s infinite;
  }*/ }
  .js-symbol .illust img {
    transition: transform .5s;
    /*
    &:hover {
        transform: scale(1.1,1.1);
    }*/ }
  .js-symbol .illust .pin {
    display: block;
    width: 26px;
    height: 31px;
    background-image: url("../images/kv_anime/pin.svg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 26px 31px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 2;
    animation: pin 2s infinite;
    cursor: pointer; }
.js-symbol.active {
  cursor: pointer;
  z-index: 4; }
  .js-symbol.active .illust {
    transform: scale(1.1, 1.1);
    /*
    img {
        transform: scale(1.1,1.1);  
    }*/
    /*
    &::before {
        animation: none;
    }*/ }

@keyframes pin {
  0% {
    transform: scale(1, 1); }
  50% {
    transform: scale(0.8, 0.8); }
  100% {
    transform: scale(1, 1); } }
@keyframes jump {
  0% {
    transform: scale(1, 1) translate(0%, 0%); }
  /* 初期 */
  30% {
    transform: scale(1.3, 0.8) translate(0%, 0%); }
  40% {
    transform: scale(1, 1) translate(0%, 0%); }
  50% {
    transform: scale(0.8, 1.3) translate(0%, -10%); }
  60% {
    transform: scale(1, 1) translate(0%, -30%); }
  100% {
    transform: scale(1, 1) translate(0%, 0%); }
  /* 初期に戻る */ }
@keyframes swing {
  0% {
    transform: translate(0%, 0%); }
  10% {
    transform: translate(5%, 0%) rotate(10deg); }
  20% {
    transform: translate(10%, 0%) rotate(10deg); }
  30% {
    transform: translate(-5%, 0%) rotate(-10deg); }
  35% {
    transform: translate(-7%, 0%) rotate(-10deg); }
  45% {
    transform: translate(5%, 0%) rotate(10deg); }
  50% {
    transform: translate(7%, 0%) rotate(10deg); }
  60% {
    transform: translate(-2%, 0%) rotate(-5deg); }
  65% {
    transform: translate(-3%, 0%) rotate(-7deg); }
  75% {
    transform: translate(0%, 0%) rotate(0deg); }
  100% {
    transform: translate(0%, 0%) rotate(0deg); } }
@keyframes path-move {
  to {
    offset-distance: 100%; } }
@keyframes tractor {
  0% {
    transform: translate(0%, 0%) scale(1, 1); }
  /* 初期 */
  50% {
    transform: translate(-100%, 0%) scale(1, 1); }
  100% {
    transform: translate(0%, 0%) scale(1, 1); } }
@keyframes jellyfish01 {
  0% {
    opacity: 1;
    transform: translate(0%, 0%); }
  50% {
    opacity: .1;
    transform: translate(0%, 10%); }
  100% {
    opacity: 1;
    transform: translate(0%, 0%); } }
@keyframes jellyfish02 {
  0% {
    opacity: .1;
    transform: translate(0%, 10%); }
  50% {
    opacity: 1;
    transform: translate(0%, 0%); }
  100% {
    opacity: .1;
    transform: translate(0%, 10%); } }
@keyframes squid {
  0% {
    opacity: .1;
    transform: scale(0.9, 0.9); }
  50% {
    opacity: .8;
    transform: scale(1, 1); }
  100% {
    opacity: .1;
    transform: scale(0.7, 0.7); } }
@keyframes fish-go-right {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(20%, 0%); } }
@keyframes fish-go-left {
  0% {
    transform: translate(20%, 0%); }
  100% {
    transform: translate(0%, 0%); } }
@keyframes shoal-go-right {
  0% {
    transform: translate(0%, 0%);
    opacity: 0; }
  100% {
    transform: translate(20%, 20%);
    opacity: 1; } }
@keyframes shoal-go-left {
  0% {
    transform: translate(20%, 20%);
    opacity: 1; }
  100% {
    transform: translate(0%, 60%);
    opacity: 0; } }
@keyframes ship {
  0% {
    transform: rotate(0deg) translate(0%, 0%); }
  50% {
    transform: rotate(-2deg) translate(1%, -5%); }
  100% {
    transform: rotate(0deg) translate(0%, 0%); } }
@keyframes updown {
  0% {
    transform: translate(0%, 5px); }
  50% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(0%, 5px); } }
@keyframes downup {
  0% {
    transform: translate(0%, 0%); }
  50% {
    transform: translate(0%, 5px); }
  100% {
    transform: translate(0%, 0%); } }
@keyframes wire {
  0% {
    transform: scale(1, 1); }
  5% {
    transform: scale(1, 1); }
  50% {
    transform: scale(1, 6); }
  55% {
    transform: scale(1, 6); }
  95% {
    transform: scale(1, 1); }
  100% {
    transform: scale(1, 1); } }
@keyframes hook {
  0% {
    transform: translate(0%, 0%); }
  5% {
    transform: translate(0%, 0%); }
  50% {
    transform: translate(0%, 600%); }
  55% {
    transform: translate(0%, 600%); }
  95% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(0%, 0%); } }
@keyframes potato {
  0% {
    transform: translate(0%, 0%); }
  100% {
    transform: translate(-88px, -17px); } }
.kv_category_window {
  letter-spacing: .02em;
  line-height: 1.4;
  width: 434px;
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.46);
  position: absolute;
  left: calc(100% + 20px);
  /*left: calc(100% + 30px);*/
  top: 50%;
  transform: translateY(-50%);
  z-index: 100;
  /**/
  opacity: 0;
  pointer-events: none;
  /**/
  margin-top: 8px;
  transition: opacity 1s,margin-top 1s; }
  .reverse .kv_category_window {
    left: auto;
    right: calc(100% + 30px); }
  .cat02 .kv_category_window {
    left: calc(100% - 0); }
  .cat06.reverse .kv_category_window {
    right: calc(100% + 5px); }
  .cat07 .kv_category_window {
    right: calc(100% + 5px); }
  .cat08 .kv_category_window {
    top: -150px;
    transform: none; }
  .cat09 .kv_category_window {
    top: -150px;
    transform: none; }
  .cat10 .kv_category_window {
    top: -270px;
    left: calc(100% + 10px);
    transform: none; }
  .cat11 .kv_category_window {
    right: calc(100% - 0); }
  .kv_category_window_innr {
    position: relative; }
    .kv_category_window_innr::before, .kv_category_window_innr::after {
      content: "";
      display: block;
      position: absolute; }
    .kv_category_window_innr::before {
      right: 100%;
      top: 50%;
      margin-top: -10px;
      width: 0;
      height: 0;
      border: solid 20px transparent;
      border-left: 0;
      border-top-width: 15px;
      border-bottom-width: 15px;
      border-right-color: #fff;
      z-index: 2;
      /* arrow調整 */ }
      .reverse .kv_category_window_innr::before {
        right: auto;
        left: 100%;
        border-right: 0;
        border-left: solid 20px #fff; }
      .cat08 .kv_category_window_innr::before {
        top: 35%; }
      .cat09 .kv_category_window_innr::before {
        top: 35%; }
      .cat10 .kv_category_window_innr::before {
        top: 60%; }
    .kv_category_window_innr::after {
      width: 30px;
      height: 100%;
      right: 100%;
      top: 0;
      background-color: transparent; }
      .reverse .kv_category_window_innr::after {
        right: auto;
        left: 100%; }
  .active .kv_category_window {
    opacity: 1;
    pointer-events: auto;
    margin-top: 0; }
  .kv_category_window .txt_wrap {
    padding: 0 23px 23px; }
  .kv_category_window .btn_more_window {
    color: #00B092;
    font-style: 1.4rem;
    text-align: center; }
    .kv_category_window .btn_more_window::after {
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      border-top: solid 1px #00B092;
      border-right: solid 1px #00B092;
      transform: rotate(45deg);
      position: relative;
      top: -1px;
      margin-left: 3px; }

.kv_cat_catch {
  font-size: 1.8rem;
  color: #00B092;
  font-weight: 600;
  margin-bottom: 13px; }

.kv_cat_lead {
  color: #000;
  font-size: 1.7rem;
  margin-bottom: 50px; }

.kv_anime_bg {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 1280px;
  height: auto;
  transform: translate(-50%, -50%); }
  .kv_anime_bg_inner {
    position: relative; }
  .kv_anime_bg img {
    width: 100%;
    height: 100%;
    object-fit: cover; }

.kv_catch {
  width: 310px;
  position: absolute;
  left: 40px;
  bottom: 37px;
  z-index: 2; }

/*=============================== レイアウト ================================*/
/*---------- 共通要素 ----------*/
.home_section_ttl {
  text-align: center;
  position: relative;
  margin-bottom: 60px; }
  .home_section_ttl::after {
    content: "";
    display: block;
    width: 44px;
    height: 10px;
    background-image: url("../images/bullet01.svg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 44px 10px;
    margin: 17px auto 0; }
  @media screen and (max-width: 768px) {
    .home_section_ttl {
      margin-bottom: 40px; } }
  .home_section_ttl span {
    display: block; }
  .home_section_ttl .txt_en {
    font-family: "Din", 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
    font-size: 3rem;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .02em; }
    @media screen and (max-width: 768px) {
      .home_section_ttl .txt_en {
        font-size: 2.5rem; } }
  .home_section_ttl .txt_jp {
    font-weight: 500;
    line-height: 1.3;
    margin-top: 12px; }
    @media screen and (max-width: 768px) {
      .home_section_ttl .txt_jp {
        font-size: 1.5rem;
        margin-top: 8px; } }

.inner {
  max-width: 1050px;
  margin: 0 auto;
  padding: 100px 25px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .inner {
      padding-top: 50px;
      padding-bottom: 50px; } }

/*=============================== Case ================================*/
.home_case_contents {
  margin-bottom: 50px;
  /*
  margin-top: -60px;
  
  @media screen and (max-width: $breakPointTab) {
      margin-top: -30px;
  }
  @media screen and (max-width: $breakPointSp) {
      margin-top: 0;
  }*/ }
  .home_case_contents .inner {
    padding-top: 0;
    padding-bottom: 0; }

.home_case_menu_body {
  display: flex;
  flex-wrap: wrap;
  gap: 20px 2%; }
  @media screen and (max-width: 768px) {
    .home_case_menu_body {
      grid-row-gap: 10px; } }

.home_case_item {
  letter-spacing: .06em;
  line-height: 1.4;
  width: 23.5%;
  border: solid 1px #00B092;
  background-color: #fff; }
  @media screen and (max-width: 768px) {
    .home_case_item {
      width: 49%; } }
  .home_case_item .txt_wrap {
    padding-bottom: 25px; }
    @media screen and (max-width: 768px) {
      .home_case_item .txt_wrap {
        padding-bottom: 15px; } }
  .home_case_item a {
    display: block;
    transition: opacity .5s; }
    @media screen and (min-width: 769px) {
      .home_case_item a {
        /**/ }
        .home_case_item a:hover {
          opacity: .6; } }

.home_case_cat_label {
  color: #000;
  font-size: 1.6rem;
  text-align: center;
  font-weight: 500;
  margin-bottom: 20px;
  transition: color .5s; }
  @media screen and (max-width: 768px) {
    .home_case_cat_label {
      font-size: 1.4rem;
      margin-bottom: 15px; } }
  @media screen and (max-width: 400px) {
    .home_case_cat_label {
      font-size: 1.2rem;
      letter-spacing: .02em; } }
  @media screen and (min-width: 1001px) {
    .home_case_cat_label br {
      display: none; }
    a:hover .home_case_cat_label {
      color: #00B092; } }

/*=============================== About ================================*/
.home_about_contents {
  background-color: #FBF9EB; }
  .home_about_contents .home_section_ttl {
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .home_about_contents .home_section_ttl {
        margin-bottom: 0; } }

.home_about_package {
  display: flex;
  margin-bottom: 120px; }
  @media screen and (max-width: 1000px) {
    .home_about_package {
      margin-bottom: 80px; } }
  @media screen and (max-width: 768px) {
    .home_about_package {
      flex-direction: column-reverse;
      margin-bottom: 60px; } }
  @media screen and (max-width: 1000px) {
    .home_about_package .img_wrap {
      width: 40%; } }
  @media screen and (max-width: 768px) {
    .home_about_package .img_wrap {
      max-width: 500px;
      margin-left: auto;
      margin-right: auto; } }
  .home_about_package .img_wrap figure {
    width: 82.4%;
    margin-left: auto; }
    @media screen and (max-width: 1000px) {
      .home_about_package .img_wrap figure {
        width: 90%; } }
    @media screen and (max-width: 768px) {
      .home_about_package .img_wrap figure {
        width: auto; } }
    .home_about_package .img_wrap figure img {
      mix-blend-mode: multiply; }
  @media screen and (max-width: 1000px) {
    .home_about_package .txt_wrap {
      width: 60%; } }
  .home_about_package .img_wrap,
  .home_about_package .txt_wrap {
    width: 50%; }
    @media screen and (max-width: 768px) {
      .home_about_package .img_wrap,
      .home_about_package .txt_wrap {
        width: 100%; } }

.home_about_catch {
  color: #00B092;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 33px; }
  @media screen and (min-width: 1001px) {
    .home_about_catch {
      white-space: nowrap; } }
  @media screen and (max-width: 768px) {
    .home_about_catch {
      font-size: 1.8rem;
      margin-bottom: 20px; }
      .home_about_catch br {
        display: none; } }

.home_about_lead {
  line-height: 2.1; }

/*=============================== Product ================================*/
.home_product_nav_body {
  display: flex;
  flex-wrap: wrap;
  gap: 23px 3%; }
  @media screen and (max-width: 768px) {
    .home_product_nav_body {
      flex-direction: column;
      max-width: 500px;
      margin-left: auto;
      margin-right: auto; } }

.home_product_nav_item {
  width: 48.5%;
  border: solid 1px #00B092; }
  @media screen and (max-width: 768px) {
    .home_product_nav_item {
      width: 100%; } }
  .home_product_nav_item a {
    display: flex; }
  .home_product_nav_item .img_wrap {
    width: 60.8%; }
    @media screen and (max-width: 768px) {
      .home_product_nav_item .img_wrap {
        width: 50%; } }
  .home_product_nav_item .txt_wrap {
    text-align: center;
    font-weight: 500;
    width: 39.2%;
    padding: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative; }
    @media screen and (max-width: 768px) {
      .home_product_nav_item .txt_wrap {
        width: 50%; } }
  .home_product_nav_item .seemore {
    position: absolute;
    bottom: 15px;
    left: 50%;
    transform: translateX(-50%); }

.product_label {
  color: #000; }
  @media screen and (max-width: 1000px) {
    .product_label {
      font-size: 1.4rem;
      letter-spacing: .04em; } }

/*=============================== News ================================*/
.home_information_contents {
  background-color: #FBF9EB; }

.information_set {
  /*display: flex;
  flex-wrap: wrap;*/
  border-top: solid 1px #00B092;
  margin-bottom: 50px; }
  .information_set dt {
    color: #6F6F6F;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.6;
    width: 135px;
    float: left;
    padding-left: 24px;
    pointer-events: none;
    padding-top: 15px;
    padding-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .information_set dt {
        float: none;
        width: 100%;
        padding-left: 15px;
        padding-bottom: 8px; } }
  .information_set dd {
    line-height: 1.6;
    width: 100%;
    border-bottom: solid 1px #00B092; }
    .information_set dd a {
      color: #000;
      font-size: 1.6rem;
      display: block;
      transition: color .5s;
      padding: 15px 15px 15px 135px; }
      @media screen and (max-width: 768px) {
        .information_set dd a {
          padding: 0 15px 15px 15px; } }
      @media screen and (min-width: 769px) {
        .information_set dd a:hover {
          color: #00B092; } }

/*=============================== Support ================================*/
.home_support_nav_body {
  display: flex;
  column-gap: 3%; }
  @media screen and (max-width: 768px) {
    .home_support_nav_body {
      flex-wrap: wrap;
      grid-row-gap: 15px; } }

.home_support_nav_item {
  width: 22.75%;
  border: solid 1px #00B092; }
  @media screen and (max-width: 768px) {
    .home_support_nav_item {
      width: 48.5%; } }
  .home_support_nav_item a {
    color: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    height: 233px;
    transition: color .5s,background-color .5s; }
    @media screen and (min-width: 769px) {
      .home_support_nav_item a:hover {
        color: #00B092;
        background-color: #FFFDE4; } }
  .home_support_nav_item .img_wrap {
    width: 136px;
    margin: 0 auto 24px; }
    @media screen and (max-width: 768px) {
      .home_support_nav_item .img_wrap {
        width: 107px;
        margin-bottom: 18px; } }
  .home_support_nav_item .txt_wrap .label {
    font-weight: 600; }
    @media screen and (max-width: 400px) {
      .home_support_nav_item .txt_wrap .label {
        letter-spacing: .02em; } }
