@charset "UTF-8";
/* 変数 */
/*
// カラー
*/
/* テキストカラー */
.color_text {
  /* ベーステキストカラー */
  color: #000;
}

.color_main {
  /* メインカラー */
  color: #006854;
}

.color_sub {
  /* サブカラー */
  color: #c8f0c8;
}

.color_gray {
  /* グレイ */
  color: #4d4d4d;
}

.color_red {
  /* 赤 */
  color: #e83b38;
}

.color_blue {
  /* 青 */
  color: #00a4b4;
}

.color_green {
  /* 緑 */
  color: #006854;
}

.color_yellow {
  /* 黄色 */
  color: #e8cd00;
}

.color_orange {
  /* オレンジ */
  color: #f58a05;
}

.color_pink {
  /* ピンク */
  color: #EC407A;
}

.color_gold {
  /* ゴールド */
  color: #B5954A;
}

/*
// FONT-FACE
*/
.font-r {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.font-m {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.font-b {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.font-bl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-style: normal;
}

strong {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

/*
// 左右中央寄せ
*/
/* 画像 左右中央寄せ */
.img_center,
.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.img_left,
.alignleft {
  float: left;
  margin: 0 1em 1em 0;
}

.img_right,
.alignright {
  float: right;
  margin: 0 0 1em 1em;
}

/* テキスト 左右中央寄せ */
.center {
  text-align: center;
}

.left {
  text-align: left !important;
}

.right {
  text-align: right !important;
}

/* 画像はスマホでは全幅 */
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .img_left,
  .img_right,
  .img_center,
  .aligncenter,
  .alignleft,
  .alignright {
    clear: both;
    display: block;
    width: 100%;
    height: auto;
    margin: 0 0 1em;
  }
}
/*
// 表示設定
*/
.none,
.is_hide {
  display: none;
}

.is_active {
  display: block;
}

/*
// 各デバイスのみ表示
*/
/* PCでスマホ用非表示 */
@media screen and (min-width: 897px) { /* PC用 メディアクエリー */
  .pc_only {
    display: inherit;
  }
  .sp_only {
    display: none !important;
  }
}
/* スマホでPC用非表示 */
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .pc_only {
    display: none !important;
  }
  .sp_only {
    display: inherit;
  }
}
/* 周囲にシャドウ */
.shadow {
  -webkit-box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.2);
}

/*  改行しない */
.nowrap {
  white-space: nowrap;
}

/*
// リストスタイル
*/
.list {
  margin-left: 2.5em;
  margin-bottom: 1.5em;
}

.list li {
  margin-bottom: 1em;
}

.list li:last-child {
  margin-bottom: 0;
}

.list_none {
  /*リストスタイル 無し*/
  list-style-type: none !important;
  margin-left: 0;
}

.list_disc {
  /*黒丸*/
  list-style-type: disc;
}

.list_decimal {
  /*数字*/
  list-style-type: decimal;
}

.list_circle {
  /*白丸*/
  list-style-type: circle;
}

.list_square {
  /*黒四角*/
  list-style-type: square;
}

.list_upper_latin {
  /*大文字アルファベット*/
  list-style-type: upper-latin;
}

.list_upper_roman {
  /*大文字のローマ数字*/
  list-style-type: upper-roman;
}

/*
// GoogleMapレスポンシブ対応
*/
.gmap {
  clear: both;
  position: relative;
  padding-bottom: 26.391%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

.gmap iframe,
.gmap object,
.gmap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
// CLEARFIX
*/
.clearfix::after {
  content: "";
  display: block;
  clear: both;
}

/*
// 重要度BOX
*/
.box_wide {
  background-color: #f1f1f1;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 2em;
  padding: 20px calc(50vw - 50%);
  margin-bottom: 1.5em;
}

.box_important {
  border: solid 1px #e83b38;
  background-color: rgba(232, 59, 56, 0.03);
  padding: 20px;
  margin-bottom: 1.5em;
}

.box_warning {
  border: solid 1px #e8cd00;
  background-color: rgba(232, 205, 0, 0.03);
  padding: 20px;
  margin-bottom: 1.5em;
}

.box_info {
  border: solid 1px #4d4d4d;
  background-color: rgba(77, 77, 77, 0.1);
  padding: 20px;
  margin-bottom: 1.5em;
}

.box_success {
  border: solid 1px #006854;
  background-color: rgba(0, 104, 84, 0.03);
  padding: 20px;
  margin-bottom: 1.5em;
}

/*
// TEXT SIZE
*/
.text_size_base {
  font-size: 16px;
}

.text_size_large {
  font-size: 150%;
}

.text_size_small {
  font-size: 75%;
}

.text_size_sub {
  font-size: 10px;
}

/* 基本設定 MIXIN */
/* BASE HEADER */
.movie_wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1740px;
  overflow: hidden;
}

.movie {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  width: 1920px;
  height: 1740px;
  margin-left: -960px;
  z-index: -1;
  opacity: 0;
  -webkit-animation: movieAni 0.5s ease 0.5s normal forwards running;
          animation: movieAni 0.5s ease 0.5s normal forwards running;
}

@-webkit-keyframes movieAni {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@keyframes movieAni {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.movie_sp {
  display: none;
  width: 100%;
  height: auto;
}

header {
  position: fixed;
  width: 100%;
  height: 74px;
  z-index: 9998;
}

header .inner {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  width: 100%;
  min-width: 1030px;
  margin: 0 auto;
  padding: 0 10px 0 50px;
  z-index: 1;
}

h1.header_logo {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  width: 150px;
  height: 30px;
  padding: 22px 0 0 0;
}
h1.header_logo img {
  width: 100%;
  height: auto;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .movie_sp {
    display: block;
    position: absolute;
    top: -2px;
    left: 0;
    right: 0;
    width: 100%;
    height: auto;
    margin: 0 auto;
    z-index: -1;
    /* 横向きの動画用
    top: 136.8vw;
    left: -136.8vw;
    width: auto;
    height: 100vw;
    transform: rotateZ(-90deg);
    */
    opacity: 0;
    -webkit-animation: movieAni_sp 0.5s ease 0.5s normal forwards running;
            animation: movieAni_sp 0.5s ease 0.5s normal forwards running;
  }
  @-webkit-keyframes movieAni_sp {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes movieAni_sp {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .movie {
    display: none;
    width: 100%;
    height: auto;
  }
  .video_img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }
  header {
    height: 65px;
  }
  header .inner {
    min-width: 100%;
    padding: 0 0 0 6vw;
  }
  h1.header_logo {
    width: 120px;
    height: 24px;
    padding: 20px 0 0 0;
  }
  h1.header_logo img {
    width: 100%;
    height: auto;
  }
}
/* SCROLL HEADER */
.js_header_scroll {
  background-color: rgba(255, 255, 255, 0.8);
  position: fixed;
  top: 0;
  left: 0;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}
.js_header_scroll.is-show {
  -webkit-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition: -webkit-transform 0.3s ease 0s;
  transition: -webkit-transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s;
  transition: transform 0.3s ease 0s, -webkit-transform 0.3s ease 0s;
}

footer {
  width: 100%;
  padding: 80px 0 20px;
  color: #4d4d4d;
}

h2.main_copy {
  background: url(images/davinci_logo_icon.png) center 0 no-repeat;
  background-size: 160px auto;
  text-align: center;
  padding: 170px 0 0;
  font-size: 30px;
  font-weight: 900;
  letter-spacing: 0.1em;
  color: #000;
}
h2.main_copy .cha_main_small {
  font-size: 28px;
}

footer .inner {
  border-top: solid 1px #ccc;
  padding-top: 30px;
  margin-top: 60px;
}

.footer_address h3 {
  font-size: 16px;
  font-weight: 700;
}
.footer_address p {
  margin-top: 15px;
  font-size: 14px;
  letter-spacing: 0.1em;
}

.footer_nav {
  width: 560px;
  padding-top: 15px;
}
.footer_nav .item {
  width: 100%;
}
.footer_nav .item ul {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
}
.footer_nav .item li {
  display: inline-block;
  margin-top: 10px;
  letter-spacing: 0.1em;
}
.footer_nav .item a {
  font-size: 14px;
}
.footer_nav .item a:hover {
  text-decoration: underline;
}
.footer_nav .item li.company {
  border-left: solid 1px #006854;
  margin-left: 20px;
  padding: 0 0 0 40px;
}
.footer_nav .item li.company img.ico_external_link {
  margin-left: 5px;
  vertical-align: 5px;
}

footer .copy {
  text-align: right;
  width: 100%;
  margin-top: 60px;
  font-size: 12px;
  color: #808080;
  letter-spacing: 0.1em;
}

.float_contact_btn {
  position: fixed;
  top: 300px;
  right: 0;
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.float_contact_btn a {
  display: block;
  border: solid 2px #fff;
  background-color: #000;
  padding: 60px 25px;
  color: #fff;
}
.float_contact_btn a:hover {
  background-color: #006854;
  text-decoration: none;
}
.float_contact_btn img {
  margin: 0 0 10px 3px;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  footer {
    padding: 30px 0 10vw;
  }
  h2.main_copy {
    background-size: 90px auto;
    text-align: center;
    padding: 90px 0 0;
    font-size: 16px;
  }
  h2.main_copy .cha_main_small {
    font-size: 15px;
  }
  footer .inner {
    border: none;
    width: 100%;
    padding-top: 30px;
    margin: 0 auto;
  }
  .footer_address {
    width: 74vw;
    margin: 0 auto;
  }
  .footer_address h3 {
    font-size: 14px;
  }
  .footer_address p {
    margin-top: 10px;
    font-size: 12px;
  }
  .footer_nav {
    width: 100%;
    padding-top: 20px;
    margin: 0 auto;
  }
  .footer_nav .item {
    width: 100%;
  }
  .footer_nav .item li:not(.company) {
    display: none;
    margin-top: 0;
  }
  .footer_nav .item a {
    font-size: 14px;
  }
  .footer_nav .item a:hover {
    text-decoration: underline;
  }
  .footer_nav .item li.company {
    text-align: center;
    border-radius: 28px;
    border: solid 1px #006854;
    width: 52vw;
    margin: 0 auto;
    padding: 15px 0;
  }
  .footer_nav .item li.company a {
    display: block;
    width: 100%;
  }
  footer .copy {
    text-align: center;
    width: 100%;
    margin-top: 10px;
    font-size: 10px;
  }
  .float_contact_btn {
    display: none;
  }
  .footer_company_logo {
    position: fixed;
    bottom: 0;
    left: 0;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: rgba(255, 255, 255, 0.8);
    width: 100%;
    height: 11.6vw;
    margin: 0 !important;
    padding: 0 2vw;
  }
  .footer_company_logo .item {
    text-align: center;
    width: auto;
    height: 6vw;
  }
  .footer_company_logo img {
    width: auto;
    height: 100%;
  }
}
/*
// コンテンツBASE
*/
body, html {
  position: relative;
  height: 100%;
  z-index: 0;
}

html.text_size_small {
  font-size: 12px;
}
html.text_size_medium {
  font-size: 16px;
}
html.text_size_large {
  font-size: 20px;
}

body {
  position: relative;
  background: url(images/bg_wave.jpg), #e9f2f0;
  background-size: 100% auto;
  background-repeat: no-repeat;
  background-position: 0 134vw;
  color: #000;
  line-height: 1.5;
  -webkit-text-size-adjust: none;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-style: normal;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  body {
    background: none;
    background-color: #e9f2f0;
  }
}
.contents {
  padding: 0;
  overflow: hidden;
}

/*
// コンテンツ幅
//
//L：1200px
//M：1000px
//S：800px
//SP：80%
//FULL：100%
*/
.contents_width_l {
  width: 1200px;
  margin-left: auto;
  margin-right: auto;
}

.contents_width_m {
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
}

.contents_width_s {
  width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.contents_width_full {
  width: 100%;
}

/*
// 2カラム
*/
.col_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.col_main {
  width: 615px;
}

.col_side {
  width: 220px;
}

.side_box {
  margin-bottom: 30px;
}

.side_title {
  border-top: solid 1px #4d4d4d;
  border-bottom: solid 1px #4d4d4d;
  padding: 10px 5px;
}

.side_list {
  padding: 20px 5px 0;
  font-size: 0.75rem;
}
.side_list li {
  margin-top: 1em;
}
.side_list li:first-of-type {
  margin-top: 0;
}
.side_list a:hover {
  text-decoration: underline;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .col_main {
    width: 100%;
  }
  .col_side {
    width: 100%;
    margin-top: 80px;
  }
}
/*
// PC ヘッダーナビ
*/
.pc_nav {
  text-align: center;
  width: 480px;
  height: 74px;
}
.pc_nav ul {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 100%;
}
.pc_nav ul a {
  display: block;
  width: 100%;
  height: 100%;
  line-height: 74px;
  font-size: 14 px;
}
.pc_nav ul a:hover {
  color: #006854;
}

header .company_logo {
  display: block;
  width: 260px;
  height: 30px;
  padding-top: 8px;
}
header .company_logo .item {
  text-align: center;
  width: 100%;
  height: 30px;
}
header .company_logo img {
  width: auto;
  height: 100%;
}

@media screen and (min-width: 520px) and (max-width: 959px) { /* Tablet用 メディアクエリー */ }
/*
// SP ハンバーガーアイコン

//<div class="nav_icon js_nav_icon sp_only">
//	<button class="nav_icon_button close"><span></span></button>
//	<span class="nav_icon_text">MENU</span>
//</div>
*/
/* 基本スタイル  */
.nav_icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 65px;
  height: 65px;
  z-index: 9999;
}

/* <BUTTON> */
.nav_icon_button {
  display: block;
  position: relative;
  background-color: #006854;
  width: 100%;
  height: 100%;
}
.nav_icon_button span {
  background-color: #fff;
  display: block;
  position: absolute;
  top: -1px;
  bottom: 0;
  left: 0;
  right: 0;
  width: 20px;
  height: 2px;
  margin: auto;
  -webkit-transition: all 0.2s ease 0s;
  transition: all 0.2s ease 0s;
}
.nav_icon_button span::before, .nav_icon_button span::after {
  background-color: #fff;
  content: "";
  display: block;
  height: 2px;
  left: 0;
  position: absolute;
  top: 50%;
  -webkit-transition: all 0.3s ease 0s;
  transition: all 0.3s ease 0s;
  width: 20px;
}
.nav_icon_button span::before {
  margin-top: -10px;
}
.nav_icon_button span::after {
  margin-top: 8px;
}

.contact_icon {
  text-align: center;
  position: absolute;
  top: 0;
  right: 65px;
  width: 65px;
  height: 65px;
}
.contact_icon a {
  display: block;
  background-color: #000;
  width: 100%;
  height: 100%;
  line-height: 65px;
  color: #fff;
}
.contact_icon img {
  width: 26px;
  height: auto;
  vertical-align: -3px;
}

/*JS 開閉クラス追加時*/
.js_nav_icon .nav_icon_button.open span {
  background: transparent none repeat scroll 0 0;
}
.js_nav_icon .nav_icon_button.open span::before, .js_nav_icon .nav_icon_button.open span::after {
  margin-top: -1px;
}
.js_nav_icon .nav_icon_button.open span::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.js_nav_icon .nav_icon_button.open span::after {
  -webkit-transform: rotate(-135deg);
          transform: rotate(-135deg);
}

.js_nav_bg {
  display: none;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9980;
  overflow: hidden;
  cursor: pointer;
}

@media screen and (min-width: 520px) and (max-width: 959px) { /* Tablet用 メディアクエリー */ }
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */ }
/*
// SP メインナビ
*/
.sp_nav {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: none;
  top: 65px;
  background-color: #006854;
  width: 100%;
  height: calc(100vh - 65px);
  padding-bottom: 60px;
  overflow-y: scroll;
  opacity: 0;
  z-index: 9990;
  visibility: hidden;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.sp_nav ul {
  width: 90vw;
  margin: 0 auto;
  padding-top: 6vw;
}
.sp_nav ul li {
  text-align: center;
  margin-top: 1.5em;
  color: #fff;
  font-size: 18px;
  font-weight: 700;
}
.sp_nav ul li a:hover {
  text-decoration: none;
}
.sp_nav ul li img.ico_external_link {
  margin-left: 5px;
  vertical-align: 5px;
}
.sp_nav .contact_btn {
  text-align: center;
  width: 62vw;
  margin: 40px auto 0;
}
.sp_nav .contact_btn a {
  display: block;
  border-radius: 28px;
  border: solid 1px #fff;
  width: 100%;
  padding: 15px 0;
  color: #fff;
}
.sp_nav .contact_btn a:hover {
  text-decoration: none;
}

/*JS 開閉クラス追加時 右からスライドして表示*/
.js_nav.open {
  position: fixed;
  display: block;
  right: 0;
  opacity: 1;
  visibility: visible;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */ }
@media screen and (min-width: 520px) and (max-width: 959px) { /* Tablet用 メディアクエリー */ }
/* デバイス共通マージン */
.mt0,
.mt_none {
  margin-top: 0;
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mb0,
.mb-none {
  margin-bottom: 0;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

/* スマホ用マージン */
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .sp_mt0,
  .sp_mt_none {
    margin-top: none;
  }
  .sp_mt10 {
    margin-top: 10px;
  }
  .sp_mt20 {
    margin-top: 20px;
  }
  .sp_mt30 {
    margin-top: 30px;
  }
  .sp_mt40 {
    margin-top: 40px;
  }
  .sp_mt50 {
    margin-top: 50px;
  }
  .sp_mt60 {
    margin-top: 60px;
  }
  .sp_mt70 {
    margin-top: 70px;
  }
  .sp_mt80 {
    margin-top: 80px;
  }
  .sp_mt90 {
    margin-top: 90px;
  }
  .sp_mt100 {
    margin-top: 100px;
  }
  .sp_mb0,
  .sp_mb-none {
    margin-bottom: 0;
  }
  .sp_mb10 {
    margin-bottom: 10px;
  }
  .sp_mb20 {
    margin-bottom: 20px;
  }
  .sp_mb30 {
    margin-bottom: 30px;
  }
  .sp_mb40 {
    margin-bottom: 40px;
  }
  .sp_mb50 {
    margin-bottom: 50px;
  }
  .sp_mb60 {
    margin-bottom: 60px;
  }
  .sp_mb70 {
    margin-bottom: 70px;
  }
  .sp_mb80 {
    margin-bottom: 80px;
  }
  .sp_mb90 {
    margin-bottom: 90px;
  }
  .sp_mb100 {
    margin-bottom: 100px;
  }
}
.flex {
  clear: both;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 1.5em;
}

/*
// 共通デバイス カラム設定
*/
.flex_item:nth-last-of-type(1) {
  margin-bottom: 0;
}

.flex_2 .flex_item {
  width: 48%;
  margin-right: 4%;
}

.flex_2 .flex_item:nth-of-type(even) {
  margin-right: 0;
}

.flex_3 .flex_item {
  width: 30%;
  margin-right: 5%;
}

.flex_3 .flex_item:nth-of-type(3n) {
  margin-right: 0;
}

.flex_4 .flex_item {
  width: 22%;
  margin-right: 4%;
}

.flex_4 .flex_item:nth-of-type(4n) {
  margin-right: 0;
}

.flex_5 .flex_item {
  width: 18.4%;
  margin-right: 2%;
}

.flex_5 .flex_item:nth-of-type(5n) {
  margin-right: 0;
}

/*
// スマホ カラム設定
*/
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .sp_flex_1 .flex_item {
    width: 100% !important;
  }
  .sp_flex_1 .flex_item:last-of-type {
    margin-right: 0;
  }
  .sp_flex_2 .flex_item {
    width: 46% !important;
    margin-right: 7% !important;
  }
  .sp_flex_2 .flex_item:nth-of-type(even) {
    margin-right: 0 !important;
  }
  .sp_flex_3 .flex_item {
    width: 30%;
    margin-right: 5%;
  }
  .sp_flex_3 .flex_item:nth-of-type(3n) {
    margin-right: 0;
  }
  .sp_flex_4 .flex_item {
    width: 23.5%;
    margin-right: 2%;
  }
  .sp_flex_4 .flex_item:nth-of-type(4n) {
    margin-right: 0;
  }
}
/*
// 共通デバイス 表示順序
*/
.order_1,
.pc_order_1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1;
}

.order_2,
.pc_order_2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}

.order_3,
.pc_order_3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3;
}

.order_4,
.pc_order_4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4;
}

.order_5,
.pc_order_5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5;
}

.order_6,
.pc_order_6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6;
}

.order_7,
.pc_order_7 {
  -webkit-box-ordinal-group: 8;
      -ms-flex-order: 7;
          order: 7;
}

.order_8,
.pc_order_8 {
  -webkit-box-ordinal-group: 9;
      -ms-flex-order: 8;
          order: 8;
}

.order_9,
.pc_order_9 {
  -webkit-box-ordinal-group: 10;
      -ms-flex-order: 9;
          order: 9;
}

.order_10,
.pc_order_10 {
  -webkit-box-ordinal-group: 11;
      -ms-flex-order: 10;
          order: 10;
}

.order_11,
.pc_order_11 {
  -webkit-box-ordinal-group: 12;
      -ms-flex-order: 11;
          order: 11;
}

.order_12,
.pc_order_12 {
  -webkit-box-ordinal-group: 13;
      -ms-flex-order: 12;
          order: 12;
}

/*
// スマホ 表示順序
*/
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .sp_order_01 {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
  .sp_order_02 {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .sp_order_03 {
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
  }
  .sp_order_04 {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
  }
  .sp_order_05 {
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
  }
  .sp_order_06 {
    -webkit-box-ordinal-group: 7;
        -ms-flex-order: 6;
            order: 6;
  }
  .sp_order_07 {
    -webkit-box-ordinal-group: 8;
        -ms-flex-order: 7;
            order: 7;
  }
  .sp_order_08 {
    -webkit-box-ordinal-group: 9;
        -ms-flex-order: 8;
            order: 8;
  }
  .sp_order_09 {
    -webkit-box-ordinal-group: 10;
        -ms-flex-order: 9;
            order: 9;
  }
  .sp_order_10 {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
.table {
  border_collapse: collapse;
  border: none;
  max-width: 100%;
  margin-bottom: 1.5em;
  font-size: 14px;
  line-height: 1.7;
}
.table th, .table td {
  border: solid 1px #ccc;
  text-align: left;
  padding: 8px 10px;
}
.table th {
  background-color: #f1f1f1;
  font-weight: normal;
}
.table.stripe tr:nth-of-type(even) th {
  background-color: #f9f9f9;
}
.table.stripe tr:nth-of-type(even) td:nth-of-type(odd) {
  background-color: #f9f9f9;
}

/*
// スライドテーブル
*/
.slide_table {
  display: block;
  overflow-x: auto;
  position: relative;
  width: 100%;
}
.slide_table .slide_table_item {
  min-width: 1000px;
}

/* スマホのみテーブルをスライド */
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .sp_slide_table {
    display: block;
    overflow-x: auto;
    position: relative;
    width: 100%;
  }
  .sp_slide_table .sp_slide_table_item {
    min-width: 600px;
  }
}
/*
// テーブルの要素を全て縦並びで表示
*/
.block_table,
.block_table tbody,
.block_table tr,
.block_table th,
.block_table td {
  display: block;
}

/* スマホのみテーブルの要素を縦並び */
@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .sp_block_table,
  .sp_block_table tbody,
  .sp_block_table tr,
  .sp_block_table th,
  .sp_block_table td {
    display: block;
  }
  .sp_block_table th {
    border-top: none !important;
    border-bottom: none !important;
  }
  .sp_block_table td {
    border-top: none !important;
  }
}
.btn_wrap {
  text-align: center;
}

.more_btn {
  text-align: center;
  width: 230px;
  margin: 0 auto;
}
.more_btn a {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 30px;
  background: -webkit-gradient(linear, left top, right top, from(rgb(0, 160, 90)), to(rgb(69, 200, 139)));
  background: linear-gradient(90deg, rgb(0, 160, 90) 0%, rgb(69, 200, 139) 100%);
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  width: 100%;
  padding: 18px 0;
  text-align: center;
  outline: none;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.1em;
}
.more_btn a:hover {
  background: -webkit-gradient(linear, left top, right top, from(rgba(0, 160, 90, 0.8)), to(rgba(69, 200, 139, 0.8)));
  background: linear-gradient(90deg, rgba(0, 160, 90, 0.8) 0%, rgba(69, 200, 139, 0.8) 100%);
}
.more_btn a::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  right: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 12px;
  content: "〉";
}

.more_btn_gray {
  text-align: center;
  width: 230px;
  margin: 0 auto;
}
.more_btn_gray a {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 30px;
  background-color: #7d7d7d;
  overflow: hidden;
  /*ボタンの形状*/
  text-decoration: none;
  width: 100%;
  padding: 18px 0;
  text-align: center;
  outline: none;
  color: #fff;
  font-size: 15px;
  letter-spacing: 0.1em;
}
.more_btn_gray a:hover {
  background-color: #888;
}
.more_btn_gray a::after {
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  right: 5px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 12px;
  content: "〉";
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .more_btn {
    width: 60%;
  }
  .more_btn a {
    padding: 15px 45px;
    font-size: 0.875rem;
  }
}
/* セクションタイトル 全幅 */
.title_wide {
  background-color: #f1f1f1;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 2em;
  padding: 14px calc(50vw - 50%);
  font-size: 26px;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .title_wide {
    font-size: 20px;
  }
}
/* セクションタイトル 大 */
.title_large {
  border-bottom: solid 1px #000;
  margin-bottom: 1em;
  padding-bottom: 1em;
  font-size: 26px;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .title_large {
    font-size: 20px;
  }
}
/* セクションタイトル 中 */
.title_medium {
  background-color: #f1f1f1;
  margin-bottom: 1em;
  padding: 10px;
  font-size: 20px;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .title_medium {
    padding: 5px;
    font-size: 18px;
  }
}
/* セクションタイトル 小 */
.title_small {
  border-bottom: solid 1px #000;
  border_left: solid 4px #000;
  margin-bottom: 1em;
  padding: 4px 6px;
  font-size: 16px;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .title_small {
    font-size: 14px;
  }
}
/*MV SECTION*/
.sec_mv {
  position: relative;
}

.sec_mv_top,
.sec_mv_btm {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
}

.sec_mv_top {
  background: url(images/mv_scroll.svg) center bottom no-repeat;
  background-size: 36px 110px;
  height: 895px;
  padding-top: 225px;
}
.sec_mv_top .main_copy {
  text-align: left;
  display: inline-block;
  background: url(images/davinci_logo_icon.png) center 0 no-repeat;
  background-size: 160px auto;
  padding: 200px 0 5px 0.8em;
  font-size: 73px;
  letter-spacing: 0.16em;
  line-height: 1;
  overflow: hidden;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-style: normal;
}
.sec_mv_top .cha_main {
  display: inline-block;
  font-size: 94px;
  width: 485px; /*テキスト非表示でも幅領域を確保するため指定*/
  vertical-align: -7px;
  letter-spacing: 0.01em;
  white-space: nowrap;
}
.sec_mv_top .cha_main_inner {
  display: inline-block;
  width: 0;
  padding: 0 0 5px;
  overflow: hidden;
  -webkit-animation: mainTxtAni 1s ease-in-out 1s normal forwards running;
          animation: mainTxtAni 1s ease-in-out 1s normal forwards running;
}
@-webkit-keyframes mainTxtAni {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes mainTxtAni {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
.sec_mv_top .cha_main_small {
  font-size: 66px !important;
  letter-spacing: 0.14em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.sec_mv_nav {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 440px;
  margin: 40px auto 0;
}
.sec_mv_nav li {
  text-align: center;
  /*●アイコン
  a::before{
  	background: rgb(39,234,194);
  	background: linear-gradient(-130deg, rgba(39,234,194,1) 0%, rgba(107,167,156,1) 40%, rgba(0,104,84,1) 71%);
  	border-radius: 50%;
  	position: absolute;
  	top: 0;
  	bottom: 0;
  	left: 24px;
  	width: 8px;
  	height: 8px;
  	margin: auto 0;
  	content: "";
  }*/
}
.sec_mv_nav li a {
  display: block;
  position: relative;
  border-radius: 28px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
  width: 100%;
  padding: 19px 43px 19px 23px;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0.1em;
}
.sec_mv_nav li a:hover {
  background-color: #f0f8f7;
  -webkit-box-shadow: 0 0 7px rgba(0, 104, 84, 0.9);
          box-shadow: 0 0 7px rgba(0, 104, 84, 0.9);
}
.sec_mv_nav li a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 26px;
  border-top: solid 2px #006854;
  border-right: solid 2px #006854;
  width: 10px;
  height: 10px;
  margin: auto 0;
  -webkit-transform: rotateZ(45deg);
          transform: rotateZ(45deg);
  content: "";
}
.sec_mv_nav .sec_mv_nav_left {
  width: 204px;
}
.sec_mv_nav .sec_mv_nav_right {
  width: 218px;
}

.sec_mv_btm {
  height: 845px;
  padding-top: 200px;
}
.sec_mv_btm p {
  font-size: 20px;
  color: #fff;
  line-height: 2.8;
  letter-spacing: 0.08em;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP MV SECTION*/
  .sec_mv_top {
    background: transparent;
    height: 200vw;
    padding-top: 33vw;
  }
  .sec_mv_top .main_copy {
    display: inline-block;
    background: url(images/davinci_logo_icon.png) center 0 no-repeat;
    background-size: 28vw auto;
    padding: 33vw 0 0 0.8em;
    font-size: 10vw;
  }
  .sec_mv_top .cha_main {
    font-size: 12.53vw;
    letter-spacing: 0.02em;
    width: 65vw; /*テキスト非表示でも幅領域を確保するため指定*/
  }
  .sec_mv_top .cha_main_small {
    font-size: 8.8vw !important;
  }
  .sec_mv_nav {
    width: 66vw;
    margin: 10vw auto 0;
    gap: 20px 0;
  }
  .sec_mv_nav li {
    width: 100% !important;
  }
  .sec_mv_nav li a {
    border-radius: 28px;
    text-align: center;
    padding: 17px 0;
  }
  .sec_mv_btm {
    height: 150vw;
    padding: 26vw 10vw;
  }
  .sec_mv_btm p {
    text-align: left;
    font-size: 16px;
    line-height: 2.2;
    letter-spacing: 0.1em;
  }
}
/*SECTION共通*/
.sec_body {
  background-color: #fff;
  border-radius: 10px;
  -webkit-box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 6px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  width: 1080px;
  margin-left: auto;
  margin-right: auto;
}
.sec_body .inner {
  padding: 80px 100px;
}

.section_title {
  position: relative;
  text-align: left;
  background: rgb(39, 234, 194);
  background: linear-gradient(-70deg, rgb(39, 234, 194) 0%, rgb(107, 167, 156) 40%, rgb(0, 104, 84) 71%);
  padding: 12px 10px 12px 20px;
  margin-bottom: 40px;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.1em;
  font-weight: 500;
}
.section_title::before {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  background-color: #fff;
  width: 4px;
  height: 20px;
  margin: auto 0;
  content: "";
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP SECTION共通*/
  .sec_body {
    width: 90vw;
  }
  .sec_body .inner {
    padding: 30px 5vw;
  }
  .section_title {
    padding: 5px 5px 8px 20px;
  }
}
/*Davinciの特徴*/
.sec_tokuchou {
  position: relative;
  margin-top: -270px;
}
.sec_tokuchou h2.copy {
  margin-bottom: 80px;
  font-size: 38px;
  line-height: 1.6;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.sec_tokuchou h2.copy .cha_main {
  font-size: 51px;
}

.tokuchou_img {
  position: absolute;
  top: 20px;
  right: 100px;
  z-index: 1;
}

.sec_tokuchou_point {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  gap: 0 30px;
  border-radius: 10px;
  width: 100%;
  padding: 40px 0 50px;
}
.sec_tokuchou_point dt {
  text-align: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #000;
  width: 182px;
  padding: 0px 12px 8px 0;
  color: #fff;
  font-size: 44px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.sec_tokuchou_point dt img {
  width: 40px;
  height: auto;
  margin-right: 5px;
  vertical-align: -3px;
}
.sec_tokuchou_point dd {
  padding-top: 20px;
  color: #fff;
  letter-spacing: 0.1em;
}
.sec_tokuchou_point dd h3 {
  font-size: 23px;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-style: normal;
}
.sec_tokuchou_point dd .wrap {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  margin: 30px 0 0;
}
.sec_tokuchou_point dd p {
  width: 430px;
  font-size: 16px;
  line-height: 1.8;
}
.sec_tokuchou_point dd .modal_more {
  text-align: center;
  width: 164px;
}
.sec_tokuchou_point dd .modal_more a {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 30px;
  background-color: rgb(0, 0, 0);
  padding: 18px;
  color: #fff;
  font-size: 15px;
}
.sec_tokuchou_point dd .modal_more a:hover {
  border: solid 1px #fff;
  background-color: #006854;
  text-decoration: none;
}

#sec_tokuchou_point01 {
  background: url(images/tokuchou_bg01.jpg), #00a91f;
  background-size: auto 100%;
  background-position: right 0;
  background-repeat: no-repeat;
}

#sec_tokuchou_point02 {
  background: url(images/tokuchou_bg02.jpg), #006854;
  background-size: auto 100%;
  background-position: right 0;
  background-repeat: no-repeat;
}

#sec_tokuchou_point03 {
  background: url(images/tokuchou_bg03.jpg), #00a99d;
  background-size: auto 100%;
  background-position: right 0;
  background-repeat: no-repeat;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP Davinciの特徴*/
  .sec_tokuchou {
    margin-top: -22vw;
  }
  .sec_tokuchou h2.copy {
    width: 275px;
    margin: 0 auto 10px;
    font-size: 22px;
  }
  .sec_tokuchou h2.copy .cha_main {
    font-size: 30px;
  }
  .tokuchou_img {
    position: relative;
    display: block;
    top: inherit;
    right: inherit;
    width: 68vw;
    height: auto;
    margin: 0 auto 20px;
  }
  .sec_tokuchou_point {
    gap: 0;
    padding: 18px 20px 20px;
  }
  .sec_tokuchou_point dt {
    width: 110px;
    padding: 0px 6px 5px 0;
    font-size: 26px;
  }
  .sec_tokuchou_point dt img {
    width: 26px;
    margin-right: 5px;
    vertical-align: -3px;
  }
  .sec_tokuchou_point dd {
    width: 100%;
    padding-top: 10px;
  }
  .sec_tokuchou_point dd h3 {
    font-size: 18px;
  }
  .sec_tokuchou_point dd .wrap {
    display: block;
    margin-top: 20px;
  }
  .sec_tokuchou_point dd p {
    width: 100%;
    margin-top: 10px;
    font-size: 12px;
  }
  .sec_tokuchou_point dd .modal_more {
    width: 164px;
    margin: 30px auto 0;
  }
  .sec_tokuchou_point dd .modal_more a {
    padding: 12px;
    font-size: 12px;
  }
  #sec_tokuchou_point01 {
    background: url(images/tokuchou_bg01_sp.jpg), #00a91f;
    background-size: cover;
    background-position: center 0;
    background-repeat: no-repeat;
  }
  #sec_tokuchou_point02 {
    background: url(images/tokuchou_bg02_sp.jpg), #006854;
    background-size: cover;
    background-position: center 0;
    background-repeat: no-repeat;
  }
  #sec_tokuchou_point03 {
    background: url(images/tokuchou_bg03_sp.jpg), #00a99d;
    background-size: cover;
    background-position: center 0;
    background-repeat: no-repeat;
  }
}
/*Davinciの強み*/
.sec_tsuyomi {
  position: relative;
  margin-top: 110px;
}

.sec_tsuyomi_wrap .box {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top: solid 1px #ccc;
  padding-top: 30px;
  margin-top: 30px;
}
.sec_tsuyomi_wrap .box:last-of-type {
  border-bottom: solid 1px #ccc;
  padding-bottom: 30px;
  margin-bottom: 30px;
}

.sec_tsuyomi_wrap .item_left {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  text-align: center;
  background: url(images/tsuyomi_bg.svg) 0 0 no-repeat;
  background-size: cover;
  width: 320px;
  padding: 22px 0 21px 78px;
}
.sec_tsuyomi_wrap .item_left .num {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  border-radius: 50%;
  width: 82px;
  height: 82px;
  padding: 25px 0 0;
  margin: auto 0;
  font-size: 27px;
  font-weight: 700;
  color: #006854;
  line-height: 1;
  -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
}
.sec_tsuyomi_wrap .item_left .num span {
  display: block;
  margin-bottom: 2px;
  font-size: 11px;
  font-weight: 500;
  color: #000;
}
.sec_tsuyomi_wrap .item_left h3 {
  font-weight: 900;
  font-size: 23px;
  color: #006854;
}

.sec_tsuyomi_wrap .item_right {
  width: 525px;
  letter-spacing: 0.06em;
}
.data_slide_wrap {
  position: relative;
  background-color: #00302a;
}
.data_slide_wrap img {
  width: 100%;
  height: auto;
}
.data_slide_wrap p {
  position: absolute;
  bottom: 60px;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  color: #fff;
  font-size: 23px;
  letter-spacing: 0.1em;
}
.data_slide_wrap img.data_slide_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}
.data_slide_wrap img.data_slide_cp {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
}

.data_slide { /*ロード時の一縦並び対策*/
  display: none;
}

.data_slide.slick-initialized { /*ロード時の一縦並び対策*/
  display: block;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP Davinciの強み*/
  .sec_tsuyomi {
    margin-top: 40px;
  }
  .sec_tsuyomi_wrap {
    padding-top: 0 !important;
  }
  .sec_tsuyomi_wrap .box {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: inherit;
        -ms-flex-align: inherit;
            align-items: inherit;
    border-top: none;
    padding-top: 0;
    margin: 30px 0 0;
  }
  .sec_tsuyomi_wrap .box:first-of-type {
    margin-top: 10px;
  }
  .sec_tsuyomi_wrap .box:last-of-type {
    border-bottom: none;
    padding-bottom: 30px;
    margin-bottom: 0;
  }
  .sec_tsuyomi_wrap .item_left {
    width: 100%;
  }
  .sec_tsuyomi_wrap .item_right {
    width: 100%;
    margin-top: 10px;
    line-height: 1.8;
  }
  .data_slide_wrap {
    height: 85.33vw;
  }
  .data_slide_wrap p {
    bottom: 8vw;
    font-size: 4vw;
  }
}
/*よくある質問*/
.bg_color_wrap {
  position: relative;
  background: url(images/bg_wave_green.jpg), #006854;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;
  padding: 80px 0;
  margin-top: 80px;
}

.sec_faq {
  margin-top: 60px;
}
.sec_faq .sec_box_contents {
  padding-top: 40px;
}
.sec_faq dl {
  position: relative;
  border-bottom: dotted 1px #006854;
  margin: 0 30px 30px;
  padding-bottom: 30px;
}
.sec_faq dl::after {
  position: absolute;
  top: 14px;
  right: 15px;
  background-color: #006854;
  width: 18px;
  height: 1px;
  content: "";
  opacity: 1;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; /*滑らかに表示*/
}
.sec_faq dl.active::after {
  opacity: 0;
  -webkit-transform: rotateZ(-90deg);
          transform: rotateZ(-90deg);
}
.sec_faq dl::before {
  position: absolute;
  top: 6px;
  right: 23px;
  background-color: #006854;
  width: 1px;
  height: 18px;
  content: "";
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out; /*滑らかに表示*/
}
.sec_faq dl.active::before {
  -webkit-transform: rotateZ(-90deg);
          transform: rotateZ(-90deg);
}
.sec_faq dt {
  background: url(images/faq_ico.svg) 0 0 no-repeat;
  background-size: 28px 28px;
  padding: 0 60px 0 55px;
  font-size: 19px;
  color: #006854;
  font-weight: 700;
  cursor: pointer;
}
.sec_faq dd {
  display: none;
  padding-left: 55px;
  margin-top: 40px;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.8;
  font-weight: 400;
}
.sec_faq dd a {
  text-decoration: underline;
}
.sec_faq dd a:hover {
  color: #006854;
}
.sec_faq dl.active dd {
  display: block;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP よくある質問*/
  .bg_color_wrap {
    background: transparent;
    background-color: #006854;
    padding: 8vw 0;
    margin-top: 12vw;
  }
  .sec_faq {
    margin-top: 25px;
  }
  .sec_faq .sec_box_contents {
    padding-top: 20px;
  }
  .sec_faq dl {
    margin: 0 auto 20px;
    padding-bottom: 20px;
  }
  .sec_faq dl::after {
    position: absolute;
    top: 11px;
    right: 5px;
    background-color: #006854;
    width: 16px;
    height: 1px;
    content: "";
  }
  .sec_faq dl::before {
    position: absolute;
    top: 4px;
    right: 12px;
    background-color: #006854;
    width: 1px;
    height: 16px;
    content: "";
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out; /*滑らかに表示*/
  }
  .sec_faq dt {
    background: url(images/faq_ico.svg) 0 0 no-repeat;
    background-size: 20px;
    padding: 0 30px 0 30px;
    font-size: 15px;
  }
  .sec_faq dd {
    padding-left: 30px;
    margin-top: 20px;
    font-size: 13px;
  }
}
/*効果的な導入例*/
.sec_dounyu_wrap {
  gap: 30px 0;
}

.sec_dounyu_wrap .box {
  width: 100%;
}
.sec_dounyu_wrap .box .img {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -ms-flex-item-align: start;
      align-self: flex-start;
  text-align: center;
  position: relative;
  border-radius: 10px;
  width: 170px;
  min-height: 150px;
  padding: 20px 0;
  margin-right: 30px;
  color: #4d4d4d;
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.6;
  -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 7px rgba(0, 0, 0, 0.2);
}
.sec_dounyu_wrap .box .img::before {
  position: absolute;
  bottom: 35px;
  right: -24px;
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 24px 24px 0 0;
  border-color: #fff transparent transparent transparent;
  -webkit-filter: drop-shadow(6px 0 5px rgba(0, 0, 0, 0.1));
  -moz-filter: drop-shadow(6px 0 5px rgba(0, 0, 0, 0.1));
  -ms-filter: drop-shadow(6px 0 5px rgba(0, 0, 0, 0.1));
  filter: drop-shadow(6px 0 5px rgba(0, 0, 0, 0.1));
  content: "";
}
.sec_dounyu_wrap .box .img img {
  display: block;
  width: 50px;
  height: auto;
  margin: 0 auto 5px;
}
.sec_dounyu_wrap .box h3 {
  position: relative;
  color: #808080;
  letter-spacing: 0.1em;
}
.sec_dounyu_wrap .box p {
  margin-top: 10px;
  color: #4d4d4d;
  font-size: 14px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}
.sec_dounyu_wrap .box .before {
  background-color: #f2f2f2;
  width: 340px;
  padding: 20px;
}
.sec_dounyu_wrap .box .before h3 {
  color: #808080;
}
.sec_dounyu_wrap .box .before h3::after {
  background-color: #ccc;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 4px;
  width: 220px;
  height: 1px;
  margin: auto 0;
  content: "";
}
.sec_dounyu_wrap .box .after {
  background-color: rgba(0, 104, 84, 0.1);
  width: 340px;
  padding: 20px;
}
.sec_dounyu_wrap .box .after h3 {
  color: #006854;
}
.sec_dounyu_wrap .box .after h3::after {
  background-color: #006854;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 4px;
  width: 240px;
  height: 1px;
  margin: auto 0;
  content: "";
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP 効果的な導入例*/
  .sec_dounyu_wrap {
    gap: 30px 0;
    margin-bottom: 0;
  }
  .sec_dounyu_wrap .box {
    display: block;
  }
  .sec_dounyu_wrap .box .img {
    border-radius: 10px;
    width: 80%;
    min-height: auto;
    padding: 20px 0;
    margin: 0 auto 30px;
    font-size: 16px;
  }
  .sec_dounyu_wrap .box .img::before {
    position: absolute;
    bottom: -24px;
    left: 0;
    right: 0;
    margin: 0 auto;
    display: inline-block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 24px 12px 0 12px;
    border-color: #fff transparent transparent transparent;
    -webkit-filter: drop-shadow(0 6px 5px rgba(0, 0, 0, 0.1));
    -moz-filter: drop-shadow(0 6px 5px rgba(0, 0, 0, 0.1));
    -ms-filter: drop-shadow(0 6px 5px rgba(0, 0, 0, 0.1));
    filter: drop-shadow(0 6px 5px rgba(0, 0, 0, 0.1));
    content: "";
  }
  .sec_dounyu_wrap .box .img img {
    display: block;
    width: 20vw;
    height: auto;
    margin: 0 auto 10px;
  }
  .sec_dounyu_wrap .box h3 {
    font-size: 15px;
  }
  .sec_dounyu_wrap .box p {
    font-size: 13px;
  }
  .sec_dounyu_wrap .box .before {
    width: 100%;
    padding: 20px;
  }
  .sec_dounyu_wrap .box .before h3 {
    color: #808080;
  }
  .sec_dounyu_wrap .box .before h3::after {
    width: calc(100% - 5em);
  }
  .sec_dounyu_wrap .box .after {
    width: 100%;
    padding: 20px;
  }
  .sec_dounyu_wrap .box .after h3 {
    color: #006854;
  }
  .sec_dounyu_wrap .box .after h3::after {
    width: calc(100% - 4em);
  }
}
/*導入までの流れ*/
.sec_flow {
  margin-top: 70px;
  margin-bottom: 120px;
}

.sec_flow_cap {
  text-align: center;
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 2.8;
}
.sec_flow_cap strong {
  display: inline-block;
  background-color: #00ffc7;
  padding: 14px 20px;
  margin: 0 10px 0 0;
  font-size: 26px;
  color: #000;
  font-weight: 500;
  line-height: 1;
}

.sec_flow_box {
  margin: 60px 0 0;
}

.sec_flow_box .box {
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-bottom: solid 1px #ccc;
  width: 100%;
  padding: 0 50px 40px;
  margin-bottom: 40px;
  line-height: 1;
}
.sec_flow_box .box:last-of-type {
  margin-bottom: 0;
}
.sec_flow_box .box:not(:last-of-type)::after {
  position: absolute;
  bottom: -18px;
  left: 0;
  right: 0;
  display: inline-block;
  width: 0;
  height: 0;
  margin: 0 auto;
  border-style: solid;
  border-width: 18px 17px 0 17px;
  border-color: #006854 transparent transparent transparent;
  content: "";
}
.sec_flow_box .box dt {
  font-size: 23px;
  color: #006854;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.sec_flow_box .box dt .num {
  display: inline-block;
  margin-right: 20px;
  font-weight: 900;
  font-size: 30px;
  vertical-align: -3px;
  color: rgba(0, 104, 84, 0.2);
}
.sec_flow_box .box dt .sub {
  font-size: 16px;
  color: #333;
}
.sec_flow_box .box dd {
  margin-top: 20px;
  padding-left: 62px;
  font-size: 14px;
  font-weight: 400;
  color: #4d4d4d;
  line-height: 2;
}
.sec_flow_box .box dd .sub {
  font-size: 12px;
}
.sec_flow_box .box dd a {
  text-decoration: underline;
}
.sec_flow_box .box dd a:hover {
  color: #006854;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  /*SP 導入までの流れ*/
  .sec_flow {
    margin-top: 40px;
    margin-bottom: 60px;
  }
  .sec_flow_cap {
    font-size: 18px;
    line-height: 1.6;
  }
  .sec_flow_cap strong {
    padding: 14px 20px;
    margin: 5px 5px 5px 0;
    font-size: 20px;
  }
  .sec_flow_box {
    margin: 40px 0 0;
  }
  .sec_flow_box .box {
    padding: 0 0 30px;
    margin-bottom: 30px;
  }
  .sec_flow_box .box:last-of-type {
    margin-bottom: 0;
  }
  .sec_flow_box .box:not(:last-of-type)::after {
    position: absolute;
    bottom: -12px;
    left: 0;
    right: 0;
    display: inline-block;
    width: 0;
    height: 0;
    margin: 0 auto;
    border-style: solid;
    border-width: 12px 12px 0 12px;
    border-color: #006854 transparent transparent transparent;
    content: "";
  }
  .sec_flow_box .box dt {
    font-size: 20px;
  }
  .sec_flow_box .box dt .num {
    margin-right: 10px;
    font-size: 24px;
    vertical-align: -2px;
  }
  .sec_flow_box .box dt .sub {
    font-size: 16px;
  }
  .sec_flow_box .box dd {
    margin-top: 20px;
    padding-left: 0;
  }
  .sec_flow_box .box dd .sub {
    font-size: 11px;
  }
}
.js_modal_bg {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.85);
  z-index: 9998;
}

.modal_close {
  position: absolute;
  top: -68px;
  right: 0;
  cursor: pointer;
}

.modal {
  display: none;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background-color: #fff;
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translateY(-50%) translateX(-50%);
          transform: translateY(-50%) translateX(-50%);
  width: 1100px;
  padding: 50px 50px 50px 90px;
  margin: auto;
  z-index: 9999;
}

.modal .box {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0 40px;
  width: 100%;
  margin: 0;
}

.modal .item_img {
  position: relative;
  width: 476px;
  height: 284px;
}
.modal .item_img h3 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: -54px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 50%;
  text-align: center;
  background-color: #000;
  width: 108px;
  height: 108px;
  padding: 18px 0 0;
  margin: auto 0;
  color: #fff;
  font-size: 24px;
  line-height: 1;
}
.modal .item_img h3 img {
  display: block;
  width: 38px;
  height: auto;
  margin: 0 auto 2px;
}
.modal .item_img .merit_img {
  border-radius: 10px;
  width: 100%;
  height: auto;
}

.modal .item_txt {
  width: 390px;
}
.modal .item_txt h3 {
  font-size: 21px;
  font-weight: 700;
  color: #006854;
}
.modal .item_txt p {
  margin-top: 30px;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .modal_close {
    top: -60px;
    right: 0;
    width: 40px;
  }
  .modal_close img {
    width: 100%;
    height: auto;
  }
  .modal {
    width: 90vw;
    max-height: 80vh;
    padding: 16vw 6vw 6vw;
  }
  .modal .box {
    -webkit-box-align: inherit;
        -ms-flex-align: inherit;
            align-items: inherit;
    gap: 20px 0;
  }
  .modal .item_img {
    width: 100%;
    height: 49.33vw;
  }
  .modal .item_img h3 {
    position: absolute;
    top: -10vw;
    bottom: inherit;
    left: 0;
    right: 0;
    width: 16.8vw;
    height: 16.8vw;
    padding: 2.5vw 0 0;
    margin: 0 auto;
    font-size: 4vw;
  }
  .modal .item_img h3 img {
    width: 24px;
    margin-bottom: 0;
  }
  .modal .item_txt {
    width: 100%;
  }
  .modal .item_txt h3 {
    font-size: 18px;
  }
  .modal .item_txt p {
    margin-top: 10px;
    font-size: 14px;
  }
}
/*CONTACT*/
.sec_contact {
  background-color: #fff;
  padding: 90px 0;
}
.sec_contact .inner {
  width: 920px;
  margin: 0 auto;
}
.sec_contact h2 {
  text-align: center;
  margin-bottom: 60px;
  font-size: 50px;
  color: #006854;
  font-weight: 900;
  line-height: 1;
}
.sec_contact h2 span {
  display: block;
  margin-top: 5px;
  font-size: 18px;
  color: #000;
  font-weight: 700;
}

form input {
  accent-color: #0d7c67;
}

.form_table {
  border-collapse: collapse;
  width: 100%;
  margin: 0 auto;
}
.form_table th, .form_table td {
  border-bottom: solid 1px #eee;
  padding: 35px 0;
}
.form_table th {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-right: 70px;
  font-weight: 700;
  color: #006854;
  white-space: nowrap;
}
.form_table td {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 15px;
  font-weight: 600;
}

.form_table input[type=text],
.form_table textarea {
  background-color: rgba(0, 104, 84, 0.07);
  max-width: 480px;
  margin-right: 5px;
  padding: 8px;
  font-weight: 400;
}

.form_table input[type=radio] {
  margin-right: 4px;
  vertical-align: middle;
  font-weight: 400;
}

.radio_label {
  padding: 0 1.5em 0 0;
}

.agree_check {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 540px;
  margin: 30px auto 0;
}
.agree_check p.agree_check_left {
  width: 340px;
  font-size: 14px;
}
.agree_check p.agree_check_left a:hover {
  text-decoration: underline;
}
.agree_check p.agree_check_right {
  text-align: right;
  width: 200px;
  font-size: 16px;
  color: #006854;
}
.agree_check input[type=checkbox] {
  margin-right: 5px;
  vertical-align: -1px;
}

.submit {
  text-align: center;
  margin: 50px 0 0;
}
.submit input {
  background-color: #006854;
  border-radius: 26px;
  width: 490px;
  margin: 0 auto 10px;
  padding: 10px 0;
  font-size: 22px;
  color: #fff;
  font-weight: 700;
  outline: none;
}
.submit input:hover {
  background-color: rgba(0, 104, 84, 0.7);
}
.submit input:disabled {
  background-color: #4d4d4d;
}

.formReq {
  display: inline-block;
  background-color: rgba(245, 138, 5, 0.2);
  padding: 1px 12px;
  margin-left: 10px;
  color: #f58a05;
  font-size: 12px;
}

@media screen and (max-width: 896px) { /* SP用 メディアクエリー */
  .sec_contact {
    padding: 40px 0;
  }
  .sec_contact .inner {
    width: 90vw;
    margin: 0 auto;
  }
  .sec_contact h2 {
    margin-bottom: 0;
    font-size: 30px;
  }
  .sec_contact h2 span {
    font-size: 15px;
  }
  .form_table,
  .form_table tbody,
  .form_table tr,
  .form_table th,
  .form_table td {
    display: block;
  }
  .form_table th, .form_table td {
    padding: 15px 0;
    font-size: 14px;
  }
  .form_table th {
    border-top: none !important;
    border-bottom: none !important;
    padding-bottom: 0;
  }
  .form_table td {
    border-top: none !important;
    padding-top: 10px;
  }
  .form_table input[type=text],
  .form_table textarea {
    max-width: 98%;
    margin-right: 2%;
  }
  .form_table .input_2set input[type=text] {
    max-width: 48%;
  }
  .form_table input[type=radio] {
    margin-right: 4px;
    vertical-align: middle;
  }
  .radio_label {
    display: inline-block;
    width: 49%;
    margin: 4px 0 0;
  }
  .agree_check {
    width: 100%;
  }
  .agree_check p.agree_check_left {
    display: inline;
    text-align: left;
    margin: 0 auto;
    font-size: 13px;
  }
  .agree_check p.agree_check_right {
    width: 100%;
    text-align: center;
    margin-top: 15px;
    font-size: 14px;
  }
  .agree_check input[type=checkbox] {
    margin-right: 5px;
    vertical-align: -1px;
  }
  .submit {
    margin: 30px 0 0;
  }
  .submit input {
    border-radius: 28px;
    width: 68vw;
    padding: 14px 0;
    font-size: 18px;
  }
}/*# sourceMappingURL=style.css.map */