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

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

.w1220 {
  box-sizing: border-box;
  width: 100%;
  max-width: 1220px;
  margin: auto;
  padding: 0 4%; }

#message, .pagelink, #about, #rate, #features, #price, #schedule, #before, #subsidy, #last {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }

#contents {
  background: #FFFDF5; }
  #contents .sec__ttl, #contents .sec__subttl, #contents .message__txt {
    font-family: YuMincho, "游明朝", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", serif;
    font-weight: 500; }
  #contents .sec__ttl {
    margin-bottom: min(4vw, 35px);
    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 {
    color: #2C377E;
    font-size: 1.8rem;
    text-align: center;
    line-height: 1.25;
    letter-spacing: .06em; }
    @media (min-width: 768px) {
      #contents .sec__subttl {
        font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 1.953125 ); } }
    @media (min-width: 1280px) {
      #contents .sec__subttl {
        font-size: 2.8rem; } }
  #contents .sec__txt {
    font-size: 1.3rem;
    line-height: 1.6; }
    @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__table {
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none; }
    #contents .sec__table::-webkit-scrollbar {
      display: none; }
    #contents .sec__table table {
      width: 100%; }
    #contents .sec__table tr:first-of-type th {
      border-right: 1px solid #FFF; }
      #contents .sec__table tr:first-of-type th:last-of-type {
        border-right: none; }
    #contents .sec__table tr:nth-of-type(n+2) th {
      border-top: 1px solid #FFF; }
    #contents .sec__table tr:nth-of-type(n+3) td {
      border-top: 1px solid #EAEFF8; }
    #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 th:first-of-type {
        text-align: left; }
    #contents .sec__table td {
      background: #FFF;
      border-right: 1px solid #EAEFF8; }
  #contents figcaption {
    margin-top: 10px;
    margin-top: min(1.3vw, 10px);
    font-size: 1.1rem;
    letter-spacing: 0;
    text-align: right; }
  #contents .note {
    margin-top: min(1.5vw, 8px);
    font-size: 1.1rem;
    line-height: 1.6;
    letter-spacing: 0; }
    @media (min-width: 981px) {
      #contents .note {
        font-size: calc( 1.1rem + ( 1vw - 9.81px ) * 0.3344481605 ); } }
    @media (min-width: 1280px) {
      #contents .note {
        font-size: 1.2rem; } }
    #contents .note .red {
      color: #FF0000; }

#contents #before .sec__table .table_wrap + .table_wrap {
  margin-top: clamp(30px, 5.2vw, 50px); }
#contents #before .sec__table .table_wrap .table_ttl {
  margin-bottom: .5em;
  font-weight: bold;
  font-size: clamp(14px, 1.95vw, 16px); }
#contents #before .sec__table .table_wrap .table_cap {
  margin-top: .5em;
  font-size: 1.1rem;
  letter-spacing: 0;
  line-height: 1.5; }
#contents #before .sec__table .table_wrap table th:nth-of-type(1), #contents #before .sec__table .table_wrap table th:nth-of-type(2), #contents #before .sec__table .table_wrap table th:nth-of-type(3) {
  width: 20%; }
#contents #before .sec__table .table_wrap table th:nth-of-type(4) {
  width: 40%; }
#contents #before .sec__table .table_wrap.col_3 table th:nth-of-type(1), #contents #before .sec__table .table_wrap.col_3 table th:nth-of-type(2) {
  width: 25%; }
#contents #before .sec__table .table_wrap.col_3 table th:nth-of-type(3) {
  width: 50%; }
#contents #before .sec__table .table_wrap.col_5 table th:nth-of-type(1) {
  width: 24%; }
#contents #before .sec__table .table_wrap.col_5 table th:nth-of-type(2), #contents #before .sec__table .table_wrap.col_5 table th:nth-of-type(3), #contents #before .sec__table .table_wrap.col_5 table th:nth-of-type(4), #contents #before .sec__table .table_wrap.col_5 table th:nth-of-type(5) {
  width: 19%; }
#contents #before .sec__table .table_wrap.col_5 table td:last-of-type {
  text-align: center; }

#message {
  margin-bottom: min(12vw, 50px); }
  #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;
    font-weight: 600;
    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; }
    #message .name .name__txt {
      position: absolute;
      top: 0;
      left: 0;
      transform: translate(-50%, -50%);
      font-size: 1.1rem;
      font-weight: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif"; }
      @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; } }

.pagelink {
  margin-bottom: min(9vw, 80px); }
  .pagelink .pagelink__wp {
    display: grid;
    grid-template-columns: repeat(2, 48%);
    justify-content: space-between; }
  .pagelink .pagelink__btn {
    width: 100%;
    margin: 0; }
    .pagelink .pagelink__btn:nth-of-type(n+3) {
      margin-top: 15px; }
    .pagelink .pagelink__btn a {
      display: block;
      position: relative;
      padding: 15px;
      font-size: 1.2rem; }
      .pagelink .pagelink__btn a::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 12px;
        transform: translate(0, -50%) rotate(135deg);
        width: 5px;
        height: 5px;
        border-top: 2px solid #FFF;
        border-right: 2px solid #FFF;
        content: ''; }

#about {
  margin-bottom: min(16vw, 100px); }
  #about .about__movie {
    margin-top: min(6.5vw, 60px); }
    #about .about__movie .about__movie-txt {
      margin-bottom: min(3vw, 20px);
      font-size: 1.4rem;
      text-align: center;
      line-height: 1.5; }
      @media (min-width: 768px) {
        #about .about__movie .about__movie-txt {
          font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #about .about__movie .about__movie-txt {
          font-size: 1.6rem; } }
    #about .about__movie .about__movie-wp .about__movie-btn:nth-of-type(n+2) {
      margin-top: min(4vw, 30px); }
    #about .about__movie .about__movie-btn {
      width: 80%; }
      #about .about__movie .about__movie-btn a {
        position: relative;
        padding: 15px 5px;
        line-height: 1.4; }
        #about .about__movie .about__movie-btn a::after {
          display: block;
          position: absolute;
          top: 50%;
          right: 2%;
          transform: translate(0, -50%);
          font-size: 12px;
          font-weight: 900;
          font-family: 'Font Awesome 5 Free';
          content: "\f08e";
          content: "\f35d"; }

#rate {
  margin-bottom: min(10vw, 70px); }
  #rate .sec__subttl {
    margin-bottom: min(1.5vw, 10px); }
  #rate .sec__read {
    margin-bottom: .25em;
    font-size: 1.5rem; }
    @media (min-width: 768px) {
      #rate .sec__read {
        font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
    @media (min-width: 1280px) {
      #rate .sec__read {
        font-size: 1.8rem; } }
  #rate .sec__txt {
    margin-bottom: 1.8em; }
  #rate .sec__table {
    margin-bottom: min(5.3vw, 40px); }
    #rate .sec__table th:first-of-type {
      width: 30%;
      text-align: center; }
    #rate .sec__table th, #rate .sec__table td {
      width: 17.5%;
      font-size: 1.5rem; }
      @media (min-width: 981px) {
        #rate .sec__table th, #rate .sec__table td {
          font-size: calc( 1.5rem + ( 1vw - 9.81px ) * 2.3411371237 ); } }
      @media (min-width: 1280px) {
        #rate .sec__table th, #rate .sec__table td {
          font-size: 2.2rem; } }
  #rate .sec__img {
    margin-bottom: min(5.3vw, 40px); }
  #rate .rate__graph-txt {
    margin-bottom: min(6vw, 25px); }
  #rate .rate__graph-ttl {
    margin-top: .4em;
    margin-bottom: .4em;
    font-size: 1.5rem;
    font-weight: bold; }
    @media (min-width: 768px) {
      #rate .rate__graph-ttl {
        font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
    @media (min-width: 1280px) {
      #rate .rate__graph-ttl {
        font-size: 1.8rem; } }
  #rate .rate__graph-txt {
    line-height: 1.73; }
  #rate .flow {
    margin-top: min(10vw, 80px); }
    #rate .flow .sec__subttl {
      margin-bottom: min(8vw, 50px); }
    #rate .flow .flow__box {
      margin-bottom: 25px;
      padding: 20px 30px 30px;
      border-radius: 16px; }
      #rate .flow .flow__box.yel {
        background: #FFF8D5; }
        #rate .flow .flow__box.yel .flow__ttl {
          color: #EB702F; }
        #rate .flow .flow__box.yel .flow__list li::after {
          background: #FF8443; }
      #rate .flow .flow__box.blu {
        background: #EAEFF8; }
        #rate .flow .flow__box.blu .flow__ttl {
          color: #2C377E; }
        #rate .flow .flow__box.blu .flow__list li::after {
          background: #2C377E; }
      #rate .flow .flow__box:last-of-type {
        margin-bottom: 0; }
      #rate .flow .flow__box .flow__ttl {
        margin-bottom: 1em;
        font-size: 1.5rem;
        text-align: center;
        line-height: 1.6; }
        @media (min-width: 768px) {
          #rate .flow .flow__box .flow__ttl {
            font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
        @media (min-width: 1280px) {
          #rate .flow .flow__box .flow__ttl {
            font-size: 1.8rem; } }
      #rate .flow .flow__box .flow__list li {
        position: relative;
        margin-bottom: 25px;
        padding: .65em 5px;
        box-sizing: border-box;
        background: #FFF;
        border-radius: 6px;
        font-size: 1.5rem;
        filter: drop-shadow(0 0 7px rgba(0, 0, 0, 0.1));
        text-align: center; }
        @media (min-width: 768px) {
          #rate .flow .flow__box .flow__list li {
            font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
        @media (min-width: 1280px) {
          #rate .flow .flow__box .flow__list li {
            font-size: 1.8rem; } }
        #rate .flow .flow__box .flow__list li:last-of-type {
          margin-bottom: 0; }
          #rate .flow .flow__box .flow__list li:last-of-type::after {
            display: none; }
        #rate .flow .flow__box .flow__list li::after {
          display: block;
          position: absolute;
          top: calc(100% + 12.5px);
          left: 50%;
          transform: translate(-50%, -50%);
          width: 15px;
          height: 10px;
          clip-path: polygon(50% 100%, 0 0, 100% 0);
          content: ''; }

#features {
  margin-bottom: min(21vw, 120px); }
  #features .sec__ttl {
    margin-bottom: min(3vw, 40px); }
  #features .sec__subttl {
    margin-bottom: min(3vw, 30px); }
  #features .point {
    margin-bottom: min(12vw, 75px); }
  #features .point__box {
    margin-bottom: min(12vw, 60px); }
    #features .point__box .point__ttl {
      font-size: 1.6rem;
      line-height: 1.5;
      text-align: center;
      font-weight: normal; }
      @media (min-width: 768px) {
        #features .point__box .point__ttl {
          font-size: calc( 1.6rem + ( 1vw - 7.68px ) * 1.3671875 ); } }
      @media (min-width: 1280px) {
        #features .point__box .point__ttl {
          font-size: 2.3rem; } }
      #features .point__box .point__ttl .point__num {
        display: block;
        font-size: .87em;
        line-height: 2; }
    #features .point__box .point__txt {
      font-size: 1.3rem;
      line-height: 1.6; }
      @media (min-width: 768px) {
        #features .point__box .point__txt {
          font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #features .point__box .point__txt {
          font-size: 1.5rem; } }
    #features .point__box .point__flex {
      margin-top: min(4vw, 35px);
      margin-bottom: min(8vw, 45px); }
      #features .point__box .point__flex .sec__txt {
        margin-top: 10px;
        line-height: 1.6; }
    #features .point__box .point__btn {
      width: 80%; }
    #features .point__box.point__02 .point__ttl {
      margin-bottom: min(4vw, 35px); }
    #features .point__box.point__02 .point__txt {
      margin-bottom: min(4vw, 35px); }
    #features .point__box.point__03 .point__ttl {
      margin-bottom: min(2.5vw, 15px); }
    #features .point__box.point__03 .point__txt {
      margin-bottom: 1.4em; }
    #features .point__box.point__03 .point__img {
      margin-bottom: min(8vw, 50px); }
    #features .point__box.point__04 .point__ttl {
      margin-bottom: min(4vw, 30px); }
    #features .point__box.point__04 .point__txt {
      margin-bottom: min(4vw, 30px); }
    #features .point__box.point__04 .point__if {
      margin-top: min(5.33vw, 30px); }
      #features .point__box.point__04 .point__if .point__if-ttl {
        margin-bottom: min(4vw, 20px);
        text-align: center;
        font-size: 1.8rem; }
        @media (min-width: 768px) {
          #features .point__box.point__04 .point__if .point__if-ttl {
            font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 0.78125 ); } }
        @media (min-width: 1280px) {
          #features .point__box.point__04 .point__if .point__if-ttl {
            font-size: 2.2rem; } }
      #features .point__box.point__04 .point__if .point__if-wp {
        display: grid;
        grid-template-columns: repeat(2, 48%);
        justify-content: space-between;
        max-width: 580px;
        margin: 0 auto; }
        #features .point__box.point__04 .point__if .point__if-wp .point__if-img {
          filter: drop-shadow(0 0 17px rgba(0, 0, 0, 0.1)); }
    #features .point__box.point__05 .point__txt {
      margin-top: 10px; }
    #features .point__box.point__05 .point__btn-wp .point__btn-txt {
      margin-bottom: .65em;
      text-align: center; }

#merit {
  background: #FAF7EA;
  padding: min(10vw, 100px) 0; }
  #merit .sec__subttl {
    margin-bottom: min(6vw, 60px);
    line-height: 1.8; }
  #merit .merit__list {
    display: grid;
    grid-template-columns: repeat(2, 47.5%);
    justify-content: space-between; }
    #merit .merit__list li:nth-of-type(n+3) {
      margin-top: min(8vw, 80px); }
    #merit .merit__list li .merit__list-ttl {
      font-size: 1.4rem;
      text-align: center;
      line-height: 1.66; }
      @media (min-width: 768px) {
        #merit .merit__list li .merit__list-ttl {
          font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.78125 ); } }
      @media (min-width: 1280px) {
        #merit .merit__list li .merit__list-ttl {
          font-size: 1.8rem; } }
    #merit .merit__list li .merit__list-txt {
      font-size: 1.2rem; }
      @media (min-width: 768px) {
        #merit .merit__list li .merit__list-txt {
          font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
      @media (min-width: 1280px) {
        #merit .merit__list li .merit__list-txt {
          font-size: 1.5rem; } }
    #merit .merit__list li .merit__list-img {
      width: 65%;
      margin: 15px auto; }
    #merit .merit__list li .merit__list-txt {
      line-height: 1.85; }

#price {
  margin-bottom: min(12vw, 110px);
  overflow: hidden; }
  #price .sec__ttl {
    margin-bottom: .5em; }
  #price .sec__txt {
    margin-bottom: 2em;
    text-align: center; }
  #price .first {
    margin-bottom: min(10vw, 50px); }
    #price .first li {
      position: relative;
      margin-bottom: 6em; }
    #price .first .first__ttl {
      margin-bottom: .9em;
      font-size: 1.8rem;
      text-align: center; }
      @media (min-width: 768px) {
        #price .first .first__ttl {
          font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 0.78125 ); } }
      @media (min-width: 1280px) {
        #price .first .first__ttl {
          font-size: 2.2rem; } }
    #price .first .first__img {
      position: relative;
      filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.15)); }
      #price .first .first__img:nth-of-type(n+2) {
        margin-top: 20%; }
      #price .first .first__img:last-of-type::after {
        display: none; }
      #price .first .first__img::after {
        display: block;
        position: absolute;
        bottom: -20%;
        left: 50%;
        transform: translate(-50%, 50%);
        width: min(8vw, 48px);
        aspect-ratio: 48/31;
        background: #2C377E;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        content: ''; }
      #price .first .first__img .badge {
        position: absolute;
        top: 0;
        right: 0;
        transform: translate(10%, -20%);
        width: 26%; }
  #price .opu .sec__ttl {
    margin-bottom: 1em;
    color: #333333;
    font-size: 1.8rem; }
    @media (min-width: 768px) {
      #price .opu .sec__ttl {
        font-size: calc( 1.8rem + ( 1vw - 7.68px ) * 0.78125 ); } }
    @media (min-width: 1280px) {
      #price .opu .sec__ttl {
        font-size: 2.2rem; } }
  #price .opu .opu__box:nth-of-type(n+2) {
    margin-top: 30px; }
  #price .opu .opu__box .opu__ttl {
    margin-bottom: .8em;
    padding-left: .5em;
    box-sizing: border-box;
    border-left: 3px solid #707070;
    font-size: 1.5rem;
    line-height: 1.6; }
    @media (min-width: 768px) {
      #price .opu .opu__box .opu__ttl {
        font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
    @media (min-width: 1280px) {
      #price .opu .opu__box .opu__ttl {
        font-size: 1.8rem; } }
  #price .opu .opu__box .sec__table table {
    min-width: 580px; }
  #price .opu .opu__box .sec__table th:first-of-type {
    width: 22.5%;
    text-align: left; }
  #price .opu .opu__set {
    margin-top: min(8vw, 50px);
    background: #FFF;
    padding: min(5.5vw, 30px) min(4vw, 25px) min(5.5vw, 35px);
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.05)); }
    #price .opu .opu__set .opu__set-ttl {
      margin-bottom: 5px;
      font-size: 1.4rem;
      font-weight: bold;
      line-height: 1.6; }
      @media (min-width: 768px) {
        #price .opu .opu__set .opu__set-ttl {
          font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #price .opu .opu__set .opu__set-ttl {
          font-size: 1.6rem; } }
    #price .opu .opu__set .opu__set-txt {
      margin-bottom: 15px;
      line-height: 1.8; }
    #price .opu .opu__set .opu__set-list li {
      padding-left: 1em;
      box-sizing: border-box;
      font-size: 1.2rem; }
      @media (min-width: 768px) {
        #price .opu .opu__set .opu__set-list li {
          font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #price .opu .opu__set .opu__set-list li {
          font-size: 1.4rem; } }
      #price .opu .opu__set .opu__set-list li:nth-of-type(n+2) {
        margin-top: min(4vw, 15px); }
      #price .opu .opu__set .opu__set-list li .ttl {
        display: block;
        position: relative;
        margin-bottom: .15em;
        font-size: 1.3rem;
        font-weight: bold;
        line-height: 1.6; }
        @media (min-width: 768px) {
          #price .opu .opu__set .opu__set-list li .ttl {
            font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
        @media (min-width: 1280px) {
          #price .opu .opu__set .opu__set-list li .ttl {
            font-size: 1.5rem; } }
        #price .opu .opu__set .opu__set-list li .ttl::before {
          display: block;
          position: absolute;
          top: .5em;
          left: -.5em;
          transform: translate(-50%, 25%);
          width: 6px;
          height: 6px;
          border-radius: 6px;
          background: #182579;
          content: ''; }
        #price .opu .opu__set .opu__set-list li .ttl span {
          font-size: 1.2rem;
          font-weight: 500; }
          @media (min-width: 768px) {
            #price .opu .opu__set .opu__set-list li .ttl span {
              font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.390625 ); } }
          @media (min-width: 1280px) {
            #price .opu .opu__set .opu__set-list li .ttl span {
              font-size: 1.4rem; } }
    #price .opu .opu__set .opu__set-etc {
      margin-top: min(6.5vw, 30px);
      padding-top: min(3.5vw, 20px);
      border-top: 1px solid #707070; }
      #price .opu .opu__set .opu__set-etc .opu__set-list li .ttl::before {
        background: #FF8443; }
  #price .opu .opu__note {
    font-size: 1.1rem;
    line-height: 1.7; }
    @media (min-width: 768px) {
      #price .opu .opu__note {
        font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #price .opu .opu__note {
        font-size: 1.3rem; } }

#schedule {
  margin-bottom: min(10vw, 80px); }
  #schedule .sec__ttl {
    margin-bottom: min(4vw, 35px); }
  #schedule .flow {
    margin-bottom: 35px;
    counter-reset: number 0; }
    #schedule .flow .flow__box {
      position: relative;
      width: calc(100% - 50px);
      margin-left: auto;
      padding: min(2.5vw, 30px) min(4vw, 30px);
      background: #FFF;
      border-radius: 6px;
      box-sizing: border-box;
      filter: drop-shadow(0 0 5px rgba(0, 0, 0, 0.1)); }
      #schedule .flow .flow__box::before, #schedule .flow .flow__box::after {
        display: block;
        position: absolute;
        left: -25px; }
      #schedule .flow .flow__box::before {
        top: 0;
        transform: translate(-50%, 0);
        width: 2.44em;
        height: 2.4em;
        background: #2C377E;
        border-radius: 2.44em;
        color: #FFF;
        font-size: 1.2rem;
        letter-spacing: 0;
        line-height: 2.44em;
        text-align: center;
        counter-increment: number 1;
        content: counter(number) " "; }
      #schedule .flow .flow__box::after {
        bottom: 0;
        transform: translate(0, 12px);
        background: linear-gradient(to top, #000 2px, transparent 2px);
        background-repeat: repeat-y;
        background-position: left top;
        background-size: 2px 6px;
        height: calc(100% - 40px + 12px);
        width: 2px;
        content: ''; }
      #schedule .flow .flow__box:nth-of-type(n+2) {
        margin-top: 30px; }
      #schedule .flow .flow__box .flow__ttl {
        margin-bottom: min(1.5vw, 10px);
        font-size: 1.5rem;
        font-weight: bold;
        text-align: left; }
        @media (min-width: 768px) {
          #schedule .flow .flow__box .flow__ttl {
            font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
        @media (min-width: 1280px) {
          #schedule .flow .flow__box .flow__ttl {
            font-size: 1.8rem; } }
        #schedule .flow .flow__box .flow__ttl .flow__tag {
          display: inline-block;
          margin-left: 1em;
          padding: .25em .5em;
          box-sizing: border-box;
          border: 1px solid #FF8443;
          border-radius: 2em;
          color: #FF8443;
          font-size: 1.2rem;
          font-weight: normal;
          line-height: 1; }
          @media (min-width: 768px) {
            #schedule .flow .flow__box .flow__ttl .flow__tag {
              font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.390625 ); } }
          @media (min-width: 1280px) {
            #schedule .flow .flow__box .flow__ttl .flow__tag {
              font-size: 1.4rem; } }
          #schedule .flow .flow__box .flow__ttl .flow__tag.blu {
            border-color: #2C377E;
            color: #2C377E; }
      #schedule .flow .flow__box .flow__txt {
        font-size: 1.3rem;
        line-height: 1.6; }
        @media (min-width: 768px) {
          #schedule .flow .flow__box .flow__txt {
            font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
        @media (min-width: 1280px) {
          #schedule .flow .flow__box .flow__txt {
            font-size: 1.5rem; } }
    #schedule .flow .flow__note {
      width: calc(100% - 50px);
      margin-left: auto; }
  #schedule .schedule__note {
    padding: min(5.3vw, 40px) min(5.3vw, 40px) min(4vw, 30px);
    background: #FFF;
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.05)); }
    #schedule .schedule__note-ttl {
      margin-bottom: min(10vw, 20px);
      color: #2C377E;
      font-size: 1.3rem;
      text-align: center;
      line-height: 1.6; }
      @media (min-width: 768px) {
        #schedule .schedule__note-ttl {
          font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #schedule .schedule__note-ttl {
          font-size: 1.5rem; } }
    #schedule .schedule__note-list li {
      font-size: 1.2rem; }
      @media (min-width: 768px) {
        #schedule .schedule__note-list li {
          font-size: calc( 1.2rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #schedule .schedule__note-list li {
          font-size: 1.4rem; } }
      #schedule .schedule__note-list li:nth-of-type(n+2) {
        margin-top: min(2.5vw, 10px); }
      #schedule .schedule__note-list li .bold {
        font-weight: bold; }
    #schedule .schedule__note-attent {
      margin-top: min(5vw, 22px);
      font-size: 1.1rem;
      line-height: 1.6; }
      @media (min-width: 768px) {
        #schedule .schedule__note-attent {
          font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.1953125 ); } }
      @media (min-width: 1280px) {
        #schedule .schedule__note-attent {
          font-size: 1.2rem; } }

#before {
  margin-bottom: min(12vw, 100px); }
  #before .before__box:nth-of-type(n+2) {
    margin-top: min(8vw, 40px); }
  #before .before__box.risk .before__box-subttl:nth-of-type(n+2) {
    margin-top: min(4vw, 15px); }
  #before .before__box-ttl {
    margin-bottom: .5em;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.6;
    text-align: left; }
    @media (min-width: 768px) {
      #before .before__box-ttl {
        font-size: calc( 1.6rem + ( 1vw - 7.68px ) * 0.78125 ); } }
    @media (min-width: 1280px) {
      #before .before__box-ttl {
        font-size: 2rem; } }
  #before .before__box-subttl {
    margin-bottom: .25em;
    font-size: 1.4rem;
    line-height: 1.6;
    font-weight: bold; }
    @media (min-width: 768px) {
      #before .before__box-subttl {
        font-size: calc( 1.4rem + ( 1vw - 7.68px ) * 0.78125 ); } }
    @media (min-width: 1280px) {
      #before .before__box-subttl {
        font-size: 1.8rem; } }
  #before .before__box-txt {
    font-size: 1.3rem;
    line-height: 1.6; }
    @media (min-width: 768px) {
      #before .before__box-txt {
        font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
    @media (min-width: 1280px) {
      #before .before__box-txt {
        font-size: 1.5rem; } }
    #before .before__box-txt .ast {
      margin-left: -.5em;
      font-size: .6em;
      vertical-align: text-top; }
  #before .before__box-img {
    margin: min(5.5vw, 40px) auto min(5vw, 40px); }
  #before .before__box-list {
    margin: min(4vw, 22px) auto min(2.5vw, 15px);
    padding: min(4vw, 30px) min(4vw, 40px);
    box-sizing: border-box;
    background: #FFF;
    filter: drop-shadow(0 0 6px rgba(0, 0, 0, 0.05)); }
    #before .before__box-list li {
      position: relative;
      padding-left: 1.5em;
      font-size: 1.3rem;
      line-height: 1.6; }
      @media (min-width: 768px) {
        #before .before__box-list li {
          font-size: calc( 1.3rem + ( 1vw - 7.68px ) * 0.390625 ); } }
      @media (min-width: 1280px) {
        #before .before__box-list li {
          font-size: 1.5rem; } }
      #before .before__box-list li:nth-of-type(n+2) {
        margin-top: min(1.5vw, 10px); }
      #before .before__box-list li::before {
        display: block;
        position: absolute;
        top: .8em;
        left: 0;
        transform: translate(0, -50%);
        width: .9em;
        height: .9em;
        background: #2C377E;
        box-sizing: border-box;
        border-radius: 2em;
        content: ''; }
      #before .before__box-list li span {
        color: #2C377E; }
  #before .before__box .sec__table {
    margin-top: min(2.5vw, 15px); }
    #before .before__box .sec__table .before__box-subttl {
      margin-bottom: min(1.5vw, 10px); }
    #before .before__box .sec__table table {
      min-width: 500px; }
    #before .before__box .sec__table th:first-of-type {
      width: 18%;
      padding: min(4vw, 20px) min(2.5vw, 22px);
      text-align: left; }
    #before .before__box .sec__table td:first-of-type {
      width: 24%; }
    #before .before__box .sec__table td:last-of-type {
      text-align: left; }
    #before .before__box .sec__table .ast {
      display: inline-block;
      margin-top: .6em;
      font-size: 1.1rem;
      line-height: 1.5; }
      @media (min-width: 768px) {
        #before .before__box .sec__table .ast {
          font-size: calc( 1.1rem + ( 1vw - 7.68px ) * 0.1953125 ); } }
      @media (min-width: 1280px) {
        #before .before__box .sec__table .ast {
          font-size: 1.2rem; } }
  #before .before__box .flow__box {
    margin-top: min(5.33vw, 20px);
    margin-bottom: 20px;
    padding: 20px 30px 30px;
    border-radius: 16px; }
    #before .before__box .flow__box.yel {
      background: #FFF8D5; }
      #before .before__box .flow__box.yel .flow__ttl {
        color: #EB702F; }
      #before .before__box .flow__box.yel .flow__list li::after {
        background: #FF8443; }
    #before .before__box .flow__box.blu {
      background: #EAEFF8; }
      #before .before__box .flow__box.blu .flow__ttl {
        color: #2C377E; }
      #before .before__box .flow__box.blu .flow__list li::after {
        background: #2C377E; }
    #before .before__box .flow__box:last-of-type {
      margin-bottom: 0; }
    #before .before__box .flow__box .flow__ttl {
      margin-bottom: 1em;
      font-size: 1.5rem;
      text-align: center;
      line-height: 1.6; }
      @media (min-width: 768px) {
        #before .before__box .flow__box .flow__ttl {
          font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
      @media (min-width: 1280px) {
        #before .before__box .flow__box .flow__ttl {
          font-size: 1.8rem; } }
    #before .before__box .flow__box .flow__list li {
      position: relative;
      margin-bottom: 25px;
      padding: .65em 5px;
      box-sizing: border-box;
      background: #FFF;
      border-radius: 6px;
      font-size: 1.5rem;
      filter: drop-shadow(0 0 7px rgba(0, 0, 0, 0.1));
      text-align: center; }
      @media (min-width: 768px) {
        #before .before__box .flow__box .flow__list li {
          font-size: calc( 1.5rem + ( 1vw - 7.68px ) * 0.5859375 ); } }
      @media (min-width: 1280px) {
        #before .before__box .flow__box .flow__list li {
          font-size: 1.8rem; } }
      #before .before__box .flow__box .flow__list li:last-of-type {
        margin-bottom: 0; }
        #before .before__box .flow__box .flow__list li:last-of-type::after {
          display: none; }
      #before .before__box .flow__box .flow__list li::after {
        display: block;
        position: absolute;
        top: calc(100% + 12.5px);
        left: 50%;
        transform: translate(-50%, -50%);
        width: 15px;
        height: 10px;
        clip-path: polygon(50% 100%, 0 0, 100% 0);
        content: ''; }
  #before .before__note {
    margin-top: min(4vw, 30px); }

#subsidy {
  margin-bottom: min(12vw, 100px); }

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

.reserve__btn {
  display: block;
  position: fixed;
  left: 50%;
  bottom: 60px;
  transform: translate(-50%, 0);
  z-index: 10000;
  width: 100%;
  border-bottom: 1px solid #FFF; }
  .reserve__btn a {
    max-width: none;
    padding: 13px;
    font-size: 1.6rem;
    font-weight: bold; }
    .reserve__btn a .br1300 {
      display: none; }

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) {
  #contents .note {
    text-align: right; }

  #about .about__movie .about__movie-btn a::after {
    right: 5%; }

  #about .about__movie .about__movie-wp {
    display: flex;
    justify-content: space-between; }
    #about .about__movie .about__movie-wp .about__movie-btn {
      width: 48%;
      max-width: none;
      margin: 0; }
      #about .about__movie .about__movie-wp .about__movie-btn a {
        display: grid;
        place-content: center;
        max-width: none;
        width: 100%;
        height: 100%;
        margin: 0; }
      #about .about__movie .about__movie-wp .about__movie-btn:nth-of-type(n+2) {
        margin: 0; }

  .pagelink .pagelink__wp {
    grid-template-columns: repeat(4, 22.2%); }
    .pagelink .pagelink__wp .pagelink__btn:nth-of-type(3), .pagelink .pagelink__wp .pagelink__btn:nth-of-type(4) {
      margin-top: 0; }
    .pagelink .pagelink__wp .pagelink__btn:nth-of-type(n+5) {
      margin-top: 20px; }
    .pagelink .pagelink__wp .pagelink__btn a::after {
      right: 7.5%; }

  #rate .sec__table th, #rate .sec__table td {
    width: 20%; }
  #rate .sec__table th:first-of-type {
    width: 20%; }
  #rate .rate__graph-wp {
    display: flex;
    justify-content: space-between; }
    #rate .rate__graph-wp .rate__graph-img {
      width: 50%; }
    #rate .rate__graph-wp .rate__graph-cont {
      width: 46.7%; }
      #rate .rate__graph-wp .rate__graph-cont .rate__graph-ttl {
        margin-top: 0; }
      #rate .rate__graph-wp .rate__graph-cont .rate__graph-txt {
        margin-bottom: 0; }
  #rate .flow .flow__wp {
    display: grid;
    grid-template-columns: repeat(2, 47.7%);
    justify-content: space-between;
    align-items: flex-start; }
  #rate .flow .flow__box {
    margin: 0; }

  #features .point__box .point__flex {
    display: flex;
    justify-content: space-between; }
    #features .point__box .point__flex .point__img {
      width: 46.2%; }
    #features .point__box .point__flex .sec__txt, #features .point__box .point__flex .point__txt {
      width: 50%;
      margin: 0; }

  #merit .merit__list {
    grid-template-columns: repeat(3, 31.5%); }
    #merit .merit__list li:nth-of-type(3) {
      margin-top: 0; }

  #price .first .first__img:nth-of-type(n+2) {
    margin-top: 80px; }
  #price .first .first__img::after {
    bottom: -40px; }
  #price .opu .opu__box .sec__table th {
    padding: 15px; }
    #price .opu .opu__box .sec__table th:first-of-type {
      width: 24%; }
  #price .opu .opu__box .sec__table td {
    width: 19%; }
  #price .opu .opu__set .opu__set-etc .opu__set-list {
    display: flex;
    flex-wrap: wrap; }
    #price .opu .opu__set .opu__set-etc .opu__set-list li {
      width: 100%; }
      #price .opu .opu__set .opu__set-etc .opu__set-list li.w50 {
        display: flex;
        width: 45%; }
        #price .opu .opu__set .opu__set-etc .opu__set-list li.w50 .ttl {
          width: 74%;
          max-width: 230px;
          margin: 0; }

  #schedule .flow .flow__box {
    width: calc(100% - 75px); }
    #schedule .flow .flow__box::before, #schedule .flow .flow__box::after {
      left: -37.5px; }
    #schedule .flow .flow__box::before {
      font-size: 1.8rem; }
    #schedule .flow .flow__box::after {
      height: calc(100% - 60px + 12px); }
  #schedule .flow .flow__note {
    width: calc(100% - 75px); }

  #before .before__box .sec__table th:first-child {
    width: 16%;
    padding: 15px 20px; }
  #before .before__box .sec__table td:first-of-type {
    width: 18%; }
  #before .sec__note {
    text-align: left; } }
/*------------------------------
		901px以上
------------------------------*/
@media screen and (min-width: 901px) {
  .w1220 {
    padding: 0 6%; }

  #merit .merit__list {
    grid-template-columns: repeat(3, 32%); } }
/*------------------------------
		1281px以上
------------------------------*/
@media screen and (min-width: 1281px) {
  .w1220 {
    padding: 0 5%; }

  #merit .merit__list {
    grid-template-columns: repeat(3, 29%); } }
@media screen and (min-width: 1300px) {
  .reserve__btn {
    display: block;
    bottom: 40px;
    left: auto;
    right: calc(4% + 80px);
    transform: translate(0, 0);
    width: 16%;
    max-width: 450px;
    margin: 0;
    border: none; }
    .reserve__btn a {
      font-weight: 600;
      font-size: 1.6rem;
      line-height: 1.5; } }
    @media screen and (min-width: 1300px) and (min-width: 1301px) {
      .reserve__btn a {
        font-size: calc( 1.6rem + ( 1vw - 13.01px ) * 0.3231017771 ); } }
    @media screen and (min-width: 1300px) and (min-width: 1920px) {
      .reserve__btn a {
        font-size: 1.8rem; } }
@media screen and (min-width: 1300px) {
      .reserve__btn a .br1300 {
        display: block; } }
@media screen and (min-width: 1400px) {
  .w1220 {
    padding: 0; } }
