@charset "UTF-8";
/* CSS Document */
/* Scss Document */
/* Scss Document */
.plan-ttl {
  position: relative;
  overflow: hidden;
  margin-bottom: 60px;
  color: #fff; }
  .plan-ttl .plan-ttl__wrap {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 1;
    top: calc(50% + 25px);
    text-align: center; }
  .plan-ttl .plan-ttl__en {
    font-size: 4.2rem;
    line-height: 1.2; }
    @media (min-width: 375px) {
      .plan-ttl .plan-ttl__en {
        font-size: calc( 4.2rem + ( 1vw - 3.75px ) * 4.4720496894 ); } }
    @media (min-width: 1180px) {
      .plan-ttl .plan-ttl__en {
        font-size: 7.8rem; } }
  .plan-ttl .plan-ttl__jp {
    font-size: 1.2rem; }
    @media (min-width: 375px) {
      .plan-ttl .plan-ttl__jp {
        font-size: calc( 1.2rem + ( 1vw - 3.75px ) * 0.4968944099 ); } }
    @media (min-width: 1180px) {
      .plan-ttl .plan-ttl__jp {
        font-size: 1.6rem; } }

.plan .plan__wrap {
  position: relative;
  margin-bottom: 30px;
  background: #fff;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  border: 1px solid #D6D6D6; }
  .plan .plan__wrap.new .plan__ldk {
    display: inline-block;
    position: relative; }
    .plan .plan__wrap.new .plan__ldk:after {
      display: block;
      position: absolute;
      left: 0;
      top: -18px;
      padding: 2px 5px;
      background: #F08A0A;
      color: #fff;
      content: 'NEW';
      font-size: 1.2rem; }
  .plan .plan__wrap .public__wp {
    display: block;
    margin: -5px auto 15px; }
    .plan .plan__wrap .public__wp .public {
      position: relative;
      display: inline-block;
      padding: 6px 25px 6px 15px;
      background: #F08A0A;
      border-radius: 40px;
      font-size: 1.2rem;
      color: #fff;
      line-height: 1;
      text-align: center; }
      @media (min-width: 375px) {
        .plan .plan__wrap .public__wp .public {
          font-size: calc( 1.2rem + ( 1vw - 3.75px ) * 0.248447205 ); } }
      @media (min-width: 1180px) {
        .plan .plan__wrap .public__wp .public {
          font-size: 1.4rem; } }
      .plan .plan__wrap .public__wp .public::after {
        display: block;
        position: absolute;
        top: 50%;
        right: 6px;
        transform: translate(-50%, -75%) rotate(45deg);
        width: 5px;
        height: 5px;
        border-right: 1px solid #FFF;
        border-bottom: 1px solid #FFF;
        content: ''; }
.plan .plan__name {
  position: absolute;
  left: -10px;
  top: -30px;
  width: 70%;
  max-width: 260px;
  background: url(/saito/img/plan/bg_type.svg) center right/contain no-repeat, linear-gradient(90deg, #88d2f0 0, #2f80c6 100%);
  box-shadow: 2px 2px 2px rgba(5, 120, 198, 0.3);
  font-size: 4.4rem;
  color: #fff;
  line-height: 1.3; }
  @media (min-width: 375px) {
    .plan .plan__name {
      font-size: calc( 4.4rem + ( 1vw - 3.75px ) * 2.7329192547 ); } }
  @media (min-width: 1180px) {
    .plan .plan__name {
      font-size: 6.6rem; } }
  .plan .plan__name .s-txt {
    margin-left: 5px;
    font-family: "游明朝体 Pr6N M", "Yu Mincho Pr6N M", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", serif;
    font-size: 40%; }
.plan .plan__detail {
  padding: 60px 20px 20px;
  text-align: center; }
  .plan .plan__detail .plan__ldk {
    margin-bottom: 10px;
    font-size: 4rem;
    line-height: 1; }
    @media (min-width: 375px) {
      .plan .plan__detail .plan__ldk {
        font-size: calc( 4rem + ( 1vw - 3.75px ) * 0.7453416149 ); } }
    @media (min-width: 1180px) {
      .plan .plan__detail .plan__ldk {
        font-size: 4.6rem; } }
  .plan .plan__detail .plan__size {
    display: inline-block;
    margin-bottom: 20px;
    text-align: left;
    font-size: 5rem;
    line-height: 1; }
    @media (min-width: 375px) {
      .plan .plan__detail .plan__size {
        font-size: calc( 5rem + ( 1vw - 3.75px ) * 0.7453416149 ); } }
    @media (min-width: 1180px) {
      .plan .plan__detail .plan__size {
        font-size: 5.6rem; } }
    .plan .plan__detail .plan__size .plan__size-name {
      display: block; }
    .plan .plan__detail .plan__size .s-txt {
      font-size: 30%;
      line-height: 1.3; }
    .plan .plan__detail .plan__size .ms-txt {
      font-size: 50%;
      margin-right: -15px; }
  .plan .plan__detail .plan__other-list {
    margin-bottom: 10px;
    text-align: left; }
    .plan .plan__detail .plan__other-list li {
      display: flex;
      flex-flow: row wrap;
      align-content: flex-start;
      justify-content: space-between;
      padding-top: 5px;
      border-bottom: 1px solid #EBEBEB; }
      .plan .plan__detail .plan__other-list li p {
        width: auto; }
  .plan .plan__detail .plan__attent {
    text-align: left; }
  .plan .plan__detail .plan__point-tab {
    margin: 10px 0 30px 0;
    text-align: left; }
    .plan .plan__detail .plan__point-tab li {
      padding: 10px 15px;
      background: #e5edf5;
      margin-bottom: 5px;
      border-radius: 5px;
      color: #063f78;
      font-size: 1.4rem;
      line-height: 1.1;
      padding-left: 2.7em;
      text-indent: -1.7em;
      counter-increment: count; }
      @media (min-width: 769px) {
        .plan .plan__detail .plan__point-tab li {
          font-size: calc( 1.4rem + ( 1vw - 7.69px ) * 0.2433090024 ); } }
      @media (min-width: 1180px) {
        .plan .plan__detail .plan__point-tab li {
          font-size: 1.5rem; } }
      .plan .plan__detail .plan__point-tab li:before {
        margin-right: 5px;
        color: #98b3ce;
        content: counter(count) ".";
        font-family: "Times New Roman", Times, "EB Garamond", "sans-serif";
        font-style: italic;
        font-size: 160%; }
.plan .plan__mdr {
  padding: 20px;
  background: #F5F4F4; }
  .plan .plan__mdr.sp {
    display: block; }
  .plan .plan__mdr img {
    margin-bottom: 20px; }
  .plan .plan__mdr .attent {
    color: #707070; }
.plan .plan__point {
  padding: 20px; }
  .plan .plan__point .plan__point-list li {
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px dotted #231815; }
    .plan .plan__point .plan__point-list li .plan__point-mark {
      width: auto; }
    .plan .plan__point .plan__point-list li .plan__point-copy {
      width: calc(100% - 20px);
      font-size: 1.4rem; }
      @media (min-width: 375px) {
        .plan .plan__point .plan__point-list li .plan__point-copy {
          font-size: calc( 1.4rem + ( 1vw - 3.75px ) * 0.1242236025 ); } }
      @media (min-width: 1180px) {
        .plan .plan__point .plan__point-list li .plan__point-copy {
          font-size: 1.5rem; } }
      .plan .plan__point .plan__point-list li .plan__point-copy .plan__point-mark {
        font-weight: bold;
        font-family: "游明朝体 Pr6N B", "Yu Mincho Pr6N B", "ヒラギノ明朝 Pro W6", "Hiragino Mincho Pro", serif;
        color: #2EA7E0; }
.plan .plan__back {
  margin-top: 20px; }
  .plan .plan__back a {
    display: block;
    position: relative;
    width: 100%;
    max-width: 320px;
    margin: auto;
    padding: 15px 0;
    background: linear-gradient(90deg, #96D6FA 0, #50BBEB 100%);
    color: #fff;
    text-align: center; }
  .plan .plan__back .plan__back-arrow {
    display: block;
    position: absolute;
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    left: 15px;
    width: 20px; }
    .plan .plan__back .plan__back-arrow:before, .plan .plan__back .plan__back-arrow:after {
      display: block;
      content: '';
      position: absolute;
      height: 1px;
      background: #fff; }
    .plan .plan__back .plan__back-arrow:before {
      width: 100%; }
    .plan .plan__back .plan__back-arrow:after {
      width: 8px;
      top: -3px;
      left: 0px;
      transform: rotate(-35deg); }
.plan.second .plan__name {
  background: url(/saito/img/plan/bg_type.svg) center right/contain no-repeat, linear-gradient(90deg, #82deac 0, #2d916b 100%);
  box-shadow: 2px 2px 2px rgba(89, 185, 133, 0.3); }

#simu {
  margin-top: 30px; }
  #simu .simu__ttl {
    margin-bottom: 15px;
    font-size: 1.8rem;
    letter-spacing: 0.2em; }
    @media (min-width: 375px) {
      #simu .simu__ttl {
        font-size: calc( 1.8rem + ( 1vw - 3.75px ) * 0.7453416149 ); } }
    @media (min-width: 1180px) {
      #simu .simu__ttl {
        font-size: 2.4rem; } }
  #simu .simu__price-name {
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.2; }
    #simu .simu__price-name .simu__price--s {
      font-size: 1.1rem; }
  #simu .simu__price-num {
    margin-bottom: 10px;
    text-align: center;
    font-size: 4rem;
    line-height: 1.2; }
    @media (min-width: 375px) {
      #simu .simu__price-num {
        font-size: calc( 4rem + ( 1vw - 3.75px ) * 1.7391304348 ); } }
    @media (min-width: 1180px) {
      #simu .simu__price-num {
        font-size: 5.4rem; } }
    #simu .simu__price-num .simu__price--m {
      font-size: 60%; }
  #simu .simu__ex {
    margin-bottom: 10px;
    border: 1px solid #e3ded8;
    text-align: center; }
    #simu .simu__ex .simu__ex-copy {
      padding: 5px;
      color: #a8947f;
      font-size: 1.5rem;
      line-height: 1.3; }
      @media (min-width: 375px) {
        #simu .simu__ex .simu__ex-copy {
          font-size: calc( 1.5rem + ( 1vw - 3.75px ) * 0.1709401709 ); } }
      @media (min-width: 960px) {
        #simu .simu__ex .simu__ex-copy {
          font-size: 1.6rem; } }
      #simu .simu__ex .simu__ex-copy--s {
        font-size: 50%; }
    #simu .simu__ex .simu__ex-pri {
      padding: 15px;
      background: linear-gradient(90deg, #d98214 0, #f7c002 100%);
      line-height: 1.2;
      font-size: 2.8rem;
      color: #fff; }
      @media (min-width: 375px) {
        #simu .simu__ex .simu__ex-pri {
          font-size: calc( 2.8rem + ( 1vw - 3.75px ) * 1.7094017094 ); } }
      @media (min-width: 960px) {
        #simu .simu__ex .simu__ex-pri {
          font-size: 3.8rem; } }
  #simu .simu__detail {
    line-height: 1.4;
    text-align: left;
    font-size: 1.3rem; }
    @media (min-width: 375px) {
      #simu .simu__detail {
        font-size: calc( 1.3rem + ( 1vw - 3.75px ) * 0.1709401709 ); } }
    @media (min-width: 960px) {
      #simu .simu__detail {
        font-size: 1.4rem; } }
    #simu .simu__detail li {
      display: inline-block;
      letter-spacing: normal; }
  #simu .simu__outline {
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    justify-content: space-between;
    margin-bottom: 10px; }
    #simu .simu__outline .simu__outline-box {
      width: 49%;
      background: #f2f2f2;
      padding: 5px;
      box-sizing: border-box; }
    #simu .simu__outline .simu__outline-txt {
      padding: 5px 0;
      margin-bottom: 5px;
      background: #ccc;
      font-size: 1.3rem;
      line-height: 1.2; }
    #simu .simu__outline .simu__outline-num {
      font-size: 1.5rem;
      line-height: 1.2; }
      @media (min-width: 375px) {
        #simu .simu__outline .simu__outline-num {
          font-size: calc( 1.5rem + ( 1vw - 3.75px ) * 0.5128205128 ); } }
      @media (min-width: 960px) {
        #simu .simu__outline .simu__outline-num {
          font-size: 1.8rem; } }
    #simu .simu__outline .simu__outline-cap {
      color: #6b6b6b; }

/*------------------------------
		769px以上
------------------------------*/
@media screen and (min-width: 769px) {
  .plan-ttl {
    margin-bottom: 120px; }
    .plan-ttl .plan-ttl__wrap {
      top: calc(50% + 42.5px); }

  .plan .plan__mdr.sp {
    display: none; }
  .plan .plan__wrap {
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    justify-content: space-between; }
    .plan .plan__wrap .plan__outline {
      width: 46%; }
    .plan .plan__wrap > .plan__mdr {
      width: 54%;
      box-sizing: border-box;
      display: block; }
    .plan .plan__wrap .public__wp {
      margin: -10px auto 20px; }
  .plan .plan__detail {
    padding-top: 80px; }
    .plan .plan__detail .plan__point-tab {
      margin-top: 20px; }
  .plan .plan__point .plan__point-list {
    margin-bottom: 20px; }
  .plan .plan__point .plan__hanrei {
    display: block;
    margin-bottom: 20px; }

  #simu .simu__ttl {
    margin-bottom: 5px; }
  #simu .simu__price {
    width: 34%;
    padding: 0;
    box-sizing: border-box;
    text-align: left; }
    #simu .simu__price .simu__price-copy, #simu .simu__price .simu__price-txt {
      display: inline-block;
      text-align: left; } }
/*------------------------------
		961px以上
------------------------------*/
@media screen and (min-width: 961px) {
  .plan .plan__name {
    left: -20px;
    width: 350px;
    max-width: 350px; }
  .plan .plan__wrap.new .plan__ldk {
    display: block; }
  .plan .plan__wrap .plan__outline {
    width: 42%; }
  .plan .plan__wrap > .plan__mdr {
    width: 58%;
    padding: 50px; }
  .plan .plan__detail {
    padding: 0% 8.33% 8.33% 8.33%;
    padding-top: 100px;
    text-align: left; }
  .plan .plan__point {
    padding: 20px 50px; }
    .plan .plan__point .plan__point-list {
      margin-bottom: 50px; }
    .plan .plan__point .plan__hanrei {
      margin-bottom: 50px; }

  #simu {
    text-align: center; }
    #simu .simu__price-name,
    #simu .simu__price-num {
      display: inline-block; } }
/*------------------------------
		1181px以上
------------------------------*/
