@charset "UTF-8";
/* CSS Document */
/* Scss Document */
/* Scss Document */
#contents {
  font-size: 1.3rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  line-height: 2;
  letter-spacing: .06em; }
  @media (min-width: 768px) {
    #contents {
      font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
  @media (min-width: 1280px) {
    #contents {
      font-size: 1.5rem; } }
  #contents #titleimg .titleimg_wrap .title_box h2 {
    font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }
  #contents li {
    list-style: none; }
  #contents .sec_ttl {
    margin-bottom: 10px;
    color: #2C377E;
    font-size: 1.8rem;
    font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif;
    font-weight: normal;
    line-height: 1.7; }
    @media (min-width: 375px) {
      #contents .sec_ttl {
        font-size: calc( 1.8rem + ( 1vw - 3.75px ) * 1.1049723757 ); } }
    @media (min-width: 1280px) {
      #contents .sec_ttl {
        font-size: 2.8rem; } }
  #contents .bg--wh {
    background: #FFF;
    padding: 20px; }
  #contents .sec_ttl-wp {
    text-align: center; }
    #contents .sec_ttl-wp .sec_ttl {
      position: relative;
      display: inline-block;
      margin-bottom: 20px;
      padding-bottom: 5px; }
      #contents .sec_ttl-wp .sec_ttl::after {
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 45%;
        height: 1px;
        background: #2C377E;
        transition: .3s;
        content: ''; }
  #contents .flow_btn, #contents .heredity_btn {
    margin-bottom: 0; }
    #contents .flow_btn.yet a, #contents .heredity_btn.yet a {
      background: #bebebe;
      cursor: default;
      border: none; }
      #contents .flow_btn.yet a::after, #contents .heredity_btn.yet a::after {
        display: none; }
      #contents .flow_btn.yet a:hover, #contents .heredity_btn.yet a:hover {
        opacity: 1; }
    #contents .flow_btn a, #contents .heredity_btn a {
      position: relative;
      margin-top: 15px;
      background: #C1AE8A;
      border-color: #C1AE8A;
      letter-spacing: .06em;
      line-height: 1.5; }
      #contents .flow_btn a::after, #contents .heredity_btn a::after {
        position: absolute;
        top: 50%;
        right: 5%;
        transform: translate(-50%, -50%) rotate(45deg);
        width: .6em;
        height: .6em;
        border-top: 1px solid #FFF;
        border-right: 1px solid #FFF;
        content: ''; }
      #contents .flow_btn a small, #contents .heredity_btn a small {
        position: static;
        font-size: .8em; }
  #contents .counseling p {
    font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }

.box {
  margin-bottom: 40px; }

#offer {
  margin-bottom: 50px; }
  #offer .offer_ttl {
    margin-bottom: 20px; }
  #offer .offer_txt {
    margin-bottom: 15px;
    font-size: 1.3rem;
    font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif;
    text-align: center;
    line-height: 2;
    letter-spacing: .11em; }
    @media (min-width: 768px) {
      #offer .offer_txt {
        font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #offer .offer_txt {
        font-size: 1.5rem; } }
  #offer .offer_name {
    max-width: 150px;
    margin: 0 0 30px auto;
    font-size: 1.2rem;
    letter-spacing: .11em; }
    @media (min-width: 768px) {
      #offer .offer_name {
        font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0 ); } }
    @media (min-width: 1280px) {
      #offer .offer_name {
        font-size: 1.2rem; } }
    #offer .offer_name .offer_name-img {
      max-width: 120px;
      margin: -5px 0 0 auto; }
  #offer .offer_wp {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-flow: row wrap;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    -webkit-align-content: flex-start;
    -ms-flex-line-pack: start;
    align-content: flex-start;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    #offer .offer_wp .offer_img {
      flex: 0 1 47.8%;
      width: 47.8%;
      max-width: 47.8%;
      box-shadow: 2px 3px 6px rgba(0, 0, 0, 0.15);
      transition: .3s; }

#what .sec_ttl {
  letter-spacing: .11em; }
#what .sec_txt {
  text-align: center; }

#concept {
  margin-bottom: 50px; }
  #concept .what_ttl {
    margin-bottom: 20px; }
  #concept .concept_box {
    margin-bottom: 30px;
    text-align: center; }
    #concept .concept_box:last-of-type {
      margin-bottom: 0; }
    #concept .concept_box .concept_img {
      width: 80%;
      margin: 0 auto 15px; }
    #concept .concept_box .concept_box-ttl {
      margin-bottom: 5px;
      color: #2C377E;
      font-size: 1.8rem;
      font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif;
      font-weight: normal; }
      @media (min-width: 768px) {
        #concept .concept_box .concept_box-ttl {
          font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 1.953125 ); } }
      @media (min-width: 1280px) {
        #concept .concept_box .concept_box-ttl {
          font-size: 2.8rem; } }
    #concept .concept_box .concept_box-subttl {
      margin-bottom: 5px;
      color: #2C377E;
      font-size: 1.5rem;
      font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif; }
      @media (min-width: 768px) {
        #concept .concept_box .concept_box-subttl {
          font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
      @media (min-width: 1280px) {
        #concept .concept_box .concept_box-subttl {
          font-size: 1.8rem; } }
    #concept .concept_box .concept_box-txt {
      letter-spacing: .11em; }

#flow .flow_wp {
  padding-top: 20px; }
#flow .flow_box {
  position: relative;
  margin-bottom: 50px;
  padding: 15px 20px;
  background: #FFF;
  border-top: 1px solid #CFD7F5;
  border-bottom: 1px solid #CFD7F5;
  color: #2C377E;
  text-align: center; }
  #flow .flow_box::after {
    display: block;
    position: absolute;
    top: calc(100% + 20px);
    left: 50%;
    transform: translate(-50%, 0%);
    width: 40px;
    height: 10px;
    background: #D2D8F2;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    content: ''; }
  #flow .flow_box:last-of-type {
    margin-bottom: 0; }
    #flow .flow_box:last-of-type::after {
      display: none; }
  #flow .flow_box .flow_box-ttl {
    margin-bottom: 5px;
    font-size: 1.5rem;
    font-weight: normal; }
    @media (min-width: 768px) {
      #flow .flow_box .flow_box-ttl {
        font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
    @media (min-width: 1280px) {
      #flow .flow_box .flow_box-ttl {
        font-size: 1.8rem; } }
  #flow .flow_box .flow_box-txt {
    line-height: 1.85; }
  #flow .flow_box .flow_detail {
    position: relative;
    margin-top: 15px;
    padding-top: 15px;
    text-align: left;
    letter-spacing: .11em; }
    #flow .flow_box .flow_detail::before {
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -50%);
      width: calc(100% + 40px);
      height: 1px;
      border-top: 1px dotted #CFD7F5;
      content: ''; }
    #flow .flow_box .flow_detail .flow_detail-ttl {
      margin-bottom: 5px; }
      #flow .flow_box .flow_detail .flow_detail-ttl:nth-of-type(n+2) {
        margin-top: 15px; }
    #flow .flow_box .flow_detail .flow_detail-txt {
      color: #333; }
    #flow .flow_box .flow_detail .flow_btn a::after {
      right: 10%; }
#flow .flow_note {
  margin-top: 5px;
  color: #2C377E;
  font-size: 1.2rem;
  line-height: 1.5; }
  @media (min-width: 768px) {
    #flow .flow_note {
      font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
  @media (min-width: 1280px) {
    #flow .flow_note {
      font-size: 1.5rem; } }

#effect .effect_list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-flow: row wrap;
  -ms-flex-flow: row wrap;
  flex-flow: row wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-align-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  justify-content: center; }
  #effect .effect_list li {
    flex: 0 1 48%;
    width: 48%;
    max-width: 48%;
    aspect-ratio: 1/1;
    position: relative;
    margin-right: 4%;
    box-sizing: border-box;
    background: #F5F7FF;
    border-radius: 50%;
    color: #2C377E;
    font-size: 1.8rem;
    font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif;
    text-align: center;
    line-height: 1.4; }
    @media (min-width: 768px) {
      #effect .effect_list li {
        font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 1.3671875 ); } }
    @media (min-width: 1280px) {
      #effect .effect_list li {
        font-size: 2.5rem; } }
    #effect .effect_list li:nth-of-type(1) {
      margin: 0 26%; }
    #effect .effect_list li:last-of-type {
      margin-right: 0; }
    #effect .effect_list li span {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      transform: translate(-50%, -50%); }

#careful .sec_ttl-wp .sec_ttl::after {
  width: 75%; }
#careful .careful_list li {
  margin-bottom: 10px; }
  #careful .careful_list li:last-of-type {
    margin-bottom: 0; }
  #careful .careful_list li .careful_list-ttl {
    margin-bottom: 2px;
    color: #2C377E;
    font-size: 1.4rem;
    letter-spacing: .11em; }
    @media (min-width: 768px) {
      #careful .careful_list li .careful_list-ttl {
        font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #careful .careful_list li .careful_list-ttl {
        font-size: 1.6rem; } }
  #careful .careful_list li .careful_list-txt {
    padding-left: 1em; }

#heredity {
  margin-bottom: 50px; }
  #heredity .heredity_img {
    width: 80%;
    margin: 0 auto 5px; }
  #heredity .heredity_txt {
    letter-spacing: .11em; }

#faq .sec_ttl {
  margin-bottom: 20px; }
#faq .flow_list {
  margin-bottom: 65px; }
  #faq .flow_list label {
    font-size: 1.3rem;
    cursor: pointer;
    background: #2C377E;
    color: #fff;
    width: 100%;
    padding: 15px 40px 15px 20px;
    box-sizing: border-box;
    text-align: left;
    display: block;
    position: relative; }
    @media (min-width: 768px) {
      #faq .flow_list label {
        font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #faq .flow_list label {
        font-size: 1.5rem; } }
    #faq .flow_list label:nth-of-type(n+2) {
      margin-top: 20px; }
    #faq .flow_list label .click {
      position: absolute;
      width: 10px;
      height: 10px;
      top: 50%;
      right: 20px;
      transform: translateY(-50%); }
      #faq .flow_list label .click:before, #faq .flow_list label .click:after {
        display: block;
        position: absolute;
        top: 50%;
        right: 50%;
        width: 100%;
        height: 2px;
        background: #fff;
        content: "";
        transition: .5s; }
      #faq .flow_list label .click:before {
        transform: rotate(90deg); }
      #faq .flow_list label .click.active:before {
        transform: rotate(180deg); }
  #faq .flow_list .flow_answer {
    padding: 20px;
    background: #FFF; }
    #faq .flow_list .flow_answer .flex_wrap .flow_answer-img {
      flex: 0 1 100%;
      width: 100%;
      max-width: 100%;
      margin-bottom: 20px; }
    #faq .flow_list .flow_answer .flex_wrap .flow_txt_box {
      width: 100%; }

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) {
  #contents .sec_ttl {
    margin-bottom: 25px; }
  #contents .sec_ttl-wp .sec_ttl {
    margin-bottom: 30px;
    padding-bottom: 10px; }
  #contents .flow_btn.yet a, #contents .heredity_btn.yet a {
    border: 1px solid #bebebe; }
    #contents .flow_btn.yet a:hover, #contents .heredity_btn.yet a:hover {
      background: #bebebe;
      color: #FFF; }
      #contents .flow_btn.yet a:hover::after, #contents .heredity_btn.yet a:hover::after {
        border-color: #FFF; }
  #contents .flow_btn a, #contents .heredity_btn a {
    border: 1px solid #C1AE8A;
    transition: .3s; }
    #contents .flow_btn a:hover, #contents .heredity_btn a:hover {
      background: #FFF;
      color: #C1AE8A; }
      #contents .flow_btn a:hover::after, #contents .heredity_btn a:hover::after {
        border-color: #C1AE8A; }

  .box {
    margin-bottom: 80px; }

  #offer {
    margin-bottom: 100px; }
    #offer .offer_ttl {
      margin-bottom: 50px; }
    #offer .offer_txt {
      margin-bottom: 30px; }
    #offer .offer_name {
      margin: 0 7.5% 50px auto; }
    #offer .offer_wp .offer_img:hover {
      box-shadow: 2px 3px 10px rgba(0, 0, 0, 0.25); }
      #offer .offer_wp .offer_img:hover a {
        opacity: 1; }

  #concept {
    margin-bottom: 80px; }
    #concept .sec_ttl {
      margin-bottom: 40px; }
    #concept .concept_wp {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
      align-content: flex-start;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      position: relative; }
      #concept .concept_wp::after {
        display: block;
        position: absolute;
        top: 32%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 7%;
        max-width: 64px;
        height: auto;
        aspect-ratio: 1/1;
        background: url("/img/knowledge/diagnosis/concept_cross.svg") center/cover no-repeat;
        content: ''; }
    #concept .concept_box {
      flex: 0 1 46%;
      width: 46%;
      max-width: 46%; }

  #flow .flow_box {
    padding: 20px 4% 30px; }
    #flow .flow_box .flow_detail {
      max-width: 650px;
      margin: 20px auto 0;
      padding-top: 20px; }
      #flow .flow_box .flow_detail::before {
        width: 92vw;
        max-width: 900px; }
    #flow .flow_box .flow_detail .flow_btn a {
      max-width: none;
      margin-top: 20px; }
      #flow .flow_box .flow_detail .flow_btn a::after {
        right: 30px; }
  #flow .flow_note {
    margin-top: 8px;
    text-align: right; }

  #effect .bg--wh {
    padding: 35px 0 40px; }
  #effect .effect_list li {
    flex: 0 1 24%;
    width: 24%;
    max-width: 24%;
    margin-right: 6%; }
    #effect .effect_list li:nth-of-type(1) {
      margin: 0 6% 0 0; }

  #careful .bg--wh {
    padding: 35px 8%; }
  #careful .careful_list li {
    margin-bottom: 12px; }
    #careful .careful_list li .careful_list-ttl {
      margin-bottom: 5px; }

  #heredity {
    margin-bottom: 90px; }
    #heredity .heredity_wp {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
      align-content: flex-start;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between; }
    #heredity .heredity_img {
      flex: 0 1 40%;
      width: 40%;
      max-width: 40%;
      margin: 0; }
    #heredity .heredity_txt {
      flex: 0 1 55%;
      width: 55%;
      max-width: 55%; }
    #heredity .heredity_btn-wp {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-flow: row wrap;
      -ms-flex-flow: row wrap;
      flex-flow: row wrap;
      -webkit-box-align: stretch;
      -webkit-align-items: stretch;
      -ms-flex-align: stretch;
      align-items: stretch;
      -webkit-align-content: flex-start;
      -ms-flex-line-pack: start;
      align-content: flex-start;
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin-top: 40px;
      padding: 0 20px; }
      #heredity .heredity_btn-wp .heredity_btn {
        flex: 0 1 47%;
        width: 47%;
        max-width: 47%; }
        #heredity .heredity_btn-wp .heredity_btn a {
          max-width: none;
          margin: 0; }

  #faq .flow_list {
    margin-bottom: 65px; }
    #faq .flow_list label {
      padding: 25px 60px 25px 20px;
      transition: 0.3s; }
      #faq .flow_list label:hover {
        opacity: 0.7;
        transition: 0.3s; }
    #faq .flow_list .flow_answer {
      padding: 25px 20px; }
      #faq .flow_list .flow_answer .flex_wrap .flow_answer-img {
        flex: 0 1 48%;
        width: 48%;
        max-width: 48%;
        margin-bottom: 0;
        text-align: center; }
      #faq .flow_list .flow_answer .flex_wrap .flow_answer-txt {
        flex: 0 1 48%;
        width: 48%;
        max-width: 48%; } }
/*------------------------------
		901px以上
------------------------------*/
@media screen and (min-width: 901px) {
  #contents .tab_only {
    display: block; }
  #contents .sp_tab_only {
    display: block; }

  #offer .offer_ttl {
    margin-bottom: 70px; } }
@media screen and (min-width: 1000px) {
  #contents .tab_only {
    display: none; }
  #contents .sp_tab_only {
    display: none; } }
/*------------------------------
		1281px以上
------------------------------*/
