@charset "UTF-8";
/* Scss Document */
/*---WEBフォント再描画制御---*/
html {
  scroll-behavior: smooth;
  position: relative; }

html.wf-active {
  visibility: visible; }

ul {
  margin: 0;
  padding: 0; }

/*---//WEBフォント再描画制御---*/
.swiper-pagination-bullet-active {
  background: #141f57 !important; }

body {
  font-family: dnp-shuei-gothic-gin-std, -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
  background: #ccc;
  font-size: 1.3rem;
  line-height: 1.8;
  color: #1E1E1E;
  position: relative; }
  @media (max-width: 767px) {
    body {
      font-size: 0.9rem; } }
  @media (max-width: 767px) {
    body {
      line-height: 1.6; } }

a {
  color: #141f57; }
  a:hover {
    color: #141f57; }
  a img:hover {
    opacity: .7; }

.color4 {
  color: #b99f6a; }

.color-line {
  color: #00ba01; }

.ctafix {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  display: block;
  width: 130px;
  z-index: 9999; }
  @media (max-width: 575px) {
    .ctafix {
      width: 80px;
      bottom: .3rem;
      right: .3rem; } }

.serif {
  font-family: 'Noto Serif JP', serif; }

.container {
  max-width: 800px;
  background: #fff; }

.sample-title {
  background: #141f57;
  color: #fff;
  text-align: center;
  font-size: 1.2rem;
  padding: .5rem 0;
  margin: 1rem 0 2px 0; }
  @media (max-width: 575px) {
    .sample-title {
      font-size: 1rem;
      margin-top: 1.5rem; } }

.samplelist {
  padding: 0 1rem;
  margin-bottom: 1rem; }
  .samplelist ul {
    list-style: none;
    font-size: .9rem; }
    .samplelist ul li {
      margin-bottom: 0;
      line-height: 1.4; }
  .samplelist figure {
    text-align: center; }
  .samplelist dl {
    margin-bottom: .5rem;
    padding-bottom: 0;
    line-height: 1.4;
    font-size: 1rem; }
    .samplelist dl dt {
      font-weight: bold;
      margin-bottom: 0; }
    .samplelist dl dd {
      margin-bottom: 0;
      padding-bottom: .5rem; }
      .samplelist dl dd span {
        color: #E53030;
        font-weight: bold;
        font-size: 150%; }

.profile {
  position: relative;
  padding: 1rem 0; }
  .profile .linkcompany {
    position: absolute;
    bottom: 2rem;
    left: 4.9rem;
    font-size: .9rem; }
    @media (max-width: 575px) {
      .profile .linkcompany {
        bottom: .7rem;
        left: 1rem;
        font-size: .7rem; } }
  .profile + .modal table {
    font-size: 1rem; }
    @media (max-width: 575px) {
      .profile + .modal table {
        font-size: .9rem; } }
  .profile + .modal .modal-footer {
    justify-content: flex-start !important; }

.cta {
  padding: 0 0 3rem 0; }
  @media (max-width: 575px) {
    .cta {
      padding: 0 0 2rem 0; } }
  .cta h2 {
    background: #00ba01;
    color: #fff;
    text-align: center;
    font-size: 1.2rem;
    margin-bottom: 0;
    padding: 1rem 0; }
    @media (max-width: 575px) {
      .cta h2 {
        font-size: 1rem; } }
  .cta h3 {
    border-left: 6px solid #141f57;
    border-bottom: 1px solid #141f57;
    padding: 0 0 .2rem .7rem;
    margin: 2rem 1rem 0 1rem;
    color: #141f57;
    font-size: 1.2rem;
    margin-bottom: 1rem;
    font-weight: bold; }
    @media (max-width: 575px) {
      .cta h3 {
        font-size: 1rem; } }
  .cta p {
    font-size: 1rem;
    padding: 0 1rem; }
    @media (max-width: 575px) {
      .cta p {
        font-size: .9rem; } }
  .cta a {
    display: block;
    text-align: center;
    padding: 0 1.5rem; }
    @media (min-width: 768px) {
      .cta a img {
        max-width: 500px; } }
  .cta .flow {
    padding: 1rem; }
    .cta .flow li {
      list-style: none;
      margin-bottom: .5rem;
      font-weight: bold;
      font-size: 1.1rem; }
      @media (max-width: 575px) {
        .cta .flow li {
          font-size: .9rem; } }

.simulation-flow {
  margin-bottom: 1rem;
  padding: 0 1rem;
  font-size: 1rem; }
  .simulation-flow i {
    font-size: 4rem; }
    @media (max-width: 575px) {
      .simulation-flow i {
        font-size: 3rem; } }
  .simulation-flow p {
    text-align: left;
    padding: 0;
    font-size: .9rem; }
    @media (max-width: 575px) {
      .simulation-flow p {
        font-size: .8rem; } }
  .simulation-flow .number {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    display: block;
    line-height: 1.4; }
    @media (max-width: 575px) {
      .simulation-flow .number {
        font-size: 1.5rem; } }
  .simulation-flow h4 {
    font-size: 1rem;
    margin-bottom: .3rem;
    font-weight: bold; }

.section p {
  padding: 0 2rem; }
  @media (max-width: 575px) {
    .section p {
      padding: 0 1rem; } }

.about {
  background: #ffe7e8;
  padding-bottom: 2rem;
  margin-bottom: 3rem; }
  @media (max-width: 575px) {
    .about {
      padding-bottom: 1.5rem;
      margin-bottom: 2rem; } }
  .about .leadtext {
    margin-top: -5.5rem;
    text-align: center;
    margin-bottom: 2rem; }
    @media (max-width: 575px) {
      .about .leadtext {
        margin-top: -2rem; } }
    .about .leadtext span {
      color: #b99f6a;
      font-weight: bold;
      font-size: 120%; }
  .about .leadtext2 {
    margin-top: 1rem; }
    .about .leadtext2 span {
      font-weight: bold;
      color: #b99f6a; }
  .about .box {
    background: #fff;
    margin: 0 1rem 1rem 1rem;
    padding: 0 0 .5rem 0; }
    .about .box h3 {
      background: #b99f6a;
      background: -webkit-linear-gradient(left, #b99e69 0%, #a07737 72%, #a47d3d 100%);
      background: -o-linear-gradient(left, #b99e69 0%, #a07737 72%, #a47d3d 100%);
      background: linear-gradient(to right, #b99e69 0%, #a07737 72%, #a47d3d 100%);
      color: #fff;
      text-align: center;
      font-size: 1.6rem;
      font-weight: bold;
      margin-bottom: .5rem;
      padding: 1rem 0; }
      @media (max-width: 575px) {
        .about .box h3 {
          font-size: 1.2rem;
          padding: .5rem 0; } }
    .about .box h4 {
      font-size: 1.4rem;
      margin: 0 0 1rem 1rem;
      padding-left: .5rem;
      border-left: 5px solid #4d483a;
      font-weight: bold; }
      @media (max-width: 575px) {
        .about .box h4 {
          font-size: 1rem;
          margin: 0 0 .5rem 1rem; } }

.title1 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin: 0 1rem 1.5rem 1rem;
  padding: 1.5rem 0;
  border-top: 3px double #b99f6a;
  border-bottom: 3px double #b99f6a; }
  @media (max-width: 575px) {
    .title1 {
      font-size: 1.3rem;
      padding: 1rem 0 1rem 0; } }
  .title1 span {
    color: #b99f6a;
    font-size: 140%; }

.title2 {
  background: #b99f6a;
  background: -webkit-linear-gradient(left, #b99e69 0%, #a07737 72%, #a47d3d 100%);
  background: -o-linear-gradient(left, #b99e69 0%, #a07737 72%, #a47d3d 100%);
  background: linear-gradient(to right, #b99e69 0%, #a07737 72%, #a47d3d 100%);
  color: #fff;
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  margin: 0 1rem .5rem 1rem;
  padding: .8rem 0; }
  @media (max-width: 575px) {
    .title2 {
      font-size: 1.2rem;
      padding: .5rem 0; } }

.title3 {
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  margin-bottom: 2rem; }
  @media (max-width: 575px) {
    .title3 {
      font-size: 1.3rem; } }
  .title3 span {
    border-bottom: 2px solid #1E1E1E;
    padding-bottom: .3rem;
    width: 100%; }

.icon-result {
  text-align: center;
  margin-bottom: 0; }
  @media (max-width: 575px) {
    .icon-result img {
      width: 95px; } }

.strong {
  text-align: center;
  font-weight: bold;
  font-size: 130%;
  color: #E53030;
  padding: 1rem 0;
  line-height: 1.4; }

.wish1 {
  background: url(../img/wish_bg.jpg) no-repeat center;
  background-size: cover;
  padding: 3.5rem 0; }
  @media (max-width: 575px) {
    .wish1 {
      padding: 2rem 0; } }
  .wish1 h2 {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 2rem; }
    @media (max-width: 575px) {
      .wish1 h2 {
        font-size: 1.3rem; } }
    .wish1 h2 .color {
      color: #63be00;
      font-weight: bold; }
    .wish1 h2 .titleborder {
      display: inline-block;
      border-bottom: 2px solid #1E1E1E;
      padding-bottom: .5rem; }

.wish2 {
  color: #fff;
  padding: 3rem 0; }
  @media (max-width: 575px) {
    .wish2 {
      padding: 2rem 0; } }
  .wish2 .title {
    text-align: center; }
    .wish2 .title span {
      border: 1px solid #fff;
      padding: .5rem 1rem;
      line-height: 1.2; }
      @media (max-width: 575px) {
        .wish2 .title span {
          padding: .3rem .7rem; } }
  .wish2 h3 {
    text-align: center;
    font-size: 2.5rem;
    font-weight: bold;
    margin: 0 0 3rem 0; }
    @media (max-width: 575px) {
      .wish2 h3 {
        font-size: 1.5rem;
        margin: 0 0 1.5rem 0; } }
  .wish2 figure {
    text-align: center; }
    .wish2 figure img {
      width: 200px; }
      @media (max-width: 575px) {
        .wish2 figure img {
          width: 140px; } }

.bg1 {
  background: #3f9c60;
  background: -webkit-linear-gradient(#3f9c60 0%, #28633c 100%);
  background: -o-linear-gradient(#3f9c60 0%, #28633c 100%);
  background: linear-gradient(#3f9c60 0%, #28633c 100%); }

.bg2 {
  background: #334866;
  background: -moz-linear-gradient(top, #334866 0%, #202d40 100%);
  background: -webkit-linear-gradient(top, #334866 0%, #202d40 100%);
  background: linear-gradient(to bottom, #334866 0%, #202d40 100%); }

.rateup {
  color: #E53030;
  font-weight: bold;
  position: relative;
  padding-right: 1rem;
  display: inline-block; }
  .rateup:after {
    content: "\f0de";
    font-family: "Font Awesome 5 Free";
    position: absolute;
    right: 0;
    animation: up 2s ease-in 1s infinite; }

@keyframes up {
  0% {
    top: 15px;
    opacity: 0; }
  60% {
    top: 0;
    opacity: 1; }
  80% {
    opacity: .3; }
  100% {
    top: -5px;
    opacity: 0; } }
.form-box .form-check-label {
  font-size: 1rem !important; }

.form-logo {
  text-align: center;
  padding: .7rem 0;
  position: relative;
  margin-bottom: 0; }
  .form-logo img {
    width: 130px; }
    @media (max-width: 575px) {
      .form-logo img {
        width: 80px; } }
  .form-logo span {
    display: inline-block;
    margin-top: 1rem;
    font-weight: bold;
    font-size: 1.6rem; }
  .form-logo .back {
    width: 1.5rem;
    height: 1.5rem;
    display: block;
    font-size: 2rem;
    position: absolute;
    left: 1rem;
    top: 1rem; }
    @media (max-width: 575px) {
      .form-logo .back {
        font-size: 1.5rem;
        left: .5rem;
        top: .4rem; } }

.form-title {
  font-size: 1.5rem;
  text-align: center;
  margin-top: 2rem;
  font-weight: bold;
  margin-bottom: 1rem;
  border-top: 1px solid #1E1E1E;
  border-bottom: 1px solid #1E1E1E;
  padding: .5rem 0; }
  @media (max-width: 575px) {
    .form-title {
      font-size: 1.2rem; } }
  .form-title + p {
    font-size: .9rem; }

.line-campain {
  background: #00ba01;
  margin-bottom: 1rem;
  padding: 1rem;
  color: #fff;
  text-align: center; }
  .line-campain h2 {
    font-size: 1.6rem;
    font-weight: bold;
    margin-bottom: 1rem;
    padding-top: 1.5rem; }
  .line-campain a {
    font-size: 2rem;
    display: inline-block;
    margin: 1rem 0; }
    @media (max-width: 575px) {
      .line-campain a {
        font-size: 1.5rem; } }

.footer-line {
  background: #f5f5f5;
  padding: 1.5rem 0 0 0; }
  .footer-line a {
    display: block;
    text-align: center; }
    .footer-line a img {
      width: 150px; }
      @media (max-width: 575px) {
        .footer-line a img {
          width: 100px; } }
  .footer-line small {
    font-size: .8rem; }
