@charset "UTF-8";
/* CSS Document */
/* Scss Document */
/* Scss Document */
.btn {
  margin: 0 auto; }

.ast {
  font-size: .6em;
  vertical-align: text-top; }

#contents .sec_ttl, #contents .sec_subttl {
  font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif;
  font-weight: 500; }
#contents .sec_ttl {
  margin-bottom: min(6.66vw, 30px);
  color: #2C377E;
  font-size: 2rem;
  text-align: center;
  line-height: 1.25; }
  @media (min-width: 768px) {
    #contents .sec_ttl {
      font-size: calc( 2rem + ( 1vw - 7.68px ) * 3.125 ); } }
  @media (min-width: 1280px) {
    #contents .sec_ttl {
      font-size: 3.6rem; } }
#contents .sec_subttl {
  margin-bottom: .75em;
  color: #2C377E;
  font-size: 2rem;
  text-align: center;
  line-height: 1.5;
  letter-spacing: .06em; }
  @media (min-width: 768px) {
    #contents .sec_subttl {
      font-size: calc( 2rem + ( 1vw - 7.68px ) * 0.78125 ); } }
  @media (min-width: 1280px) {
    #contents .sec_subttl {
      font-size: 2.4rem; } }
#contents .sec_read {
  margin-bottom: 40px;
  color: #2C377E;
  font-size: 1.5rem;
  text-align: center;
  line-height: 1.86; }
  @media (min-width: 768px) {
    #contents .sec_read {
      font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 1.3671875 ); } }
  @media (min-width: 1280px) {
    #contents .sec_read {
      font-size: 2.2rem; } }
#contents .sec_txt {
  font-size: 1.3rem;
  line-height: 1.6;
  text-align: center;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 500; }
  @media (min-width: 768px) {
    #contents .sec_txt {
      font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
  @media (min-width: 1280px) {
    #contents .sec_txt {
      font-size: 1.5rem; } }
#contents .sec_note {
  font-size: 1.1rem;
  line-height: 1.82;
  letter-spacing: .06em;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 500; }
  @media (min-width: 768px) {
    #contents .sec_note {
      font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.390625 ); } }
  @media (min-width: 1280px) {
    #contents .sec_note {
      font-size: 1.3rem; } }
#contents .sec_table {
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  #contents .sec_table::-webkit-scrollbar {
    display: none; }
  #contents .sec_table table {
    width: 100%;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 500; }
  #contents .sec_table th, #contents .sec_table td {
    padding: min(4vw, 20px) min(2.5vw, 15px);
    font-size: 1.3rem;
    text-align: center;
    vertical-align: middle;
    line-height: 1.25; }
    @media (min-width: 981px) {
      #contents .sec_table th, #contents .sec_table td {
        font-size: calc( 1.3rem + ( 1vw - 9.81px ) * 0.6688963211 ); } }
    @media (min-width: 1280px) {
      #contents .sec_table th, #contents .sec_table td {
        font-size: 1.5rem; } }
  #contents .sec_table th {
    background: #EAEFF8;
    font-weight: normal; }
  #contents .sec_table td {
    background: #FFF; }

#message {
  margin-bottom: min(12vw, 100px); }
  #message .sec_ttl {
    margin-bottom: min(5vw, 45px);
    font-size: 2.2rem; }
    @media (min-width: 768px) {
      #message .sec_ttl {
        font-size: calc( 2.2rem + ( 1vw - 7.68px ) * 3.515625 ); } }
    @media (min-width: 1280px) {
      #message .sec_ttl {
        font-size: 4rem; } }
  #message .message_txt {
    margin-bottom: min(8vw, 55px);
    font-size: 1.3rem;
    text-align: center;
    letter-spacing: .11em;
    line-height: 2; }
    @media (min-width: 768px) {
      #message .message_txt {
        font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #message .message_txt {
        font-size: 1.5rem; } }
  #message .name {
    max-width: 170px;
    max-width: min(37vw, 170px);
    margin: 0 min(3vw, 30px) 0 auto;
    position: relative;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 500; }
    #message .name .name_txt {
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(-50%, -50%);
      font-size: 1.1rem;
      font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
      font-weight: 500; }
      @media (min-width: 768px) {
        #message .name .name_txt {
          font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.1953125 ); } }
      @media (min-width: 1280px) {
        #message .name .name_txt {
          font-size: 1.2rem; } }

#about {
  margin-bottom: min(13.33vw, 90px); }
  #about .feature {
    margin-bottom: min(10.66vw, 70px); }
    #about .feature .feature_list {
      padding: 30px min(5.22vw, 55px);
      background: #FFF;
      box-sizing: border-box; }
      #about .feature .feature_list li {
        font-size: 1.4rem;
        letter-spacing: .06em;
        line-height: 1.5;
        font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
        font-weight: 500; }
        @media (min-width: 768px) {
          #about .feature .feature_list li {
            font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.1953125 ); } }
        @media (min-width: 1280px) {
          #about .feature .feature_list li {
            font-size: 1.5rem; } }
        #about .feature .feature_list li::before {
          display: inline-block;
          width: 25px;
          aspect-ratio: 25/20;
          margin-right: 5px;
          vertical-align: middle;
          background: url("/img/ft/icon_check.svg") center/cover no-repeat;
          content: ''; }
        #about .feature .feature_list li:nth-of-type(n+2) {
          margin-top: 1em; }
  #about .flow .sec_subttl {
    margin-bottom: 1.25em; }
  #about .flow .flow_wp .flow_box {
    position: relative;
    margin-bottom: 60px; }
    #about .flow .flow_wp .flow_box::after {
      position: absolute;
      left: 50%;
      bottom: -30px;
      transform: translate(-50%, 50%);
      width: 63px;
      height: 20px;
      background: #2C377E;
      clip-path: polygon(50% 100%, 0 0, 100% 0);
      content: ''; }
    #about .flow .flow_wp .flow_box:last-of-type {
      margin-bottom: 0; }
      #about .flow .flow_wp .flow_box:last-of-type::after {
        display: none; }
    #about .flow .flow_wp .flow_box .flow_txt {
      margin-top: 20px;
      font-size: 1.3rem;
      line-height: 1.85;
      letter-spacing: .06em;
      font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
      font-weight: 500; }
      @media (min-width: 768px) {
        #about .flow .flow_wp .flow_box .flow_txt {
          font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #about .flow .flow_wp .flow_box .flow_txt {
          font-size: 1.5rem; } }
    #about .flow .flow_wp .flow_box.flow_01 .flow_img, #about .flow .flow_wp .flow_box.flow_03 .flow_img {
      width: 58.8%;
      margin: 0 auto; }

#faq {
  margin-bottom: min(13.33vw, 95px); }
  #faq .faq_list li {
    margin-bottom: min(3.2vw, 21px);
    background: #FFF;
    border-top: 1px solid #CFD7F5;
    border-bottom: 1px solid #CFD7F5;
    font-size: 1.4rem;
    line-height: 1.715;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 500; }
    @media (min-width: 768px) {
      #faq .faq_list li {
        font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.1953125 ); } }
    @media (min-width: 1280px) {
      #faq .faq_list li {
        font-size: 1.5rem; } }
    #faq .faq_list li:first-of-type .faq_cont {
      display: block; }
    #faq .faq_list li .faq_ttl {
      position: relative;
      padding: 1.15em 3.2em 1.15em 1.215em;
      box-sizing: border-box;
      color: #2C377E;
      font-size: 1.4rem;
      font-weight: bold;
      text-align: left; }
      @media (min-width: 768px) {
        #faq .faq_list li .faq_ttl {
          font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.1953125 ); } }
      @media (min-width: 1280px) {
        #faq .faq_list li .faq_ttl {
          font-size: 1.5rem; } }
      #faq .faq_list li .faq_ttl::before, #faq .faq_list li .faq_ttl::after {
        position: absolute;
        top: 50%;
        right: 30px;
        transform: translate(50%, -50%);
        width: 20px;
        height: 2px;
        background: #2C377E;
        transition: .4s;
        content: ''; }
      #faq .faq_list li .faq_ttl::after {
        transform: translate(50%, -50%) rotate(90deg); }
      #faq .faq_list li .faq_ttl.active::after {
        transform: translate(50%, -50%) rotate(180deg); }
    #faq .faq_list li .faq_cont {
      display: none;
      padding: 0 1.215em 1em;
      box-sizing: border-box; }
      #faq .faq_list li .faq_cont .faq_txt .bold {
        font-weight: bold; }
    #faq .faq_list li .faq_note {
      margin-top: 1em;
      font-size: 1.1rem;
      letter-spacing: .06em;
      line-height: 1.82; }

#price .sec_txt {
  margin-bottom: min(8vw, 40px); }
#price .copayment {
  margin-bottom: min(13.33vw, 70px); }
  #price .copayment .sec_txt {
    line-height: 1.85; }
  #price .copayment .sec_table {
    margin-bottom: min(4vw, 25px);
    border: 1px solid #707070; }
    #price .copayment .sec_table tr:nth-of-type(n+2) {
      border-top: 1px solid #707070; }
    #price .copayment .sec_table th, #price .copayment .sec_table td {
      padding-top: 20px;
      padding-bottom: 20px; }
    #price .copayment .sec_table th {
      width: 16.2%;
      border-right: 1px solid #707070; }
    #price .copayment .sec_table td {
      width: 83.8%;
      text-align: left; }
  #price .copayment .sec_note {
    margin-bottom: min(8vw, 40px); }
  #price .copayment .sec_btn-wp .sec_btn-txt {
    margin-bottom: min(2.66vw, 15px);
    font-size: 1.4rem;
    text-align: center;
    line-height: 1.715;
    letter-spacing: .06em;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
    font-weight: 500; }
    @media (min-width: 981px) {
      #price .copayment .sec_btn-wp .sec_btn-txt {
        font-size: calc( 1.4rem + ( 1vw - 9.81px ) * 0.3344481605 ); } }
    @media (min-width: 1280px) {
      #price .copayment .sec_btn-wp .sec_btn-txt {
        font-size: 1.5rem; } }
  #price .copayment .sec_btn-wp .sec_btn a {
    position: relative;
    padding: 1.2em;
    font-size: 1.6rem;
    line-height: 1.25; }
    #price .copayment .sec_btn-wp .sec_btn a::after {
      display: block;
      position: absolute;
      top: 50%;
      right: 20px;
      transform: translate(0, -50%);
      font-size: 12px;
      font-weight: 900;
      font-family: 'Font Awesome 5 Free';
      content: "\f08e";
      content: "\f35d"; }
#price .request .sec_subttl {
  margin-bottom: min(5.22vw, 45px); }
#price .request .request_wp {
  margin-bottom: min(5.22vw, 45px); }
  #price .request .request_wp .sec_txt {
    text-align: left; }
  #price .request .request_wp .request_img {
    width: 50%;
    margin: 20px auto 0; }
#price .request .sec_table-ttl {
  font-size: 1.6rem;
  letter-spacing: .06em;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: bold; }
#price .request .sec_table-txt {
  margin-bottom: .75em;
  font-size: 1.3rem;
  letter-spacing: .06em;
  line-height: 1.85;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-weight: 500; }
  @media (min-width: 981px) {
    #price .request .sec_table-txt {
      font-size: calc( 1.3rem + ( 1vw - 9.81px ) * 0.6688963211 ); } }
  @media (min-width: 1280px) {
    #price .request .sec_table-txt {
      font-size: 1.5rem; } }
#price .request .sec_table {
  margin-bottom: min(2.66vw, 15px); }
  #price .request .sec_table table {
    width: 100%;
    min-width: 665px; }
    #price .request .sec_table table th {
      padding: 10px 0;
      border: 1px solid #707070;
      line-height: 1;
      font-size: 1.6rem; }
      #price .request .sec_table table th:nth-of-type(1) {
        width: 45%; }
      #price .request .sec_table table th:nth-of-type(2) {
        width: 35%; }
      #price .request .sec_table table th:nth-of-type(3) {
        width: 20%; }
    #price .request .sec_table table td {
      padding-left: min(5.22vw, 30px);
      padding-right: min(5.22vw, 30px);
      border: 1px solid #707070;
      text-align: left;
      line-height: 1.6; }
      #price .request .sec_table table td.t_center {
        text-align: center; }

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) {
  #about .feature .feature_list {
    display: grid;
    grid-template-columns: 32% 36% 32%; }
    #about .feature .feature_list li {
      padding-left: 30px;
      text-indent: -30px; }
      #about .feature .feature_list li:nth-child(2), #about .feature .feature_list li:nth-child(3) {
        margin-top: 0; }
      #about .feature .feature_list li:nth-child(n+4) {
        margin-top: 1.5em; }
  #about .flow .flow_wp .flow_box {
    display: grid;
    grid-template-columns: 45% 45%;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 90px; }
    #about .flow .flow_wp .flow_box::after {
      bottom: -45px; }
    #about .flow .flow_wp .flow_box .flow_txt {
      margin-top: 0; }
    #about .flow .flow_wp .flow_box.flow_01 .flow_img {
      width: 68.75%; }
    #about .flow .flow_wp .flow_box.flow_03 .flow_img {
      width: 66.25%; }

  #faq .faq_list li .faq_ttl {
    padding: 1.5em 4.8em 1.5em 2em; }
  #faq .faq_list li .faq_cont {
    padding: 0 4.8em 1.5em 2em; }

  #price .copayment .sec_table th {
    width: 13.15%; }
  #price .copayment .sec_table td {
    width: 86.5%;
    padding: 20px 25px; }
  #price .request .request_wp {
    display: grid;
    grid-template-columns: 63% 33%;
    justify-content: space-between; }
    #price .request .request_wp .request_img {
      width: 100%;
      margin: 0; }
  #price .request .sec_table table {
    min-width: auto; }
    #price .request .sec_table table th:nth-of-type(1) {
      width: 41.5%; }
    #price .request .sec_table table th:nth-of-type(2) {
      width: 34.5%; }
    #price .request .sec_table table th:nth-of-type(3) {
      width: 24%; } }
/*------------------------------
		901px以上
------------------------------*/
/*------------------------------
		1281px以上
------------------------------*/
