@charset "UTF-8";
@media screen and (max-width: 1280px) {

.business {
  width: 100%;
}
/* .contact_date {
  padding-left: 0px;
  padding-right: 0px;
} */
}
@media screen and (max-width: 1000px) {
.fv_main-txt, .com_top-txt_main {
  font-size: 80px;
}
.fv_second-txt {
  font-size: 25px;
  /* top: 59%; */
}
.slick-dots {
  top: 70% !important;
}
.fv_nav-box, .fv_nav-item, .hed_nav {
  gap: 20px;
}
.kfo_logo_main {
  left: 40px;
}
.fv_nav-item {
  right: 40px;
}
.site-header__inner {
  padding: 30px 40px;
}
.fv_nav {
  right: 2%;
  gap: 13px;
}
.fot_nav {
  gap: 15px;
  font-size: 15px;
}

.section_txt {
  font-size: 60px;
}
.concept_top-txt {
  font-size: 28px;
}
.com_info-toc {
  width: 230px;
}
}
@media screen and (max-width: 800px) {
  /*--------------------------------------------------------
  定数
  --------------------------------------------------------*/
s
  /*--------------------------------------------------------
  定数（基本的に、全サイト共通に使えるもの）
  --------------------------------------------------------*/
  /*--------------------------------------------------------
  サイト毎に変化のある定数
  --------------------------------------------------------*/
  .contents {
    width: 100%;
  }
  .img_center {
    margin-left: 0px;
  }
  img {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
  .block800 {
    display: block;
  }
  .hidden800 {
    display: none;
  }
  .w1200-m {
    padding-left: 20px;
    padding-right: 20px;
  }
  /*--------------------------------------------------------
  フッター
  --------------------------------------------------------*/
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /* --共通-- */
  /* --共通-- */
  /*--header--*/
  .fv_nav-item  {
    display: none;
  }
.header_nav {
  width: 30%;
  margin-left: 3%;
}
.hed_nav li {
  display: none;
}
.menu-button {
  display: block;
  position: absolute;
  top: 6%;
  right: 4%;
  width: 40px;
  height: 36px;
  cursor: pointer;
  z-index: 999;
}


  .hed-hamburger {
    top: 40px;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
  }
.hamburger-float {
  position: fixed !important;
  top: 40px;
  right: 20px;
  z-index: 2147483647;
  transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}


/* 真ん中の線は使わないので消す */
.menu-button__line {
  display: none;
}

/* 上下の線共通 */
.menu-button::before,
.menu-button::after {
  content: "";
  position: absolute;
  left: 50%;
  width: 28px;
  height: 2px;
  background-color: #fff;
  transform: translateX(-50%);
  transition: transform 0.3s, top 0.3s, bottom 0.3s;
}

/* 通常時の位置（上と下） */
.menu-button::before {
  top: 12px;
}
.menu-button::after {
  bottom: 12px;
}

/* 開いた時は中央に寄せてクロス */
.menu-button.is-opened::before {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.menu-button.is-opened::after {
  bottom: auto;
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}




/* ===== Overlay Nav (初期は非表示) ===== */
.fv_texts {
  bottom: 20%;
  left: 6%;
}
.fv_nav{
  position: fixed;
  inset: 0;
  background: #3B8E71; /* 画像の緑 */
  z-index: 999;        /* ボタンより上に */
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .3s ease, visibility .3s ease;

}

/* 表示状態 */
.fv_nav.is-active{
  opacity: 1;
  visibility: visible;
  pointer-events: auto; 
}

/* 中央のメニュー配置 */
.fv_nav-box{
  display: block;
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
}
.fv_nav-box li{
  margin: 40px 0;
}
.fv_nav-box a{
  color: #fff;
  text-decoration: none;
  letter-spacing: .08em;
  font-weight: 700;
}

.site-header{
  width: 100%;
  height: 80px;
}
.site-header__inner{
  position: absolute;
  left: 20px;
  top: 40px;
  transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  padding: 0px;
  width: 47.5%;
}
.site-header__inner picture {
  justify-content: flex-start;
}
.site-header__inner img {

  width: 100%;
}
  /*--header-end--*/
  /*--contents--*/
  .kfo_logo_main {
    top: 40px;
    left: 20px;
    width: 45%;
  }
  .slick-dots {
  top: 86% !important;
  left: 82% !important;
  }
  .fv_main-txt {
    font-size: 64px;
  }
  .fv_second-txt {
    left: 4%;
    font-size: 20px;
    margin-top: 10px;
  }
  .slick-dots li {
    width: 15px !important;
    height: 15px !important;
  }
  .slick-dots li button:before {
    width: 8px !important;
    height: 8px !important;
  }
  .flex1 {
    width: 100%;
  }
  .arrow-wrap2:hover::before, .arrow-wrap3:hover::before {
    transform: scale(1);
  }
  .form_btn:hover .form_arrow-wrap::before {
    transform: scale(1);
  }
  .contact_area:hover .arrow-wrap::before {
    transform: scale(1);
  }




















  .concept, .business {
    padding-bottom: 17.6%;
  }
  .concept {
    display: block;
  }
  .w95 {
    width: 95%;
    margin-left: auto;
    margin-right: auto;
  }
  .concept_txt-area {
    margin-left: 0;
  }
  .concept_second-txt {
    padding-left: 0;
  }
  .business {
    border-radius: 20px;
  }
  .business_area {
    display: contents;
  }
  .business_top {
    padding-left: 0px;
    padding-right: 0px;
  }
  .section_txt  {
    font-size: 40px;
  }
  .concept_top-txt {
    font-size: 24px;
  }
  .section_jatxt {
    margin-left: 16px;
  }
  .kfo_concept {
    margin-top: 6%;
    margin-left: auto;
    margin-right: auto;
  }
  .business_area-txt {
    padding-left: 0px;
  }
  .business_area-toptxt {
    padding-top: 7%;
    font-size: 20px;
  }
  .business-img {
    padding-top: 7%;
  }
  .business_box {
    padding-left: 20px;
    padding-right: 20px;
  }
  .business img {
    box-shadow: 10px 10px 0px 0px rgba(192, 226, 202, 1);
  }
  .business_hr {
    margin-left: 0px;
    margin-right: 0px;
  }
  .business_hr-last {
    margin-top: 7%;
  }
  .business_top-txt {
    margin-left: 0px;
  }
  .contact_area {
    margin-top: 15%;
    border-radius: 20px;
    display: block;
    padding-bottom: 12%;
    padding-top: 15.6%;
  }
  .contact_area-inner {
    display: block;
    padding-left: 30px;
    padding-right: 30px;
  }
  .arrow-box {
    text-align: right;
  }
  .arrow-wrap {
    margin-top: 10%;
    width: 80px;
    height: 80px;
  }
  .contact_jatxt {
    margin-left: 1%;
  }
  .contact::after {
    border-radius: 12px 12px 0 0;
  }
  .section_point {
    font-size: 32px;
  }
  .com_info {
    padding: 0 10px;
  }
  .com_info-toc {
    width: 190px;
  }
  .com_top-txt {
    top: 75%;
    left: 5%;
  }
  .com_top-txt_main {
    font-size: 64px;
  }
  .section-co_point::before {
    width: 10px;
    height: 10px;
    vertical-align: 20px;
  }
  .com_top-txt_sub {
    margin-left: 20px;
    font-size: 16px;
  }
  .form {
    width: 90%;
    padding-left: 0;
    padding-right: 0;
    margin-left: auto;
    margin-right: auto;
  }
  .form_btn {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  .form-notice {
    text-align: left;
    padding-left: 0;
    padding-right: 0;
  }
  .contact_hr {
    margin-top: 9%;
    margin-bottom: 9%;
  }
  .form_btn-area_txt {
    font-size: 16px;
  }
  /*--contents-end--*/
  /*--footer--*/
  .fot_nav2 {
    margin-top: 40px;
  }
  .fot_nav-a {
    margin-top: 20px
  }
  .footer_address {
    margin-top: 15px;
  }
  .footer_third {
    align-items: flex-end;
    justify-content: space-between;
  }
  .arrow-wrap3 {
    width: 75px;
    height: 75px;
  }
  .arrow-wrap3 img {
    left: 42%;
    top: 20%;
  }
  .arrow-text3 {
    font-size: 15px;
    margin-top: 19px;
  }
  .footer_first img {
    width: 66%;
  }
  .footer_second p {
    font-size: 14px;
  }
  /*--footer-end--*/
  /* --プラポリ-- */
  /* --プラポリ-end-- */
  /* ハンバーガーメニュー */
  .hamburger-line {
    display: block;
  }
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 768px) {
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 600px) {
  .visible600 {
    display: block;
    margin: auto;
  }
  .hidden600 {
    display: none;
  }
  body {
    font-size: 1.6rem;
  } /*todo 要調査*/
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /* .kfo_logo_main {
    top: 40px;
  } */
  .slick-dots {
    top: 88% !important;
    left: 80% !important;
  }
  .slick-dots li button:before {
    width: 6px !important;
    height: 6px !important;
  }
  .hamburger {
    width: 30px;
  }
  .menu-button {
    top: 3.8%;
  }
  .popup-logo {
    top: 4%;
  }
  .copyright,
  .copyright a {
    font-size: 1.2rem;
  }
  .privacy_title {
    font-size: 7vw;
  }
  .privacy_head {
    font-size: 4vw;
  }
  .privacy_contents {
    font-size: 1.4rem;
  }
  .kfo_concept, .kfo_concept img {
    border-radius: 25px;
  }
  .concept_top-txt {
    font-size: 20px;
  }
  .section_jatxt {
    font-size: 14px;
  }
  .section_point {
    margin-right: 0px;
  }
  .arrow-wrap {
    margin-left: 80%;
    margin-top: 8%;
    width: 70px;
    height: 70px;
  }
  .section_point {
    font-size: 25px;
    margin-right: 5px;
  }
  .com_info {
    display: block;
  }
  .com_info-date {
    margin-top: 20px;
  }
  .com_top-txt_main {
    font-size: 50px;
  }
  .section-co_point::before {
    vertical-align: 13px;
  }
  /* .section-co_point::before {
    width: 13px;
    height: 13px;
    vertical-align: 11px;
  } */
  input, textarea {
    margin-top: 15px;
    margin-bottom: 25px;
  }
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 500px) {
  .visible500 {
    display: block;
    margin: auto;
  }
  .hidden500 {
    display: none;
  }
  /*--------------------------------------------------------
  ↓↓↓ 各種レイアウト ↓↓↓
  --------------------------------------------------------*/
  /* .hamburger--fv {
    top: 6%;
  } */
  .fv_main-txt {
    font-size: 48px;
  }
  .fv_second-txt {
    font-size: 15px;
  }
  /*--------------------------------------------------------
  ↑↑↑ 各種レイアウト ↑↑↑
  --------------------------------------------------------*/
}
@media screen and (max-width: 400px) {
  .visible400 {
    display: block;
    margin: auto;
  }
  .hidden400 {
    display: none;
  }
  .privacy_subtitle {
    font-size: 1.18em;
  }
  .fv_second-txt {
    font-size: 14px;
  }
  .contact_jatxt {
    font-size: 12px;
  }
  .contact::after {
    border-radius: 8px 8px 0 0;
  }
  .slick-dots {
    top: 89% !important;
  }
  .business_area-secondtxt {
    font-size: 14px;
  }

}
@media screen and (max-width: 320px) {
  .visible320 {
    display: block;
    margin: auto;
  }
  .hidden320 {
    display: none;
  }
}
/* 360px以下の場合　これ以上小さくしたくない場合は横スクロール対応 */
@media screen and (max-width: 370px) {

}
/*# sourceMappingURL=base_sp.css.map */

@media screen and (min-width: 800px) {
  .arrow-wrap3::before {
    display: none;
  }
}
@media screen and (min-width: 2000px) {
.co_top img {
  width: 100%;
}

}