@charset "UTF-8";
/* 文字コードの指定 */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Oswald:wght@300;400;600;700&display=swap");
html {
  font-size: 62.5%; }

body {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.75;
  color: #000000;
  background-color: #ffffff; }
  @media (min-width: 769px) {
    body {
      font-size: 1.6rem; } }

a {
  color: #000000;
  text-decoration: none; }

img {
  max-width: 100%;
  vertical-align: bottom; }

small {
  font-size: 66%; }

.header {
  position: fixed;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 100;
  width: 100%;
  height: 6rem;
  padding: 0 0 0 1rem;
  background-color: #ffffff;
  box-sizing: border-box;
  box-shadow: 0px 1px 5px 0px #808080; }
  @media (min-width: 769px) {
    .header {
      padding-left: calc( 50vw - 475px);
      padding-right: calc( 50vw - 475px); } }

.logo {
  display: block;
  margin: 0;
  width: 9.5rem; }

.header-icons-box {
  display: flex;
  align-items: center;
  justify-content: space-between; }
  .header-icons-box .icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #ffffff;
    background: #2d539c;
    border-radius: 6px;
    font-size: 1.8rem;
    height: 3.8rem;
    min-width: 6.5rem;
    margin: 0 0 0 0.5rem; }
    .header-icons-box .icon .icon-label {
      font-size: 1rem;
      line-height: 1.5; }
  @media (min-width: 769px) {
    .header-icons-box .icon-tel {
      display: none; } }

.nav-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  font-size: 3.1rem;
  color: #2d539c;
  cursor: pointer; }
  @media (min-width: 769px) {
    .nav-button {
      display: none; } }

.sp-nav {
  position: absolute;
  top: 6rem;
  left: 0;
  display: none;
  z-index: 1000;
  width: 100%;
  height: calc(100vh - 6rem);
  font-size: 3.5vh;
  text-align: center;
  background-color: #ffffff;
  box-sizing: border-box; }

.sp-nav-list {
  padding: 8vh 3.5rem;
  margin: 0;
  list-style: none;
  text-decoration: underline;
  text-underline-position: under;
  text-align: start;
  font-weight: 500; }
  .sp-nav-list li {
    margin-bottom: .75rem; }

.pc-nav {
  display: none; }
  @media (min-width: 769px) {
    .pc-nav {
      display: block; } }

.pc-nav-list {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 0;
  margin: 0;
  list-style: none; }
  .pc-nav-list li {
    margin: 0 0 0 5rem; }
  .pc-nav-list a:hover {
    text-decoration: underline; }

.footer, .sp-nav-footer {
  padding: 0 0 1rem 0;
  font-size: 1.2rem;
  font-style: bold;
  color: #ffffff;
  background-color: #2d539c; }

.sp-nav-footer {
  position: absolute;
  bottom: 0;
  width: 100vw; }

.footer-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 1rem 2rem 0 2rem; }
  @media (min-width: 769px) {
    .footer-body {
      padding: 3rem 0 2rem 0; } }

.footer-info {
  display: flex;
  flex-direction: column;
  align-items: center; }
  @media (min-width: 769px) {
    .footer-info {
      flex-direction: row; } }
  .footer-info .footer-info-inner {
    align-items: center;
    display: flex;
    flex-direction: column; }
    @media (min-width: 769px) {
      .footer-info .footer-info-inner {
        padding: 0 2rem; } }
  .footer-info .footer-info-text {
    font-size: 1.4rem;
    font-weight: bold; }
    .footer-info .footer-info-text.height-short {
      line-height: 1; }
  .footer-info .tel-box {
    display: flex;
    font-size: 2.4rem;
    line-height: 1.5;
    color: #fbf200; }
    .footer-info .tel-box .tel-icon {
      padding-right: .5rem; }
    .footer-info .tel-box .tel {
      font-family: 'Oswald', sans-serif;
      font-weight: bold;
      color: #fbf200; }
  .footer-info .reception-time {
    display: flex; }
    .footer-info .reception-time .reception-time-square {
      font-size: 1.2rem;
      font-weight: 700;
      color: #2d539c;
      background: #ffffff;
      padding: 0 .5rem;
      margin-right: .7rem; }

.footer-logo {
  width: 50%;
  max-width: 400px; }
  @media (min-width: 769px) {
    .footer-logo {
      margin-right: 2.4rem;
      margin-bottom: 0;
      padding: 0 2rem;
      width: 23rem; } }

.footer-address {
  margin: .5rem auto;
  font-size: 1.1rem;
  text-align: center; }
  @media (min-width: 769px) {
    .footer-address {
      margin-bottom: 0;
      text-align: left; } }

.copyright {
  text-align: center;
  color: #ffffff; }

.carousel {
  padding-top: 6rem; }
  .carousel img {
    width: 100%; }

.slick-dots {
  bottom: 5px; }
  @media (min-width: 769px) {
    .slick-dots {
      bottom: 10px; } }
  .slick-dots li button:before {
    color: #808080;
    opacity: 1; }
  .slick-dots li.slick-active button:before {
    color: #2d539c; }

.slick-dotted.slick-slider {
  margin-bottom: 0; }

.achieve-carousel {
  margin: 1.5rem; }
  .achieve-carousel img {
    margin: auto; }
  .achieve-carousel .slick-prev, .achieve-carousel .slick-next {
    width: 25px;
    height: 25px; }
    @media (min-width: 769px) {
      .achieve-carousel .slick-prev, .achieve-carousel .slick-next {
        width: 50px;
        height: 50px; } }
    .achieve-carousel .slick-prev:before, .achieve-carousel .slick-next:before {
      font-size: 25px;
      color: #2d539c; }
      @media (min-width: 769px) {
        .achieve-carousel .slick-prev:before, .achieve-carousel .slick-next:before {
          font-size: 50px; } }
  .achieve-carousel .slick-prev {
    left: -27px; }
    @media (min-width: 769px) {
      .achieve-carousel .slick-prev {
        left: 0; } }
  .achieve-carousel .slick-next {
    right: -27px; }
    @media (min-width: 769px) {
      .achieve-carousel .slick-next {
        right: 0; } }

section {
  margin-bottom: 2rem; }

.container {
  padding: 1.5rem 2rem 1.5rem 2rem;
  text-align: center; }
  .container p {
    text-align: left; }
  @media (min-width: 769px) {
    .container {
      width: 95rem;
      margin: auto;
      padding: 2rem 4rem; } }

.bg-light-blue {
  background: #d7e6ff; }

.page-title {
  margin-top: 6rem;
  text-align: center;
  background: #2d539c;
  color: #ffffff; }
  .page-title h1 {
    line-height: 3;
    margin: 0; }
    @media (min-width: 769px) {
      .page-title h1 {
        font-size: 4rem; } }
  .page-title.page-title-middle {
    margin-top: 0; }

.heading-blue {
  display: inline-block;
  margin: 1rem auto;
  padding: .5rem;
  background: #2d539c;
  color: #ffffff;
  font-size: 1.8rem;
  font-weight: inherit;
  min-width: 12rem; }
  @media (min-width: 769px) {
    .heading-blue {
      font-size: 2.3rem;
      min-width: 24rem; } }

.heading-bg-none {
  color: #2d539c; }

.Card-bordered {
  margin-bottom: 1.5rem;
  background: #ffffff;
  border: solid 1px #808080;
  border-left: solid 12px #2d539c;
  border-radius: 10px;
  box-shadow: 5px 5px 10px 0px #8080807a; }
  @media (min-width: 769px) {
    .Card-bordered {
      margin-bottom: 3rem;
      border-left: solid 22px #2d539c; } }
  .Card-bordered .Card-heading {
    padding: 0 2rem;
    display: flex;
    align-items: flex-start;
    text-align: start;
    color: #2d539c; }
    .Card-bordered .Card-heading .Card-number {
      margin: 0 1rem 1rem 0;
      padding-right: 1rem;
      background: linear-gradient(transparent 60%, #fbf200 60%);
      font-size: 3.6rem;
      font-style: italic;
      font-weight: bold; }
  .Card-bordered .Card-text {
    padding-bottom: 1rem; }
    .Card-bordered .Card-text p {
      margin-top: 0;
      padding: 0 2rem; }

.Btn-orange {
  display: block;
  font-weight: bold;
  padding: 1rem;
  margin: .5rem auto;
  font-size: 1.4rem;
  width: 18rem;
  color: #ffffff;
  background: #ee6c00;
  border-radius: 25px;
  box-shadow: 4px 4px 0px 0px #b95b0c; }
  .Btn-orange:hover {
    background: #f69c66; }
  @media (min-width: 769px) {
    .Btn-orange {
      font-size: 1.6rem;
      width: 24rem; } }

.Card-text .Btn-orange {
  margin-bottom: 3rem; }

.underline {
  background: linear-gradient(transparent 60%, #fbf200 60%); }

.sns {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0 2rem 1.5rem 2rem;
  margin: 0;
  list-style: none;
  background: #ffffff; }
  @media (min-width: 769px) {
    .sns {
      width: 55rem;
      margin: auto; } }
  .sns li {
    font-size: 2rem;
    font-weight: 500;
    width: 47%;
    padding: .2rem;
    text-align: center;
    background: #1877f2;
    box-shadow: inset 0px 0px 10px 0px #00000040; }
    .sns li:hover {
      background: #4b88ff; }
    .sns li:first-child {
      background: #00b900; }
      .sns li:first-child:hover {
        background: #66cc66; }
  .sns a {
    color: #ffffff; }

#fixed-Btn-box {
  display: flex;
  flex-direction: column;
  position: fixed;
  right: 0;
  bottom: 1rem;
  z-index: 10; }
  @media (min-width: 769px) {
    #fixed-Btn-box {
      right: 2rem;
      bottom: 2rem; } }

.fixed-Btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: #4b88ff;
  height: 4.3rem;
  width: 4.3rem;
  margin: 0;
  font-size: 1rem;
  line-height: 1.3;
  border: solid 1px white; }
  @media (min-width: 769px) {
    .fixed-Btn {
      height: 6rem;
      width: 6rem;
      font-size: 1.3rem;
      line-height: 1.75; } }
  .fixed-Btn .fas {
    font-size: 2.2rem; }
    @media (min-width: 769px) {
      .fixed-Btn .fas {
        font-size: 3rem; } }

.menu-panel-box {
  background: #2d539c; }

.menu-panel-inner {
  display: flex;
  align-items: center;
  list-style: none;
  padding: 0;
  margin: 0; }
  @media (min-width: 769px) {
    .menu-panel-inner {
      width: 95rem;
      margin: auto; } }
  .menu-panel-inner li {
    width: 33.33%; }
    .menu-panel-inner li .menu-panel {
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      color: #ffffff;
      font-size: 2.4rem;
      padding: .6rem;
      box-shadow: inset 0px 0px 10px 0px #00000040; }
      @media (min-width: 769px) {
        .menu-panel-inner li .menu-panel {
          font-size: 3rem; } }
      .menu-panel-inner li .menu-panel .panel-label {
        font-size: 1.2rem; }
        @media (min-width: 769px) {
          .menu-panel-inner li .menu-panel .panel-label {
            font-size: 1.6rem; } }
    .menu-panel-inner li .panel-about, .menu-panel-inner li .panel-achievements {
      background: #ee6c00; }
      .menu-panel-inner li .panel-about:hover, .menu-panel-inner li .panel-achievements:hover {
        background: #f69c66; }
    .menu-panel-inner li .panel-trial {
      background: #4b88ff; }
      .menu-panel-inner li .panel-trial:hover {
        background: #79a6fd; }

.banner-group {
  margin-bottom: 2rem; }
  .banner-group .container {
    display: flex;
    flex-direction: column;
    padding: 1.5rem 2rem; }
    @media (min-width: 769px) {
      .banner-group .container {
        flex-direction: row;
        justify-content: space-between;
        padding: 4rem; } }
    .banner-group .container .banner {
      padding: .5rem 0; }
      @media (min-width: 769px) {
        .banner-group .container .banner {
          padding: 0;
          width: 32%; } }

.information {
  padding-bottom: 2rem; }
  @media (min-width: 769px) {
    .information {
      width: 95rem;
      margin: auto;
      padding-bottom: 5rem; } }

.bk-heading .bk-title {
  font-size: 2.4rem;
  font-family: "Oswald", sans-serif;
  text-align: center;
  padding-top: 1rem; }
  @media (min-width: 769px) {
    .bk-heading .bk-title {
      font-size: 3rem; } }

.info-list {
  margin: 0 2rem;
  padding: 1rem 0;
  list-style: none;
  border-block: dotted 2px #808080; }
  .info-list li {
    padding: 1rem 0; }
    .info-list li a:hover {
      text-decoration: underline; }
  .info-list .info-date {
    display: block;
    font-family: "Oswald", sans-serif;
    font-size: 1.4rem; }

.prevention-list {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  padding: 0;
  margin-bottom: 0;
  justify-content: space-between; }
  @media (min-width: 769px) {
    .prevention-list {
      flex-wrap: nowrap; } }
  .prevention-list .prevention-item {
    display: flex;
    flex-direction: column;
    width: 48%;
    margin-bottom: 1rem; }
    @media (min-width: 769px) {
      .prevention-list .prevention-item {
        width: 24%; } }
    .prevention-list .prevention-item img {
      max-width: 100%;
      vertical-align: bottom; }
    .prevention-list .prevention-item .prevention-title {
      font-size: 1.4rem;
      font-weight: bold;
      padding: 0 0.5rem;
      border-bottom: solid 1px #2d539c;
      color: #2d539c;
      background: #ffffff;
      height: 100%; }
    .prevention-list .prevention-item .prevention-text {
      font-size: 1.2rem;
      text-align: left;
      padding: 0 0.5rem 0.5rem 0.5rem;
      background: #ffffff;
      height: 100%; }

.calender {
  padding-bottom: 2rem; }
  @media (min-width: 769px) {
    .calender {
      width: 95rem;
      margin: auto;
      padding-bottom: 5rem;
      text-align: center; } }

.calender-frame iframe {
  width: 100%;
  height: 360px;
  text-align: center; }
  @media (min-width: 769px) {
    .calender-frame iframe {
      height: 600px; } }

.link {
  margin-bottom: 0; }
  .link .container {
    display: flex;
    flex-direction: column; }
    @media (min-width: 769px) {
      .link .container {
        flex-direction: row;
        justify-content: space-between; } }
    .link .container .link-box {
      text-align: center; }
      @media (min-width: 769px) {
        .link .container .link-box {
          width: 48%; } }
      .link .container .link-box.blog {
        margin-bottom: 3rem; }
        @media (min-width: 769px) {
          .link .container .link-box.blog {
            margin-bottom: 0; } }
      .link .container .link-box.ekiten {
        border: solid 1px #808080; }

.motto {
  padding: 1rem;
  font-size: 4.8vw;
  font-weight: 500;
  font-style: italic; }
  @media (min-width: 769px) {
    .motto {
      font-size: 2.3rem; } }
  .motto .motto-text {
    margin: 0 auto;
    background: linear-gradient(transparent 60%, #fbf200 60%);
    width: 75vw;
    font-size: inherit; }
    @media (min-width: 769px) {
      .motto .motto-text {
        width: 35rem; } }
    .motto .motto-text:first-child {
      width: 57vw; }
      @media (min-width: 769px) {
        .motto .motto-text:first-child {
          width: 26rem; } }

.feature {
  position: relative;
  margin-top: 4rem;
  padding: 3rem 0;
  border: solid 2px #2d539c;
  font-weight: 500; }
  .feature .feature-heading {
    position: absolute;
    top: -1.7rem;
    left: 1rem;
    padding: .3rem 1rem;
    background: #2d539c;
    color: #ffffff;
    font-size: 1.4rem; }
    @media (min-width: 769px) {
      .feature .feature-heading {
        font-size: 1.6rem; } }
  .feature .feature-text {
    position: inherit;
    z-index: 2;
    font-size: 1.4rem;
    text-shadow: 0px 0px 5px #ffffff; }
    @media (min-width: 769px) {
      .feature .feature-text {
        font-size: 1.6rem; } }
  .feature .feature-text-big {
    margin: 0 auto;
    background: linear-gradient(transparent 60%, #fbf200 60%);
    width: 26rem;
    font-size: 1.6rem; }
    @media (min-width: 769px) {
      .feature .feature-text-big {
        width: 30rem;
        font-size: 1.8rem; } }
  .feature .bg-check {
    position: absolute;
    z-index: 1;
    font-size: 5rem;
    color: #ee6c00ad; }
    .feature .bg-check.check1 {
      top: -1rem;
      left: 65vw; }
      @media (min-width: 769px) {
        .feature .bg-check.check1 {
          left: 56rem; } }
    .feature .bg-check.check2 {
      top: 5rem;
      left: 58vw; }
      @media (min-width: 769px) {
        .feature .bg-check.check2 {
          left: 53rem; } }
  .feature .arrow-down {
    font-size: 2rem; }

.about-text p {
  text-align: center; }

table {
  margin-top: 1.5rem;
  width: 100%;
  border-collapse: collapse; }
  table th {
    padding: .5rem;
    border: solid 1px #808080;
    background: #d7e6ff; }
    table th .cell-text {
      font-weight: normal; }
  table td {
    padding: .5rem;
    border: solid 1px #808080;
    font-size: 1.6rem; }
    @media (min-width: 769px) {
      table td {
        font-size: 1.8rem; } }
  table .border-0 {
    border: 0;
    background: transparent; }

.price-table {
  display: flex;
  flex-direction: column; }
  @media (min-width: 769px) {
    .price-table {
      flex-direction: row;
      justify-content: space-between; } }

@media (min-width: 769px) {
  .table-flex {
    width: 48%; } }

.time {
  width: 35%; }

.line-cover-img {
  margin-top: 6rem; }

.line-process {
  margin-bottom: 1.5rem; }

.Card-line {
  border-left: solid 1px #808080;
  background: #ffffff;
  margin-top: 5rem;
  padding-top: 1.5rem; }
  .Card-line .Card-heading {
    position: relative;
    text-align: center; }
    .Card-line .Card-heading h3 {
      border-bottom: solid 1px #2d539c;
      margin-left: auto;
      margin-right: auto; }
    .Card-line .Card-heading .Card-line-number {
      position: absolute;
      top: -4.5rem;
      left: 50%;
      transform: translate(-50%, 0);
      width: 6rem;
      height: 6rem;
      background: #fbf200;
      border-radius: 50px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      font-size: 3rem;
      line-height: 1; }
      .Card-line .Card-heading .Card-line-number .step {
        font-size: 1.2rem; }

.sp-line-process {
  display: block; }
  @media (min-width: 769px) {
    .sp-line-process {
      display: none; } }

.pc-line-process {
  display: none; }
  @media (min-width: 769px) {
    .pc-line-process {
      display: block; } }

.line-process-flex {
  display: flex;
  flex-direction: column; }
  @media (min-width: 769px) {
    .line-process-flex {
      flex-direction: row;
      justify-content: center; }
      .line-process-flex p {
        width: 40rem; } }
  .line-process-flex .line-img {
    margin: 0 4rem 2rem 4rem; }
    @media (min-width: 769px) {
      .line-process-flex .line-img {
        width: 18rem;
        margin: 0 2rem 2rem 2rem; } }

.Btn-green {
  display: block;
  font-weight: bold;
  padding: .4rem;
  margin: .5rem auto 2rem auto;
  font-size: 2rem;
  width: 18rem;
  color: #ffffff;
  background: #00b900;
  border-radius: 25px;
  box-shadow: 4px 4px 0px 0px #018001; }
  .Btn-green:hover {
    background: #66cc66; }
  @media (min-width: 769px) {
    .Btn-green {
      font-size: 1.6rem;
      width: 24rem; } }

.taikennki-heading {
  padding-top: 2rem; }
  .taikennki-heading .taikennki-title {
    font-size: 1.8rem;
    font-style: italic;
    font-weight: 500;
    border-bottom: solid 2px #2d539c; }
    @media (min-width: 769px) {
      .taikennki-heading .taikennki-title {
        margin: 0 auto;
        width: 40rem; } }
  .taikennki-heading .taikennki-heading-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem 0 1rem 0;
    color: #2d539c; }
    .taikennki-heading .taikennki-heading-inner .taikenki-icon {
      margin: .5rem;
      font-size: 6.5rem;
      line-height: 1; }
    .taikennki-heading .taikennki-heading-inner .taikenki-subtitle {
      margin: 0 .5rem; }
      .taikennki-heading .taikennki-heading-inner .taikenki-subtitle .label-blue {
        padding: .3rem .5rem;
        margin: 0;
        background: #2d539c;
        color: #ffffff; }
      .taikennki-heading .taikennki-heading-inner .taikenki-subtitle .taikenki-heading-comment {
        margin: 0;
        font-weight: bold;
        line-height: 1.25; }
        .taikennki-heading .taikennki-heading-inner .taikenki-subtitle .taikenki-heading-comment .comment-icon {
          font-size: 2rem; }

.taikenki-answer {
  border-left: solid 1px #808080; }

/*# sourceMappingURL=style.css.map */
