@charset "utf-8";
/****************
davinci
****************/
:root {
  --serif: "Noto Serif", "Noto Serif JP", serif;
  --main_color: #00457a;
  --bg_gray: #edeff3;
  --line_color: #25445d;
  --space_b: 100px;
  --space_lll: 80px;
  --space_llm: 60px;
  --space_ll: 40px;
  --space_l: 32px;
  --space_ml: 24px;
  --space_mdouble: 16px;
  --space_m: 8px;
  --space_s: 4px;
  --font_m: 1.2rem;
  --font_lm: 1.5rem;
}
html {
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans", "Noto Sans JP", serif;
  font-feature-settings: "palt";
  font-weight: 400;
}
#page_top {
  position: fixed;
  bottom: 2%;
  right: 1%;
  mix-blend-mode: luminosity;
  z-index: 2;
}
#page_top a {
    background: #d3e9f5;
    text-align: center;
    border-radius: 50%;
    width: 60px;
    height: 60px;
    display: inline-block;
    border: 1px solid #3f5971;
    transition: .3s;
}
#page_top a:before {
    content: "";
    display: inline-block;
    width: 21px;
    height: 21px;
    border-top: 4px solid #3f5971;
    border-left: 4px solid #3f5971;
    transform: rotate(45deg);
    position: relative;
    top: 40%;
}
#page_top a:hover {
    background-color: #ececec;
    color: #4778ba;
    border: 1px solid #4778ba;
    text-decoration: none;
}
#page_top.hidden {
  opacity: 0;
}
#page_top.fade-in {
  opacity: 1;
  transition: opacity 0.5s ease-in-out;
}
#page_top.fade-out {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}
.sitemame {
  font-size: 13px;
  font-weight: normal;
  line-height: 1.5;
}
.copy {
  font-size: .8rem;
  text-align: center;
}
/**読み上げソフトにのみ表示**/
.read_only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

footer {
    position: sticky;
    top: 100svh;
}

.inner__main {
  width: min(1280px, 90%);
  margin-inline: auto;
  margin-bottom: var(--space_b);
}
header {
    padding: var(--space_ml) var(--space_l);
}
.header_logo a {
    display: flex;
    align-items: center;
    gap: var(--space_mdouble);
}
.breadcrumbs_list {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--space_m);
  background: #ededed;
  width: fit-content;
  padding: 2px var(--space_mdouble);
  font-size: .8rem;
}
.breadcrumbs_list li +li:before {
    content: "/";
    padding-right: var(--space_m);
}
br.sp_only {
    display: none;
}
.davinci_page {
    overflow: hidden;
}
.intro h1 {
    color: var(--main_color);
    text-align: center;
    line-height: 4rem;
    font-size: 2.5rem;
}
.main_visual_sp {display: none;}
.main_visual {
    margin-top: var(--space_ll);
    display: grid;
    align-items: center;
    justify-items: center;
}
.main_visual img {
    width: 100%;
}
.main_visual, .main_visual_sp {
    img, figcaption {
        grid-area: 1/-1;
    }
}
.main_visual, .main_visual_sp {
    figcaption {
    color: #fff;
    font-weight: 600;
    text-shadow: 2px 2px #0e2741;
    }
}
.main_visual figcaption {
    font-size: 5vw;
}
.main_visual, .intro, .bg_title__wrap, .bg_section, .main_visual_sp {
    width: 100vw;
    margin-inline: calc(50% - 50vw);
}
.intro {
  background: url(/subcontents/wp-content/themes/theme-under/img/davinci/davinci_bg.png)no-repeat center;
  background-size: cover;
}
.intoro__inner, .bg_section .dv_section__inner {
  width: min(1280px, 90%);
  margin-inline: auto;
  padding-top: var(--space_llm);
  padding-bottom: var(--space_b);
}
.intro p {
    text-align: center;
    margin-top: var(--space_ml);
}
.intoro_list {
    margin-top: var(--space_lll);
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    align-items: center;
    justify-items: center;
    width: min(900px, 100%);
    margin-inline: auto;
    gap: 4vw;
}
.bg_title__wrap {
    height: 300px;
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bg_title__wrap:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #15303f80;
    z-index: -1;
}
.section_01 .bg_title__wrap {
    background: url(/subcontents/wp-content/themes/theme-under/img/davinci/davinci_imgbg01.jpg)no-repeat center;
    background-size: cover;
}
.section_03 .bg_title__wrap {
    background: url(/subcontents/wp-content/themes/theme-under/img/davinci/davinci_imgbg02.jpg)no-repeat center;
}
.section_04 .bg_title__wrap {
    background: url(/subcontents/wp-content/themes/theme-under/img/davinci/davinci_imgbg03.jpg)no-repeat center;
}
.bg_title__wrap hgroup {
    color: #fff;
    text-shadow: 1px 2px 3px #22222299;
    text-align: center;
}
.bg_title__wrap h2 {
    font-size: 4rem;
    letter-spacing: .2em;
}
.bg_title__wrap p {
    font-weight: 600;
    font-size: var(--font_m);
    margin-top: var(--space_m);
}
.dv_section__inner {
    margin-top: var(--space_llm);
    margin-bottom: var(--space_llm);
}
.bg_section .dv_section__inner {
    margin-bottom: revert;
}
.dv_section h3 {
    border-bottom: 4px solid var(--line_color);
    font-size: 1.8rem;
    padding-bottom: var(--space_m);
    margin-bottom: var(--space_l);
}
.img-txt__img {
    display: grid;
    grid-template-columns: min(500px, 50%) auto;
    gap: 4vw;
}
.box_style, .box_title {
    border: 1px solid;
    padding: var(--space_m) var(--space_mdouble);
    text-align: center;
    width: fit-content;
}
.box_style {
    margin-top: var(--space_ml);
}
.dv_description {
    background: var(--bg_gray);
}
.dv_description {
    margin-top: var(--space_l);
    padding: 2vw 3vw;
}
.dv_description h4 {
    display: flex;
    align-items: center;
    gap: var(--space_mdouble);
    font-size: var(--font_m);
    border-bottom: 2px solid var(--line_color);
    padding-bottom: var(--space_m);
    margin-bottom: var(--space_mdouble);
}
.dv_description h4 img {
    width: 2em;
}
.dv_description p {
    padding-inline: 5vw;
}
.bg_section {
  background: var(--bg_gray);
}
.bg_section .inner__content {
  background: #fff;
  padding: 2vw;
  box-shadow: 4px 4px 7px 4px #b3b3b3;
}
.inner__content h4 {
    background: var(--line_color);
    color: #fff;
    padding: var(--space_mdouble) var(--space_ml);
    margin-bottom: var(--space_l);
    font-size: 1.4rem;
}
.inner_content__txt, .dv_list {
    width: min(900px, 90%);
    margin-inline: auto;
    letter-spacing: .1em;
}
.dv_list li + li {
    margin-top: var(--space_m);
}
.box_title {
    font-size: var(--font_m);
    margin-inline: auto;
    font-weight: normal;
    margin-bottom: var(--space_mdouble);
    margin-top: var(--space_l);
}
.graph img, .dv_img img {
    margin-inline: auto;
}
.dv_img {
    margin-top: var(--space_l);
    margin-bottom: var(--space_llm);
}
.dv_list li:before {
    content: "■";
    color: var(--line_color);
    margin-right: var(--space_m);
}
.has_ex_title {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    column-gap: var(--space_mdouble);
}
.has_ex_title span {
    font-size: 1rem;
    background: var(--line_color);
    color: #fff;
    padding: var(--space_m);
}
.column_02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3vw;
}
.column_03 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 3vw;
}
.column_02, .column_03 {
  .dv_description h4 {
      justify-content: center;
  }
  .dv_description p {
    padding-inline: revert;
  }
}












@media screen and (max-width: 999px) {
br.sp_only {
    display: revert;
}

}

@media screen and (max-width: 767px) {
  .checkup header {
    padding: 3vw;
  }
  .checkup .header_logo img {
    width: 50px;
  }
  .header_site_name {
      font-size: 0.8rem;
  }
.main_visual_sp {
    display: grid;
    align-items: center;
    justify-items: center;
    margin-top: var(--space_ml);
}
.main_visual_sp figcaption {
    font-size: 10vw;
}
  .main_visual {
    display: none;
  }
  .intro h1 {
      font-size: 2rem;
      line-height: 1.2;
  }
.bg_title__wrap h2 {
    font-size: 11vw;
}
.img-txt__img {
    grid-template-columns: 1fr;
}
.column_02, .column_03 {
    grid-template-columns: 1fr;
}
.dv_section h3 {
    font-size: 1.4rem;
}
.has_ex_title span {
    font-size: .8rem;
}
.inner__content h4 {
    font-size: 1.2rem;
}
}

@media screen and (max-width: 500px) {
:root {
  --space_b: 60px;
  --space_llm: 40px;
  --space_ll: 32px;
  --space_ml: 16px;
  --font_m: 1rem;
}
.header_logo img {
    width: 46px;
}
.bg_title__wrap {
    height: 180px;
}
.bg_title__wrap p {
    font-size: 4vw;
}
}
/*Safari 14.0.1 未満だけに適用される CSS*/
@media not all and (min-resolution:.001dpcm) {
  @supports (not (translate: none)) {

    @media screen and (max-width: 767px) {

    }
  }
}