@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; }

/*================================ パンくず ===============================*/
.bread {
  width: 100%;
  max-width: 1050px;
  padding: 0 25px;
  margin: 0 auto 70px; }
  .bread ol {
    display: flex;
    flex-wrap: wrap;
    padding-top: 15px;
    border-top: solid 1px #EAEAE1; }
    .bread ol > li {
      font-size: 1.5rem;
      list-style: none;
      position: relative;
      padding-left: 15px;
      margin-right: 10px; }
      .bread ol > li:first-child {
        padding-left: 0; }
    .bread ol li::after {
      content: " ";
      display: block;
      width: 6px;
      height: 6px;
      position: absolute;
      left: 0;
      top: .9em;
      border: solid 1px #000;
      border-top: 0;
      border-left: 0;
      transform: rotate(-45deg) translateY(-50%); }
      @media screen and (max-width: 768px) {
        .bread ol li::after {
          top: .65em; } }
    .bread ol li:first-child::after {
      display: none; }
  .bread a {
    color: #00B092;
    font-weight: 500; }
  @media screen and (min-width: 769px) {
    .bread a:hover {
      text-decoration: underline; } }
  @media screen and (max-width: 768px) {
    .bread {
      margin-bottom: 40px; }
      .bread ol > li {
        font-size: 1.3rem;
        line-height: 1.3; } }

/*================================2階層：contents===============================*/
/*---------- 共通 ----------*/
.contents {
  margin: 0 auto;
  width: 100%;
  max-width: 1050px;
  min-height: 700px;
  padding: 0 25px 200px; }
  @media screen and (max-width: 768px) {
    .contents {
      min-height: 500px;
      padding-bottom: 50px; } }
  .container .contents {
    padding-left: 0;
    padding-right: 0; }
    @media screen and (max-width: 768px) {
      .container .contents {
        padding-bottom: 80px; } }
  .contents p {
    margin-bottom: 15px; }
    @media screen and (max-width: 768px) {
      .contents p {
        margin-bottom: 10px; } }
  .contents a {
    color: #1D7885;
    text-decoration: underline; }
    .contents a img {
      pointer-events: auto; }
  .contents a:hover {
    text-decoration: none; }
  .contents iframe {
    display: block;
    width: 100%; }
  .contents img.border {
    border: solid 1px #707070; }
  body .contents .mb0 {
    margin-bottom: 0; }
  body .contents .mb10 {
    margin-bottom: 10px; }
  body .contents .mb15 {
    margin-bottom: 15px; }
  body .contents .mb30 {
    margin-bottom: 30px; }
    @media screen and (max-width: 768px) {
      body .contents .mb30 {
        margin-bottom: 15px; } }
  body .contents .mb50 {
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      body .contents .mb50 {
        margin-bottom: 30px; } }
  body .contents .mb100 {
    margin-bottom: 100px; }
    @media screen and (max-width: 768px) {
      body .contents .mb100 {
        margin-bottom: 60px; } }
  body .contents .mt0 {
    margin-top: 0; }
  .contents .note {
    font-size: 1.4rem;
    line-height: 1.5; }
  .contents .note_r {
    text-align: right;
    font-size: 1.4rem;
    line-height: 1.5; }
  .contents .w300 {
    width: 300px; }
  .contents .w250 {
    width: 250px; }
  .contents .w80p {
    width: 80%;
    margin-left: auto;
    margin-right: auto; }
  .contents .w90p {
    width: 90%;
    margin-left: auto;
    margin-right: auto; }

.inner_contents {
  max-width: 1050px;
  margin: 0 auto;
  padding: 0 25px; }

.contents em {
  font-weight: 500;
  color: #E65819; }

/*---------- table ----------*/
.contents table {
  font-size: 1.6rem;
  border-top: solid 1px #707070;
  border-left: solid 1px #707070;
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 30px; }
  .contents table.all_th20 th,
  .contents table.all_th20 td {
    width: 20%; }
  .contents table.all_th25 th,
  .contents table.all_th25 td {
    width: 25%; }
  .contents table.all_th50 th,
  .contents table.all_th50 td {
    width: 50%; }
  .contents table.body_th10 tbody th {
    width: 10%; }
  .contents table.body_th15 tbody th {
    width: 15%; }
  .contents table.body_th20 tbody th {
    width: 20%; }
  .contents table.body_th150 tbody th {
    width: 150px; }
  .contents table.small_txt th,
  .contents table.small_txt td {
    font-size: .8em; }
  .contents table.txt_c th,
  .contents table.txt_c td {
    text-align: center; }
  .contents table.th_c tbody th {
    text-align: center;
    vertical-align: middle; }

.contents th,
.contents td {
  border-right: solid 1px #707070;
  border-bottom: solid 1px #707070;
  padding: 15px;
  vertical-align: top; }

.contents th {
  font-weight: 600; }

.contents thead th {
  background-color: #FAF5EF;
  text-align: center;
  vertical-align: middle; }

.contents tfoot th {
  background-color: #fefefe; }

.contents caption {
  font-weight: 500;
  text-align: left;
  margin-top: 10px;
  margin-bottom: 5px; }
  @media screen and (max-width: 768px) {
    .contents caption {
      margin-top: 10px; } }

.contents tbody th,
.contents tbody td {
  text-align: left;
  line-height: 1.5; }

.contents tbody th {
  background-color: #E1EFED;
  width: 30%;
  letter-spacing: .05em; }

.contents td {
  background-color: #fff; }
  .contents td .sub_ttl::before {
    top: .65em; }
  .contents td .is-items {
    margin-bottom: 15px; }
    .contents td .is-items:last-child {
      margin-bottom: 0; }

.th20 {
  width: 20%; }

.th25 {
  width: 25%; }

.th30 {
  width: 30%; }

.th35 {
  width: 35%; }

.th40 {
  width: 40%; }

.th45 {
  width: 45%; }

.contents ul.is-items {
  list-style-type: disc; }

.contents ol.is-items {
  list-style-type: decimal; }

.contents .is-items {
  margin-bottom: 30px;
  padding-left: 1em; }
  .contents .is-items li::marker {
    color: #000; }

.contents .is-items li {
  /*line-height: 1.5;*/
  margin-bottom: 10px; }
  .contents .is-items li:last-child {
    margin-bottom: 0; }

.contents .is-items.col3 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 2%; }
  .contents .is-items.col3 li {
    width: 32%;
    min-width: 120px; }
    @media screen and (max-width: 768px) {
      .contents .is-items.col3 li {
        width: 44%; } }
    @media screen and (max-width: 400px) {
      .contents .is-items.col3 li {
        width: 100%; } }
    .contents .is-items.col3 li.full {
      width: 100%; }
.contents .is-items.col2 {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 4%; }
  .contents .is-items.col2 li {
    width: 41%; }
    @media screen and (max-width: 400px) {
      .contents .is-items.col2 li {
        width: 100%; } }

@media screen and (max-width: 768px) {
  /* scrollなし */
  .contents table,
  .contents table caption,
  .contents table thead,
  .contents table tbody,
  .contents table tfoot,
  .contents table td,
  .contents table thead th,
  .contents table tbody th,
  .contents table tfoot th,
  .contents table tr {
    display: block;
    width: auto;
    border: 0; }

  .contents table thead {
    display: none; }

  .contents table tr {
    background-color: #fff; }

  .contents table tbody th,
  .contents table td {
    padding: 10px; }

  .contents table tbody th {
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd; } }
@media screen and (max-width: 768px) and (max-width: 768px) {
  .contents table tfoot th,
  .contents table tfoot td {
    text-align: center; } }

@media screen and (max-width: 768px) and (max-width: 768px) {
  .contents table tfoot th {
    border-top: solid 1px #ddd;
    border-bottom: solid 1px #ddd;
    padding: 10px; } }

@media screen and (max-width: 768px) {
  .contents table tfoot th,
  .contents table tfoot td {
    background-color: #efefef; } }
.adjust_group {
  margin-bottom: 30px; }

/*---------- section ----------*/
.contents_section_group .l-section {
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .contents_section_group .l-section {
      margin-bottom: 80px; } }
  .contents_section_group .l-section:last-child {
    margin-bottom: 0; }

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

.common_section .inner_contents {
  padding-top: 100px;
  padding-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .common_section .inner_contents {
      padding-top: 50px;
      padding-bottom: 50px; } }

/*---------- Title ----------*/
.contents_ttl {
  color: #00B092;
  font-size: 2.8rem;
  text-align: center;
  font-weight: 500;
  letter-spacing: .1em;
  margin-bottom: 80px; }
  @media screen and (max-width: 768px) {
    .contents_ttl {
      font-size: 2.2rem;
      margin-bottom: 50px; } }
  @media screen and (max-width: 500px) {
    .contents_ttl {
      font-size: 2rem;
      line-height: 1.5;
      text-align: left;
      margin-bottom: 30px; }
      .contents_ttl br {
        display: none; } }

.section_ttl {
  font-size: 2.6rem;
  font-weight: 500;
  color: #fff;
  display: inline-block;
  width: 100%;
  background-color: #00B092;
  text-align: center;
  padding: 10px 15px;
  margin-top: 20px;
  margin-bottom: 30px; }
  @media screen and (max-width: 768px) {
    .section_ttl {
      font-size: 2rem;
      margin-bottom: 15px; } }
  .section_ttl:first-child {
    margin-top: 0; }

.common_ttl {
  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; }
  @media screen and (max-width: 768px) {
    .common_ttl {
      font-size: 1.8rem; } }
  .common_ttl::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    position: absolute;
    top: .9em;
    left: 0;
    transform: translateY(-50%);
    background-image: url("../images/bullet02.svg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 20px 20px; }

.sub_ttl {
  font-size: 1.8rem;
  font-weight: 500;
  padding-left: 20px;
  position: relative;
  margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    .sub_ttl {
      font-size: 1.6rem; } }
  .sub_ttl::before {
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    background-color: #00B092;
    position: absolute;
    left: 0;
    top: 50%;
    margin-top: -5px; }

/*---------- index menu ----------*/
.index_menu {
  border-bottom: solid 1px #E1E5DA;
  width: 100%;
  max-width: 1050px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 120px; }
  @media screen and (max-width: 768px) {
    .index_menu {
      width: auto;
      margin: 0 15px 50px;
      border-bottom: 0; } }

.index_menu_body {
  width: 100%;
  display: flex;
  flex-wrap: wrap; }
  @media screen and (max-width: 768px) {
    .index_menu_body {
      gap: 10px; } }

.index_menu_item {
  width: 25%;
  position: relative; }
  @media screen and (max-width: 768px) {
    .index_menu_item {
      width: calc(50% - 5px);
      border-right: solid 2px #E1E5DA;
      border-bottom: solid 2px #E1E5DA; } }
  .index_menu_item::after {
    content: "";
    display: block;
    width: 1px;
    height: 90px;
    background-color: #E1E5DA;
    position: absolute;
    right: 0;
    top: -2px; }
    @media screen and (max-width: 768px) {
      .index_menu_item::after {
        display: none; } }
  .index_menu_item:last-child::after {
    display: none; }
  .index_menu_item a {
    font-size: 2rem;
    line-height: 1.3;
    color: #000;
    text-decoration: none;
    font-weight: 600;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 42px;
    height: 100px;
    position: relative;
    transition: color .5s; }
    @media screen and (max-width: 768px) {
      .index_menu_item a {
        font-size: 1.4rem;
        height: 58px;
        padding-top: 10px; } }
    .index_menu_item a::after {
      content: "";
      display: block;
      width: 12px;
      height: 12px;
      border-bottom: solid 2px #0050C8;
      border-right: solid 2px #0050C8;
      position: absolute;
      left: 50%;
      bottom: 18px;
      transform: rotate(45deg) translateX(-50%);
      transition: bottom .5s; }
      @media screen and (max-width: 768px) {
        .index_menu_item a::after {
          width: 10px;
          height: 10px;
          bottom: 8px; } }
    @media screen and (min-width: 769px) {
      .index_menu_item a:hover {
        color: rgba(0, 0, 0, 0.3); }
        .index_menu_item a:hover::after {
          bottom: 3px; } }

/*================================ クラポテックの特徴 ===============================*/
.concept_body {
  padding-top: 50px; }

.concept_item {
  margin-bottom: 100px;
  position: relative; }
  @media screen and (max-width: 768px) {
    .concept_item {
      padding-bottom: 40px;
      margin-bottom: 50px; } }
  .concept_item:last-child {
    margin-bottom: 0; }
  .concept_item:before {
    content: "";
    display: block;
    position: absolute;
    top: 50px;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    height: 377px;
    background-color: #FBF9EB;
    padding: 0;
    box-sizing: border-box;
    z-index: -1; }
    @media screen and (max-width: 768px) {
      .concept_item:before {
        top: auto;
        bottom: 0;
        height: calc(100% - 134px); } }

.concept_item_package {
  display: flex;
  min-height: 377px; }
  .reverse .concept_item_package {
    flex-direction: row-reverse; }
  .concept_item_package .img_wrap,
  .concept_item_package .txt_wrap {
    width: 50%; }
  .concept_item_package .img_wrap {
    position: relative; }
    .concept_item_package .img_wrap img {
      width: auto;
      height: 100%; }
    .concept_item_package .img_wrap figure {
      position: absolute;
      right: 0;
      top: 0;
      height: 100%; }
      .reverse .concept_item_package .img_wrap figure {
        right: auto;
        left: 0; }
  .concept_item_package .txt_wrap {
    padding-left: 30px;
    padding-top: 26px; }
    .reverse .concept_item_package .txt_wrap {
      padding-left: 0;
      padding-right: 30px; }

.concept_item_ttl {
  font-size: 2.3rem;
  color: #00B092;
  margin-bottom: 15px; }
  .concept_item_ttl span {
    display: block; }
  .concept_item_ttl .num {
    font-family: "Din", 'Noto Sans JP', YuGothic, 'Yu Gothic', '游ゴシック体', '游ゴシック', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
    font-size: 6rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1;
    margin-bottom: 5px; }
  .concept_item_ttl .label {
    font-weight: 500; }

.concept_item_lead {
  line-height: 1.8; }

@media screen and (max-width: 768px) {
  .concept_body {
    padding-top: 20px; }

  .reverse .concept_item_package .txt_wrap {
    padding-right: 0; }

  .concept_item_package .img_wrap,
  .concept_item_package .txt_wrap {
    width: 100%; }

  .concept_item_package .img_wrap {
    max-width: 500px;
    margin: 0 auto 20px; }

  .concept_item_package {
    display: block; }

  .concept_item_package .img_wrap figure {
    position: static;
    height: auto; }

  .concept_item_package .img_wrap img {
    width: 100%;
    height: auto; }

  .concept_item_package .txt_wrap {
    padding-left: 0;
    padding-top: 0; }

  .concept_item_ttl .num,
  .concept_item_ttl .label {
    text-align: center; }

  .concept_item_lead p {
    font-size: 1.6rem;
    margin-bottom: 0; } }
/*================================ 製品情報 ===============================*/
/*.contents_section_group #link1,
.contents_section_group #link2,
.contents_section_group #link3,
.contents_section_group #link4 {
   scroll-margin-top: 138px; }*/
.anchor_list_body {
  display: flex;
  width: 100%;
  justify-content: space-between;
  margin-bottom: 70px; }

.anchor_list_item {
  width: calc((100% - 60px) / 4);
  height: 75px; }

.anchor_list_item a {
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  height: 100%;
  padding: 0 16px;
  text-decoration: none;
  color: inherit;
  text-align: left;
  background-color: #CDE3E0;
  font-weight: bold;
  position: relative; }

.anchor_list_item a::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background-image: url("../images/products/anchor_list_arrow.svg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  position: absolute;
  right: 25px; }

.products_item_package_adjust {
  margin-bottom: 30px; }

.products_item_package {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.products_item_package .ttl_wrap {
  width: 100%; }

.products_item_package .table_wrap {
  width: calc(100% - 370px);
  max-width: 583px; }

.products_item_package .img_wrap {
  width: 370px; }

.products_item_package .img_wrap img {
  background-color: #E1EFED; }

@media screen and (max-width: 1000px) {
  .products_item_package .table_wrap {
    width: 100%;
    max-width: none; }

  .products_item_package .img_wrap {
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px; }

  .anchor_list_item a::after {
    right: 10px; } }
@media screen and (max-width: 768px) {
  /*
  .contents_section_group #link1,
  .contents_section_group #link2,
  .contents_section_group #link3,
  .contents_section_group #link4 {
     scroll-margin-top: 50px; }*/
  .anchor_list {
    margin-bottom: 30px; }

  .anchor_list_body {
    display: block;
    margin-bottom: 0; }

  .anchor_list_item {
    width: 100%;
    height: auto;
    margin-bottom: 16px; }

  .anchor_list_item a {
    padding: 15px 20px; }

  .anchor_list_item a br {
    display: none; } }
@media screen and (max-width: 1000px) {
  .products_item_package .ttl_wrap {
    order: 1; }

  .products_item_package .table_wrap {
    order: 3; }

  .products_item_package .img_wrap {
    order: 2; } }
/*================================ 会社概要 ===============================*/
.outline_intro {
  text-align: center;
  margin-bottom: 140px; }
  @media screen and (max-width: 768px) {
    .outline_intro {
      margin-bottom: 80px; } }

.outline_intro_img_wrap img {
  width: 201px;
  height: 242px;
  margin-bottom: 70px; }

.contents p.outline_intro_copy {
  color: #00B092;
  font-size: 2.3rem;
  font-weight: 600;
  margin-bottom: 30px; }

.contents p.outline_intro_txt {
  font-size: 1.8rem;
  line-height: 1.8; }
  @media screen and (max-width: 768px) {
    .contents p.outline_intro_txt {
      font-size: 1.6rem;
      line-height: 1.6;
      margin-bottom: 40px; } }
  @media screen and (max-width: 420px) {
    .contents p.outline_intro_txt {
      font-size: 3.8vw;
      margin-bottom: 9.52vw; } }

.outline_thought {
  border: 20px solid #FFF040;
  padding: 75px 100px;
  box-sizing: border-box;
  margin-bottom: 100px; }

.contents p.outline_thought_copy {
  text-align: center;
  color: #00B092;
  font-size: 2.3rem;
  font-weight: 600;
  margin-bottom: 75px; }

.outline_thought_list {
  padding-left: 125px;
  /**/ }

.outline_thought_list dt {
  font-size: 3rem;
  line-height: 1.5;
  color: #00B092;
  font-family: 'din';
  font-weight: 500;
  margin-bottom: 5px;
  position: relative; }

.outline_thought_list dt:before {
  font-size: 12.8rem;
  color: #00B092;
  font-family: 'din';
  content: "C";
  display: block;
  width: 80px;
  height: 1em;
  line-height: 1em;
  position: absolute;
  top: -10px;
  /*left: -100px;
  */
  right: calc(100% + 47px); }
  @media screen and (max-width: 768px) {
    .outline_thought_list dt:before {
      font-size: 7.7rem;
      position: static;
      margin-left: auto;
      margin-right: auto;
      /*top: -90px;
      left: 50%;
      transform: translateX(-50%);
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);*/ } }

.outline_thought_list dt:nth-of-type(2):before {
  content: "R"; }

.outline_thought_list dt:nth-of-type(3):before {
  content: "A"; }

.outline_thought_list dt:nth-of-type(4):before {
  content: "P"; }

.outline_thought_list dt:nth-of-type(5):before {
  content: "O"; }

.outline_thought_list dd {
  font-size: 1.8rem;
  line-height: 1.6;
  margin-bottom: 55px; }
  @media screen and (max-width: 1000px) {
    .outline_thought_list dd br {
      display: none; } }

.outline_concept {
  position: relative;
  padding: 78px 0; }
  @media screen and (max-width: 768px) {
    .outline_concept {
      padding-top: 60px;
      padding-bottom: 60px; } }

.outline_concept:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #FBF9EB;
  z-index: -1;
  width: 100vw;
  left: 50%;
  transform: translateX(-50%); }

.outline_concept_body {
  display: flex; }

.outline_concept_img_wrap {
  padding: 0 85px; }

.outline_concept_img_wrap img {
  width: 216px; }

.contents p.outline_concept_copy {
  color: #00B092;
  font-size: 2.3rem;
  font-weight: 500;
  margin-bottom: 20px;
  padding-top: 10px; }

.outline_concept_txt {
  line-height: 2; }

.outline_message_txt {
  line-height: 2;
  margin-bottom: 30px; }

.outline_message_img_wrap {
  text-align: center; }

.outline_message_img_wrap img {
  width: 292px;
  margin-bottom: 50px; }

.outline_message_name {
  text-align: right; }

.outline_message_name img {
  display: inline;
  width: 424px;
  vertical-align: middle; }

.contents p.outline_info_txt {
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .contents p.outline_info_txt {
      margin-bottom: 30px; } }

.outline_base_list_body {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 100px 25px;
  padding-top: 30px; }

.outline_base_list_item {
  width: calc(50% - 25px); }

.outline_base_list_item .img_wrap {
  margin-bottom: 25px; }

.contents .outline_base_list_item p.base {
  font-size: 2.3rem;
  font-weight: 600; }

.contents .outline_base_list_item p.address,
.contents .outline_base_list_item p.tel {
  margin-bottom: 0; }

.outline_history_list {
  display: flex;
  flex-wrap: wrap; }

.outline_history_list dt,
.outline_history_list dd {
  padding: 7px 0; }

.outline_history_list dt {
  width: 140px;
  color: #00B092;
  font-weight: 500; }

.outline_history_list dd {
  width: calc(100% - 140px); }

@media screen and (max-width: 768px) {
  .outline_intro_img_wrap {
    margin-bottom: 40px; }

  .outline_intro_img_wrap img {
    width: 160px;
    height: 195px;
    margin-bottom: 0; }

  .outline_thought {
    border: 10px solid #FFF040;
    padding: 50px 20px;
    margin-bottom: 50px; }

  .contents p.outline_thought_copy {
    font-size: 1.8rem;
    margin-bottom: 40px; }

  .outline_thought_list {
    padding-left: 0; }

  .outline_thought_list dt {
    text-align: center; }

  .outline_thought_list dd {
    font-size: 1.6rem;
    margin-bottom: 40px; }

  .outline_thought_list dd:last-child {
    margin-bottom: 50px; }

  .outline_concept_body {
    display: block; }

  .outline_concept_img_wrap {
    padding: 0;
    margin-bottom: 30px;
    text-align: center; }

  .outline_concept_img_wrap img {
    width: 178px; }

  .contents p.outline_concept_copy {
    text-align: center;
    font-size: 1.8rem; }

  .outline_message_txt {
    margin-bottom: 40px; }

  .outline_message_name {
    text-align: center;
    padding-top: 60px; }

  .outline_message_name img {
    display: block;
    width: 90%;
    margin: 0 auto; }

  .outline_base_list_body {
    gap: 50px; }

  .outline_base_list_item {
    width: 100%;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto; }
    .contents .outline_base_list_item p {
      margin-bottom: 0; }
    .outline_base_list_item .img_wrap {
      margin-bottom: 10px; }

  .outline_history_list {
    font-size: 1.6rem;
    display: block; }

  .outline_history_list dt {
    width: 100%; }

  .outline_history_list dd {
    padding-top: 0;
    margin-bottom: 15px;
    width: 100%; } }
/*================================ 業界別活用事例 ===============================*/
/*----- 目次ページ -----*/
.case_index_menu_body {
  display: flex;
  flex-wrap: wrap;
  gap: 25px 2%; }
  @media screen and (max-width: 768px) {
    .case_index_menu_body {
      gap: 15px 2%; } }

.case_index_item {
  letter-spacing: .06em;
  line-height: 1.4;
  width: 23.5%;
  min-height: 360px;
  border: solid 1px #00B092; }
  @media screen and (max-width: 768px) {
    .case_index_item {
      width: 49%;
      min-height: 0; } }
  .case_index_item a {
    text-decoration: none;
    display: block;
    height: 100%;
    position: relative;
    transition: opacity .5s; }
    @media screen and (min-width: 769px) {
      .case_index_item a:hover {
        opacity: .6; } }
  .case_index_item .txt_wrap {
    padding: 0 20px 20px; }
  .case_index_item .btn_more_case {
    color: #00B092;
    font-style: 1.4rem;
    text-align: center;
    margin-top: auto;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%); }
    @media screen and (max-width: 768px) {
      .case_index_item .btn_more_case {
        position: static;
        transform: none; } }
    .case_index_item .btn_more_case::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; }

.case_cat_catch {
  font-size: 1.8rem;
  color: #00B092;
  font-weight: 600;
  margin-bottom: 13px; }
  @media screen and (max-width: 768px) {
    .case_cat_catch {
      font-size: 1.5rem;
      text-align: center;
      color: #000; } }

.case_cat_lead {
  color: #000;
  font-size: 1.7rem;
  margin-bottom: 50px;
  transition: color .5s; }
  @media screen and (max-width: 768px) {
    .case_cat_lead {
      display: none; } }
  @media screen and (min-width: 769px) {
    a:hover .case_cat_lead {
      color: #00B092; } }

/*----- 一覧ページ -----*/
.case_post_item {
  margin-bottom: 20px;
  border: solid 1px #00B092; }
  .case_post_item:last-child {
    margin-bottom: 0; }
  .case_post_item a {
    color: #000;
    text-decoration: none;
    display: flex;
    padding: 30px;
    column-gap: 30px;
    transition: background-color .5s; }
    @media screen and (max-width: 768px) {
      .case_post_item a {
        display: block; } }
    @media screen and (min-width: 769px) {
      .case_post_item a:hover {
        background-color: #FFFDE4; } }
  .case_post_item .img_wrap {
    width: 273px; }
    @media screen and (max-width: 768px) {
      .case_post_item .img_wrap {
        width: 100%;
        max-width: 500px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 10px; } }
    .case_post_item .img_wrap figure {
      position: relative;
      padding-top: 62.64%;
      overflow: hidden; }
      .case_post_item .img_wrap figure img {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 100%;
        height: 100%;
        object-fit: cover; }
  .case_post_item .txt_wrap {
    width: calc(100% - 303px); }
    @media screen and (max-width: 768px) {
      .case_post_item .txt_wrap {
        width: 100%; } }

.case_post_item_ttl {
  font-size: 1.8rem;
  color: #00B092;
  font-weight: 500;
  margin-bottom: 10px; }
  @media screen and (max-width: 768px) {
    .case_post_item_ttl {
      font-size: 1.6rem;
      margin-bottom: 5px; } }

.case_post_item_lead {
  font-size: 1.6rem;
  margin-bottom: 15px;
  transition: color .5s; }
  @media screen and (max-width: 768px) {
    .case_post_item_lead {
      font-size: 1.4rem;
      margin-bottom: 20px; } }
  @media screen and (min-width: 769px) {
    a:hover .case_post_item_lead {
      color: #00B092; } }

.btn_case_material {
  width: 220px;
  background-color: #CDE3E0;
  display: flex;
  align-items: center;
  position: relative; }
  @media screen and (max-width: 768px) {
    .btn_case_material {
      margin-left: auto;
      margin-right: auto; } }
  a .btn_case_material::before, a .btn_case_material::after,
  .btn_case_material a::before,
  .btn_case_material a::after {
    content: "";
    display: block; }
  a .btn_case_material::before,
  .btn_case_material a::before {
    width: 26px;
    height: 30px;
    background-image: url("../images/icon_material.svg");
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 26px 30px;
    margin-right: 10px; }
  a .btn_case_material::after,
  .btn_case_material a::after {
    width: 10px;
    height: 10px;
    border-top: solid 1px #000;
    border-right: solid 1px #000;
    transform: rotate(45deg) translateY(-50%);
    margin-left: 10px;
    position: absolute;
    right: 25px;
    top: 50%; }
  a .btn_case_material {
    padding: 15px 15px 15px 25px; }
  .btn_case_material a {
    color: #000;
    text-decoration: none;
    padding: 15px 15px 15px 25px;
    display: flex;
    align-items: center;
    transition: opacity .5s; }
    @media screen and (min-width: 769px) {
      .btn_case_material a:hover {
        opacity: .6; } }
  .btn_case_material.type02 {
    width: 280px; }
  .btn_case_material.center {
    margin-left: auto;
    margin-right: auto; }

/*================================ よくある質問 ===============================*/
.faq_dl {
  margin-bottom: 60px;
  position: relative; }
  .faq_dl:last-child {
    margin-bottom: 0; }
  .faq_dl dt {
    font-size: 2.3rem;
    color: #00B092;
    font-weight: 500;
    line-height: 1.5em;
    padding: 25px 0 0 54px;
    position: relative;
    transition: background-color .5s ease,color .5s ease; }
    @media screen and (max-width: 768px) {
      .faq_dl dt {
        font-size: 1.6rem;
        padding: 4px 0 8px 35px;
        margin-bottom: 5px; } }
  .faq_dl dt::before {
    content: " ";
    display: block;
    position: absolute;
    background-repeat: no-repeat;
    background-position: 0;
    width: 42px;
    height: 42px;
    top: 18px;
    left: 0;
    background-image: url("../images/icon_faq_q.svg");
    background-size: 100%; }
    @media screen and (max-width: 768px) {
      .faq_dl dt::before {
        width: 30px;
        height: 30px;
        top: 0; } }
  .faq_dl dd {
    font-size: 1.6rem;
    padding: 25px 0 25px 54px;
    border-bottom: 1px solid #6F6F6F;
    position: relative;
    background-image: url("../images/icon_faq_a.svg");
    background-repeat: no-repeat;
    background-position: 0 12px;
    background-size: 42px; }
    @media screen and (max-width: 768px) {
      .faq_dl dd {
        font-size: 1.5rem;
        padding: 1px 0 25px 35px;
        background-position: 0 -3px;
        background-size: 30px;
        margin-bottom: 25px; } }
    .faq_dl dd p {
      margin-bottom: 15px; }
    .faq_dl dd p:last-child {
      margin-bottom: 0; }

/*================================ 個人情報保護方針 ===============================*/
.is-privacy .contents {
  padding-bottom: 100px; }

.privacy_lead {
  text-align: center;
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .privacy_lead {
      text-align: left;
      margin-bottom: 50px; } }

.privacy_section {
  margin-bottom: 200px; }
  @media screen and (max-width: 768px) {
    .privacy_section {
      margin-bottom: 100px; } }
  .privacy_section:last-child {
    margin-bottom: 0; }

.privacy_section_ttl {
  font-size: 2.5rem;
  text-align: center;
  padding-bottom: 50px;
  margin-bottom: 50px;
  border-bottom: solid 1px #E1E5DA; }
  @media screen and (max-width: 768px) {
    .privacy_section_ttl {
      padding-bottom: 25px;
      margin-bottom: 25px; } }

.privacy_common_ttl {
  font-size: 2rem; }

/*================================ 新着情報 ===============================*/
.is-information .section_ttl {
  text-align: left;
  margin-top: 0; }

/*================================ お問い合わせ ===============================*/
.contact_lead {
  text-align: center;
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .contact_lead {
      text-align: left;
      margin-bottom: 25px; } }

.contact_contents_tel {
  color: #fff;
  background-color: #0050C8;
  max-width: 550px;
  height: 150px;
  margin: 0 auto 100px;
  display: flex;
  align-items: center;
  justify-content: center; }
  @media screen and (max-width: 768px) {
    .contact_contents_tel {
      height: 105px;
      margin-bottom: 50px; } }
  .contact_contents_tel .tel_wrap {
    margin-bottom: 0; }
    @media screen and (max-width: 768px) {
      .contact_contents_tel .tel_wrap .label {
        font-size: 2.4rem; } }
    @media screen and (max-width: 768px) {
      .contact_contents_tel .tel_wrap .num {
        font-size: 3.5rem; } }
    @media screen and (max-width: 768px) {
      .contact_contents_tel .tel_wrap .hours {
        font-size: 1.4rem; } }

.form_address li {
  margin-bottom: 20px; }
  @media screen and (max-width: 768px) {
    .form_address li {
      margin-bottom: 15px; } }
  .form_address li:last-child {
    margin-bottom: 0; }
.form_address .wrap {
  display: flex; }
  @media screen and (max-width: 768px) {
    .form_address .wrap {
      display: block; } }
.form_address .label {
  width: 12em;
  flex-shrink: 0; }
  @media screen and (max-width: 768px) {
    .form_address .label {
      width: auto;
      display: block;
      margin-bottom: 5px; } }
.form_address .field {
  width: 100%; }
  .form_address .field > p {
    margin-bottom: 0; }
  .form_address .field input {
    max-width: none; }

/*================================ 修理・メンテナンス ===============================*/
.maintenance_lead {
  text-align: center;
  padding-top: 30px;
  margin-bottom: 100px; }
  @media screen and (max-width: 768px) {
    .maintenance_lead {
      padding-top: 15px;
      margin-bottom: 50px; } }

/*================================ フォーム ===============================*/
.contact_form {
  background-color: #F0F0EB; }
  .contact_form .inner_contents {
    padding-top: 100px;
    padding-bottom: 100px; }
    @media screen and (max-width: 768px) {
      .contact_form .inner_contents {
        padding-top: 50px; } }
  .contact_form .contact_form_ttl {
    font-size: 3rem;
    font-weight: 600;
    text-align: center;
    margin-bottom: 50px; }
    @media screen and (max-width: 768px) {
      .contact_form .contact_form_ttl {
        font-size: 2rem;
        margin-bottom: 25px; } }
  .contact_form .contact_form_lead {
    margin-bottom: 70px;
    text-align: center; }
    @media screen and (max-width: 768px) {
      .contact_form .contact_form_lead {
        font-size: 1.4rem;
        margin-bottom: 35px; } }

.form_area {
  background-color: #fff; }
  .contents .form_area table {
    width: 100%;
    margin: 0 auto 50px;
    border: 0;
    border-bottom: solid 1px #00B092;
    table-layout: fixed; }
  .contents .form_area table tbody tr {
    border-bottom: solid 1px #00B092; }
    .contents .form_area table tbody tr:last-child {
      border-bottom: 0;
      /**/ }
      .contents .form_area table tbody tr:last-child td {
        border-bottom: 0; }
  .contents .form_area tbody th, .contents .form_area tbody td {
    border: 0;
    padding-top: 30px;
    padding-bottom: 30px;
    background-color: transparent;
    padding-left: 10px; }
  .contents .form_area tbody th {
    white-space: nowrap;
    width: 260px;
    position: relative; }
    @media screen and (max-width: 768px) {
      .contents .form_area tbody th {
        width: auto;
        padding-top: 15px;
        padding-left: 0;
        border-top: 0;
        border-bottom: 0;
        padding-bottom: 10px; } }
  .contents .form_area tbody td {
    padding-left: 15px; }
    @media screen and (max-width: 768px) {
      .contents .form_area tbody td {
        padding: 0 0 15px; } }
  .contents .form_area tbody th > p {
    margin-bottom: 0; }
  .contents .form_area tbody td > p:last-child {
    margin-bottom: 0; }

.form_area .sub_txt {
  font-size: 1.4rem;
  color: #999;
  margin-top: 8px; }

.form_area .note {
  font-size: 1.5rem;
  line-height: 1.5; }

input[type="text"],
input[type="email"],
textarea {
  width: 100%;
  border: solid 1px #969696;
  background-color: #fff;
  padding: 10px 10px 10px 10px;
  line-height: 1.5em;
  /*margin-bottom: 5px;*/ }

input[type="text"]::placeholder,
input[type="email"]::placeholder,
textarea::placeholder {
  color: #C8C8C8; }

select {
  width: 100%;
  max-width: 220px;
  border: solid 1px #969696;
  background-color: #fff;
  line-height: 1.5em;
  padding: 10px 10px 10px 10px; }

input[type="checkbox"] {
  border-color: #ccc; }

input[type="text"] {
  max-width: 220px; }
  input[type="text"].full {
    max-width: none; }

input[type="email"] {
  max-width: 500px; }

textarea {
  max-width: 500px; }

.tel_contact_set {
  padding-top: 30px; }

.tel_contact_item {
  margin-bottom: 70px; }
  @media screen and (max-width: 768px) {
    .tel_contact_item {
      margin-bottom: 35px; } }
  .tel_contact_item:last-child {
    margin-bottom: 0; }
  .tel_contact_item .label {
    font-size: 2.3rem;
    color: #00B092;
    font-weight: 500;
    text-align: center;
    margin-bottom: 18px; }
    @media screen and (max-width: 768px) {
      .tel_contact_item .label {
        font-size: 2rem;
        margin-bottom: 10px; } }
  .tel_contact_item .tel_wrap {
    font-size: 2.3rem;
    font-weight: 600;
    width: 100%;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
    height: 76px;
    background-color: #CDE3E0;
    display: flex;
    justify-content: center;
    align-items: center; }
    @media screen and (max-width: 768px) {
      .tel_contact_item .tel_wrap {
        font-size: 2rem; } }
    .tel_contact_item .tel_wrap::before {
      content: "";
      display: block;
      width: 44px;
      height: 44px;
      background-repeat: no-repeat;
      background-position: 0 0;
      background-size: 44px 44px; }
      @media screen and (max-width: 768px) {
        .tel_contact_item .tel_wrap::before {
          width: 30px;
          height: 30px;
          background-size: 30px 30px; } }
    .tel_contact_item .tel_wrap.tel::before {
      background-image: url("../images/icon_contact_tel.svg"); }
    .tel_contact_item .tel_wrap.fax::before {
      background-image: url("../images/icon_contact_fax.svg");
      margin-right: 8px; }
    .tel_contact_item .tel_wrap p {
      margin-bottom: 0; }

/* cf7_list */
.form_area .wpcf7-form-control {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-left: 0; }
.form_area .wpcf7-list-item {
  margin-left: 0; }
  .form_area .wpcf7-list-item:last-child {
    margin-bottom: 0; }

.radio_group_row {
  display: flex;
  flex-direction: column;
  grid-row-gap: 8px; }
  .radio_group_row label {
    display: block; }
  .radio_group_row .wpcf7-form-control {
    flex-direction: column; }

/* バリデート */
.wpcf7-not-valid-tip {
  margin-top: 10px; }

@media screen and (max-width: 768px) {
  input[type="text"],
  input[type="email"] {
    max-width: none;
    width: 100%; }

  textarea {
    max-width: none;
    width: 100%;
    padding: 10px 10px 10px 22px; } }
/* submit */
.btn_area {
  text-align: center; }
  .btn_area p {
    display: flex;
    justify-content: center;
    column-gap: 20px; }
    @media screen and (max-width: 768px) {
      .btn_area p {
        flex-direction: column;
        align-items: center;
        gap: 15px; } }
  .btn_area br,
  .btn_area .wpcf7-spinner {
    display: none; }

.btn_area .btn_submit {
  color: #fff;
  font-size: 1.8rem;
  line-height: 1;
  padding: 2px 70px 0;
  border: 0;
  border-radius: 22.5px;
  background-color: #00B092;
  cursor: pointer;
  height: 45px;
  max-width: 250px;
  /*
  &.send {
      background-color: #999;
  }*/ }

/*---------- 確認画面 ----------*/
.is-confirm .form_area {
  font-size: 1.6rem;
  width: 100%; }

.is-confirm section.tel_section,
.is-confirm .contents_ttl,
.is-confirm .tel_contact_set,
.is-confirm .section_ttl,
.is-confirm table .important,
.is-thanks section.tel_section,
.is-thanks .contents_ttl,
.is-thanks .tel_contact_set,
.is-thanks .section_ttl,
.is-thanks table .important {
  display: none; }

.is-confirm .contents .form_area tbody td p {
  margin-bottom: 0; }

/*---------- サンクス ----------*/
.thanks_txt {
  text-align: center;
  padding: 60px 15px 0;
  margin-bottom: 60px; }

.thanks_txt .bld_L {
  font-size: 2rem; }

@media screen and (max-width: 800px) {
  .thanks_txt {
    text-align: left; }

  .thanks_txt .common_txt {
    letter-spacing: .05em; }

  .thanks_txt .bld_L {
    font-size: 1.8rem; } }
.btn_home {
  width: 300px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .btn_home {
      width: 245px; } }
  .btn_home a {
    font-size: 1.5rem;
    text-decoration: none;
    width: 100%;
    height: 55px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #0050C8;
    border: 0;
    color: #fff;
    border-radius: 27.5px; }
    @media screen and (max-width: 768px) {
      .btn_home a {
        height: 44px;
        border-radius: 22px; } }
