@charset "UTF-8";
/*	cmn-color
------------------------------------ */
/*	transition,hover
------------------------------------ */
/*	media-screen
------------------------------------ */
/*	font
------------------------------------ */
/*	layout
------------------------------------ */
/*	font-size  cmn
------------------------------------ */
/*	com parts  PC
------------------------------------ */
.sns-none {
  display: none !important;
}

.over {
  overflow: hidden;
}

.com-ib {
  display: inline-block;
}

.spxs-only {
  display: none;
}
@media screen and (max-width: 390px) {
  .spxs-only {
    display: inherit;
  }
}

.f26 {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .f26 {
    font-size: 1.5rem;
  }
}

.pre {
  white-space: pre-line;
}

.anchor-mp {
  margin: -161px auto 0;
  padding-top: 161px;
}

.nowrap {
  white-space: nowrap;
}

@media screen and (min-width: 768px) {
  .nowrap {
    white-space: nowrap;
  }
}
.no-sb {
  margin: 50px auto 0;
}

@media screen and (min-width: 768px) {
  .com-txt-box p:nth-of-type(n+2) {
    margin-top: 40px;
  }
}
.com-txt .ac {
  color: #55c146;
}
@media screen and (min-width: 768px) {
  .com-txt .marker {
    padding: 3px 9px;
    color: #005ea6;
    background: #d7f3ff;
    border-radius: 999px;
  }
}

.clamp1 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}

.clamp2 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.clamp3 {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

@media screen and (min-width: 768px) {
  .com-pd {
    padding: 130px 0;
  }
}

.com-noimage {
  background: url(../img/ent/logo.png) no-repeat center #ffffff;
  background-size: clamp(48px, 65%, 280px);
}

/*  共通パーツ
------------------------------------ */
.com-box {
  padding: 60px 60px 40px;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 5px #79d2f6;
}

.com-bg {
  background: url(../img/top/service-top-deco.png) no-repeat center top, url(../img/ptn/bg02.png);
}
@media screen and (min-width: 1921px) {
  .com-bg {
    background-size: 100% auto, auto;
  }
}
.com-bg02 {
  background: url(../img/ptn/bg02.png);
}

.com-tel {
  line-height: 1;
}
.com-tel-link {
  padding-left: 28px;
  background: url(../img/top/info-tel.png) no-repeat left center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  color: #0e0e17;
}
@media screen and (max-width: 768px) {
  .com-tel-link {
    font-size: 1.5rem;
  }
}
.com-tel-note {
  display: block;
}

.com-worktime div {
  display: flex;
  align-items: center;
}
.com-worktime dt, .com-worktime dd {
  line-height: 1.3;
}
.com-worktime dt {
  padding: 0px 5px;
  border-radius: 5px;
  background: #229bd9;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  color: #fff;
}
.com-worktime dd {
  margin-left: 5px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3rem;
  letter-spacing: 0.05em;
  color: #229bd9;
}

.news-post {
  display: flex;
  flex-wrap: wrap;
}
.news-post-item {
  width: 100%;
  max-width: 340px;
}
.news-post-item:nth-of-type(n+2) {
  margin-left: 29px;
}
.news-post-link {
  display: block;
}
.news-post-time {
  padding: 3px 10px;
  background: #229bd9;
  border-radius: 5px;
  color: #fff;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .news-post-time {
    font-size: 1.5rem;
  }
}
.news-post-img {
  width: 100%;
  height: 0;
  margin: 10px auto 0;
  padding-top: 73.5%;
  border-radius: 20px;
  border: 5px solid #fff;
  outline: 2px solid #0e0e17;
  position: relative;
  overflow: hidden;
}
.news-post-img img {
  width: calc(100% - 3px);
  height: calc(100% - 3px);
}
.news-post-ttl {
  margin-top: 17px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
@media screen and (max-width: 768px) {
  .news-post-ttl {
    font-size: 1.5rem;
  }
}
.news-post-tag {
  display: flex;
  margin-top: 10px;
  justify-content: flex-end;
  flex-wrap: wrap;
  line-height: 1.3;
}
.news-post-tag-txt {
  margin: 0 10px 10px 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.4rem;
  color: #979797;
  letter-spacing: 0.05em;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .news-post-tag-txt {
    font-size: 1.5rem;
  }
}
.news-post-tag-txt::before {
  content: "#";
  color: #55c146;
}
.news-post-time, .news-post-tag-txt, .news-post-ttl {
  transition: all 0.3s ease;
}

.com-tag {
  display: flex;
  width: 100%;
  justify-content: center;
  flex-wrap: wrap;
}
.com-tag-item {
  width: 100%;
  max-width: 452px;
}
@media screen and (min-width: 768px) {
  .com-tag-item:nth-of-type(2n) {
    margin-left: 76px;
  }
  .com-tag-item:nth-of-type(n+3) {
    margin-top: 76px;
  }
}

/* =========================================

  main layout  all

========================================= */
/* top-about  PC
------------------------------------ */
#top-about {
  background: url(../img/top/about-illu.png) no-repeat calc(50% + 610px) calc(100% - 40px);
}
#top-about .about-flx {
  position: relative;
}
#top-about .about-ttl {
  text-align: center;
}
#top-about .about-ttl .ttl {
  display: inline-block;
  padding: 0 100px;
  background: url(../img/top/about-ttl-left.png) no-repeat left center, url(../img/top/about-ttl-right.png) no-repeat right center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
}
@media screen and (max-width: 768px) {
  #top-about .about-ttl .ttl {
    font-size: 2.25rem;
  }
}
#top-about .about-ttl .ttl::after {
  content: "";
  width: 41px;
  height: 44px;
  background: url(../img/top/about-ttl-kira.png) no-repeat right bottom/contain;
  position: absolute;
}
#top-about .about-ttl .ttl .ac {
  color: #229bd9;
}
#top-about .about-ttl .ttl .border {
  background: linear-gradient(transparent 65%, #fffaa4 65%);
}
#top-about .about-img {
  position: absolute;
  left: calc(50% - 900px);
}
#top-about .about-con {
  width: 100%;
  max-width: 610px;
  margin-top: 92px;
  margin-left: auto;
}
#top-about .about-btn {
  margin-top: 55px;
}
#top-about .about-re {
  display: flex;
  align-items: flex-end;
  position: absolute;
  right: -45px;
  bottom: -96px;
}
@media screen and (min-width: 768px) {
  #top-about .about-re:hover {
    opacity: 0.85;
  }
}
#top-about .about-re-name {
  margin: 0 -56px 54px 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #top-about .about-re-name {
    font-size: 1.5rem;
  }
}
#top-about .about-re-name .ttl {
  margin-right: 9px;
  padding: 1px 10px;
  text-align: center;
  background: #229bd9;
  border-radius: 999px;
  font-size: 1.6rem;
  line-height: 1.2;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #top-about .about-re-name .ttl {
    font-size: 1.5rem;
  }
}

/* top-service  PC
------------------------------------ */
#top-service .service-list-item {
  margin: 80px auto 0;
  position: relative;
}
#top-service .service-list-item:nth-of-type(1) {
  position: relative;
}
#top-service .service-list-item:nth-of-type(1)::before {
  content: "";
  width: 170px;
  height: 204px;
  background: url(../img/top/service-illu.png) no-repeat right top/contain;
  position: absolute;
  top: -202px;
  right: 170px;
}
#top-service .service-list-item:nth-of-type(4) {
  position: relative;
}
#top-service .service-list-item:nth-of-type(4)::before {
  content: "";
  width: 336px;
  height: 235px;
  background: url(../img/top/service-illu02.png) no-repeat right top/contain;
  position: absolute;
  bottom: -111px;
  left: -75px;
}
#top-service .service-list-flx {
  padding-bottom: 40px;
  border-bottom: 2px solid #005ea6;
}
#top-service .service-list-con {
  width: 100%;
  max-width: 500px;
}
#top-service .service-list-num {
  display: flex;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 6rem;
  letter-spacing: 0.05em;
  color: #005ea6;
  line-height: 1;
  align-items: center;
  position: absolute;
}
@media screen and (max-width: 768px) {
  #top-service .service-list-num {
    font-size: 3rem;
  }
}
#top-service .service-list-num::before {
  content: "";
  display: block;
  width: 55px;
  height: 19px;
  margin-right: 19px;
  background: url(../img/top/service-arw.png) no-repeat left center/contain;
}
#top-service .service-list-num.arw01 {
  top: -32px;
  left: 60px;
}
#top-service .service-list-num.arw02 {
  top: -32px;
  right: 60px;
}
#top-service .service-list-num.arw02::before {
  background-image: url(../img/top/service-arw02.png);
}
#top-service .service-list-ttl {
  padding: 16px 0 16px 40px;
  border-radius: 999px;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 3rem;
  letter-spacing: 0.1em;
  color: #fff;
  line-height: 1.25;
  position: relative;
}
@media screen and (max-width: 768px) {
  #top-service .service-list-ttl {
    font-size: 1.5rem;
  }
}
#top-service .service-list-ttl::before {
  content: "";
  width: 79px;
  height: 85px;
  background: url(../img/top/service-list-ttl-ico01.png) no-repeat center top/contain;
  position: absolute;
  left: 20px;
  top: -10px;
}
#top-service .service-list-ttl.color01 {
  background: #229bd9;
}
#top-service .service-list-ttl.color02 {
  background: #23c4a0;
}
#top-service .service-list-ttl.ttl02::before {
  background-image: url(../img/top/service-list-ttl-ico02.png);
}
#top-service .service-list-ttl.ttl03::before {
  background-image: url(../img/top/service-list-ttl-ico03.png);
}
#top-service .service-list-ttl.ttl04 {
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  #top-service .service-list-ttl.ttl04 {
    font-size: 1.5rem;
  }
}
#top-service .service-list-ttl.ttl04::before {
  background-image: url(../img/top/service-list-ttl-ico04.png);
  top: 50%;
  transform: translateY(-50%);
}
#top-service .service-list-ttl.ttl04 .ac {
  display: inline-block;
  padding: 0 14px;
  margin-bottom: 5px;
  border-radius: 5px;
  background: #fff667;
  color: #23c4a0;
}
#top-service .service-list-ttl-sub {
  margin-top: 26px;
  color: #005ea6;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.5rem;
  letter-spacing: 0.1em;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #top-service .service-list-ttl-sub {
    font-size: 1.5rem;
  }
}
#top-service .service-list-txt {
  margin-top: 20px;
  line-height: 2.5;
}
#top-service .service-list-btn {
  display: flex;
  margin: 40px auto 0;
  justify-content: center;
  align-items: center;
  line-height: 1;
}
#top-service .service-list-btn::after {
  content: "";
  width: 25px;
  height: 6px;
  margin-left: 27px;
  background: url(../img/top/service-btn-arw.png) no-repeat right bottom/contain;
}

/* top-faq  PC
------------------------------------ */
#top-faq .faq-inner {
  position: relative;
}
#top-faq .faq-img {
  position: absolute;
  right: -80px;
  top: 70px;
}
@media screen and (max-width: 1389px) {
  #top-faq .faq-img {
    right: 0px;
  }
}
#top-faq .faq-box {
  border-radius: 50px;
  border: 5px solid #229bd9;
  background: url(../img/ptn/bg-white.png);
}
#top-faq .faq-ttl .ja {
  display: inline-block;
  padding-bottom: 8px;
  border-bottom: 2px solid #229bd9;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #top-faq .faq-ttl .ja {
    font-size: 2.25rem;
  }
}
#top-faq .faq-txt {
  margin-top: 30px;
  font-size: 1.8rem;
  line-height: 2.2;
}
@media screen and (max-width: 768px) {
  #top-faq .faq-txt {
    font-size: 1.5rem;
  }
}
#top-faq .faq-btn {
  margin-top: 33px;
}

/* top-news  PC
------------------------------------ */
#top-news {
  background: url(../img/top/news-illu.png) no-repeat calc(50% - 320px) 70px;
}
#top-news .news-post {
  margin: 65px auto 0;
}
#top-news .news-btn {
  margin: 75px auto 0;
}

/* com-contact  PC
------------------------------------ */
.com-contact .contact-inner {
  position: relative;
}
.com-contact .contact-inner::before, .com-contact .contact-inner::after {
  content: "";
  position: absolute;
}
.com-contact .contact-inner::before {
  width: 196px;
  height: 101px;
  background: url(../img/top/contact-illu-left.png) no-repeat left top/contain;
  position: absolute;
  top: 200px;
  left: 40px;
}
.com-contact .contact-inner::after {
  width: 175px;
  height: 259px;
  background: url(../img/top/contact-illu-right.png) no-repeat right top/contain;
  right: -10px;
  bottom: 120px;
}
.com-contact .contact-ttl {
  text-align: center;
}
.com-contact .contact-ttl .fuki {
  display: flex;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-ttl .fuki {
    font-size: 1.5rem;
  }
}
.com-contact .contact-ttl .fuki::before, .com-contact .contact-ttl .fuki::after {
  content: "";
  width: 32px;
  height: 43px;
}
.com-contact .contact-ttl .fuki::before {
  margin-right: 20px;
  background: url(../img/top/contact-ttl-l.png) no-repeat left center/contain;
}
.com-contact .contact-ttl .fuki::after {
  margin-left: 20px;
  background: url(../img/top/contact-ttl-r.png) no-repeat left center/contain;
}
.com-contact .contact-ttl .ttl {
  max-width: 580px;
  margin: 10px auto 0;
  padding: 13px;
  border-radius: 999px;
  background: #55c146;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 3.5rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 1.5;
  position: relative;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-ttl .ttl {
    font-size: 1.75rem;
  }
}
.com-contact .contact-ttl .ttl::after {
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-right: 17px solid transparent;
  border-left: 17px solid transparent;
  border-top: 20px solid #55c146;
  border-bottom: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -20px;
}
.com-contact .contact-ttl .ttl .ac {
  color: #fff667;
}
.com-contact .contact-box {
  margin: -40px auto 0;
  padding: 115px 0;
  border-radius: 30px;
  border: 3px solid #0e0e17;
  background: url(../img/ptn/bg-white.png);
}
.com-contact .contact-line {
  display: flex;
  max-width: 500px;
  height: 70px;
  margin: auto;
  line-height: 1.5;
  color: #fff667;
  font-size: 1.6rem;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-line {
    font-size: 1.5rem;
  }
}
.com-contact .contact-line::before {
  content: "";
  width: 30px;
  height: 30px;
  margin-right: 19px;
  background: url(../img/top/contact-line.png) no-repeat left center/contain;
}
.com-contact .contact-list {
  display: flex;
  margin: 55px auto 0;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .com-contact .contact-list {
    padding-right: 80px;
  }
}
@media screen and (min-width: 768px) {
  .com-contact .contact-list li:nth-of-type(2) {
    margin-left: 68px;
  }
  .com-contact .contact-list li:nth-of-type(3) {
    margin-left: 65px;
    padding: 18px 0 18px 39px;
    border-left: 1px solid #979797;
  }
}
.com-contact .contact-mail {
  display: flex;
  background-color: #229bd9;
  font-size: 1.6rem;
  box-shadow: 0 8px #0e7fb8;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-mail {
    font-size: 1.5rem;
  }
}
.com-contact .contact-mail::before {
  content: "";
  display: block;
  width: 25px;
  height: 19px;
  margin-right: 20px;
  background: url(../img/top/contact-mail.png) no-repeat left center/contain;
}
@media screen and (min-width: 768px) {
  .com-contact .contact-mail {
    width: 300px;
    max-width: none;
    padding-right: 20px;
  }
  .com-contact .contact-mail:hover {
    box-shadow: none;
  }
}
.com-contact .contact-tel {
  text-align: center;
}
.com-contact .contact-tel-link {
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .com-contact .contact-tel-link {
    font-size: 1.5rem;
  }
}
.com-contact .contact-tel-re {
  margin: 6px auto 0;
}
.com-contact .contact-tel-note {
  margin: 13px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.3rem;
  color: #229bd9;
}

/* =========================================

  sub layout  all

========================================= */
/* guide  PC
------------------------------------ */
#guide .faq-ttl {
  text-align: center;
}
#guide .faq-ttl .ja {
  display: flex;
  margin: 10px auto 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #guide .faq-ttl .ja {
    font-size: 2.25rem;
  }
}
#guide .faq-ttl .ja::before, #guide .faq-ttl .ja::after {
  content: "";
  width: 35px;
  height: 35px;
}
#guide .faq-ttl .ja::before {
  margin-right: 25px;
  background: url(../img/guide/faq-ttl-l.png) no-repeat center/contain;
}
#guide .faq-ttl .ja::after {
  margin-left: 25px;
  background: url(../img/guide/faq-ttl-r.png) no-repeat center/contain;
}
#guide .faq-ttl .ja .ac {
  background: linear-gradient(transparent 50%, #fffaa4 50%);
  color: #229bd9;
}
#guide .faq-list {
  margin: 40px auto 0;
  padding: 60px 90px;
  border-radius: 20px;
  background: #e8f8ff;
  position: relative;
}
#guide .faq-list::before {
  content: "";
  width: 330px;
  height: 478px;
  background: url(../img/guide/faq-illu.png) no-repeat right bottom/contain;
  position: absolute;
  right: -56px;
  bottom: 51px;
}
#guide .faq-list-item {
  padding-left: 48px;
  background: url(../img/guide/check.png) no-repeat left center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.08em;
  color: #000000;
}
@media screen and (max-width: 768px) {
  #guide .faq-list-item {
    font-size: 1.5rem;
  }
}
#guide .faq-list-item .ac {
  color: #005ea6;
}
#guide .faq-list-item:nth-of-type(n+2) {
  margin: 13px auto 0;
}
#guide .solution {
  padding-top: 127px;
  background: url(../img/guide/cir.png) no-repeat center 130px, url(../img/guide/arw.png) no-repeat center 40px;
  text-align: center;
}
#guide .solution-ttl {
  display: inline-block;
  padding: 0 70px 0 118px;
  background: url(../img/guide/kira01.png) no-repeat 70px calc(100% - 10px), url(../img/guide/kira02.png) no-repeat calc(50% - 126px) 5px, url(../img/top/about-ttl-left.png) no-repeat left center, url(../img/top/about-ttl-right.png) no-repeat right center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
  text-shadow: rgb(255, 255, 255) 5px 0px 0px, rgb(255, 255, 255) 4.90033px 0.993347px 0px, rgb(255, 255, 255) 4.60531px 1.94709px 0px, rgb(255, 255, 255) 4.12668px 2.82321px 0px, rgb(255, 255, 255) 3.48353px 3.58678px 0px, rgb(255, 255, 255) 2.70151px 4.20736px 0px, rgb(255, 255, 255) 1.81179px 4.6602px 0px, rgb(255, 255, 255) 0.849836px 4.92725px 0px, rgb(255, 255, 255) -0.145998px 4.99787px 0px, rgb(255, 255, 255) -1.13601px 4.86924px 0px, rgb(255, 255, 255) -2.08073px 4.54649px 0px, rgb(255, 255, 255) -2.94251px 4.04248px 0px, rgb(255, 255, 255) -3.68697px 3.37732px 0px, rgb(255, 255, 255) -4.28444px 2.57751px 0px, rgb(255, 255, 255) -4.71111px 1.67494px 0px, rgb(255, 255, 255) -4.94996px 0.7056px 0px, rgb(255, 255, 255) -4.99147px -0.291871px 0px, rgb(255, 255, 255) -4.83399px -1.27771px 0px, rgb(255, 255, 255) -4.48379px -2.2126px 0px, rgb(255, 255, 255) -3.95484px -3.05929px 0px, rgb(255, 255, 255) -3.26822px -3.78401px 0px, rgb(255, 255, 255) -2.4513px -4.35788px 0px, rgb(255, 255, 255) -1.53666px -4.75801px 0px, rgb(255, 255, 255) -0.560763px -4.96845px 0px, rgb(255, 255, 255) 0.437495px -4.98082px 0px, rgb(255, 255, 255) 1.41831px -4.79462px 0px, rgb(255, 255, 255) 2.34258px -4.41727px 0px, rgb(255, 255, 255) 3.17346px -3.86382px 0px, rgb(255, 255, 255) 3.87783px -3.15633px 0px, rgb(255, 255, 255) 4.4276px -2.32301px 0px, rgb(255, 255, 255) 4.80085px -1.39708px 0px, rgb(255, 255, 255) 4.98271px -0.415447px 0px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 768px) {
  #guide .solution-ttl {
    font-size: 2.25rem;
  }
}
#guide .solution-ttl::before {
  content: "";
  width: 485px;
  height: 20px;
  margin: auto;
  background-color: #fffaa4;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 25px;
  z-index: -1;
}
#guide .solution-ttl .ac {
  color: #005ea6;
}
#guide .solution-txt {
  margin: 13px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 2.5;
}
@media screen and (max-width: 768px) {
  #guide .solution-txt {
    font-size: 1.5rem;
  }
}
#guide .reason-ttl {
  text-align: center;
}
#guide .reason-ttl .sm {
  margin: 13px auto 0;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 3rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #guide .reason-ttl .sm {
    font-size: 1.5rem;
  }
}
#guide .reason-ttl .ja {
  display: inline-block;
  margin: 10px auto 0;
  padding: 0 75px;
  background: url(../img/guide/reason-kira.png) no-repeat left center, url(../img/guide/reason-kira.png) no-repeat right center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 4.5rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #guide .reason-ttl .ja {
    font-size: 2.25rem;
  }
}
#guide .reason-ttl .ja .ac {
  color: #005ea6;
}
#guide .reason-list {
  margin: 70px auto 0;
}
#guide .reason-list-item {
  width: 100%;
  max-width: 330px;
  border-radius: 10px;
  padding: 38px 28px;
  background: #fff;
  position: relative;
  box-shadow: 0 5px #79d2f6;
}
@media screen and (min-width: 768px) {
  #guide .reason-list-item:nth-of-type(n+4) {
    margin: 80px auto 0;
  }
}
#guide .reason-list-num {
  margin: auto;
  text-align: center;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 5rem;
  letter-spacing: 0.05em;
  color: #229bd9;
  line-height: 1;
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
}
@media screen and (max-width: 768px) {
  #guide .reason-list-num {
    font-size: 2.5rem;
  }
}
#guide .reason-list-ttl {
  margin: 25px auto 0;
  text-align: center;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.1rem;
  letter-spacing: 0.05em;
  color: #005ea6;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  #guide .reason-list-ttl {
    font-size: 1.5rem;
  }
}
#guide .reason-list-txt {
  margin: 14px auto 0;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #guide .reason-list-txt {
    font-size: 1.5rem;
  }
}
#guide .reason-ico {
  text-align: center;
}
#guide .area-con {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #guide .area-con {
    max-width: 430px;
  }
}
#guide .area-txt-box {
  margin-top: 35px;
}
#guide .area-txt-box p:nth-of-type(n+2) {
  margin-top: 20px;
}

/* service  PC
------------------------------------ */
#service .service-list {
  margin: 40px auto 0;
}
#service .service-list-item:nth-of-type(n+2) {
  margin: 110px auto 0;
}
#service .service-list-ico {
  background: url(../img/service/illu01.png) no-repeat calc(100% - 177px) bottom;
}
#service .service-list-flx {
  margin: 50px auto 0;
}
#service .service-list-con {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #service .service-list-con {
    max-width: 500px;
  }
}
#service .service-list-check {
  margin-top: 36px;
}
#service .service-list-check.merit li::before {
  background-image: url(../img/service/check02.png);
}
#service .service-list-check-ttl {
  padding: 9px 20px;
  border-radius: 10px;
  background: #b7e9ff;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
  color: #005ea6;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #service .service-list-check-ttl {
    font-size: 1.5rem;
  }
}
#service .service-list-check-ttl.color02 {
  background-color: #23c4a0;
  color: #fff;
}
#service .service-list-check-list {
  margin-top: 18px;
}
#service .service-list-check-list li {
  display: flex;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  #service .service-list-check-list li {
    font-size: 1.5rem;
  }
}
#service .service-list-check-list li::before {
  content: "";
  display: block;
  width: 25px;
  height: 25px;
  margin-right: 10px;
  background: url(../img/service/check.png) no-repeat center/contain;
  flex-shrink: 0;
}
#service .service-list-check-list li:nth-of-type(n+2) {
  margin-top: 15px;
}
#service .service-list-reco {
  margin-top: 34px;
}
#service .service-list-reco-ttl {
  display: inline-block;
  padding: 11px 20px;
  background: #005ea6;
  border-radius: 999px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 1.2;
  position: relative;
}
@media screen and (max-width: 768px) {
  #service .service-list-reco-ttl {
    font-size: 1.5rem;
  }
}
#service .service-list-reco-ttl::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 11px solid #005ea6;
  border-bottom: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: -11px;
}
#service .service-list-reco-ttl .ac {
  color: #fff667;
  font-size: 2.5rem;
  letter-spacing: 0.05em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  #service .service-list-reco-ttl .ac {
    font-size: 1.5rem;
  }
}
#service .service-list-txt {
  margin-top: 20px;
}
#service .works-list {
  margin: 40px auto 0;
}
#service .works-list-item {
  padding: 70px 60px 50px;
}
#service .works-list-item:nth-of-type(n+2) {
  margin: 60px auto 0;
}
#service .works-ba {
  display: flex;
  margin: 40px auto 0;
  justify-content: space-between;
  background: url(../img/service/case-arw.png) no-repeat center 195px;
}
#service .works-ba-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #service .works-ba-item {
    max-width: 430px;
  }
}
#service .works-ba-ttl {
  width: 112px;
  height: 32px;
  text-align: center;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  color: #005ea6;
  border-radius: 999px;
  line-height: 32px;
}
@media screen and (max-width: 768px) {
  #service .works-ba-ttl {
    font-size: 1.5rem;
  }
}
#service .works-ba-ttl.before {
  background: #d3d3d3;
}
#service .works-ba-ttl.after {
  background: #005ea6;
  color: #fff667;
}
#service .works-ba-img {
  width: 100%;
  height: 0;
  margin: 14px auto 0;
  padding-top: 73.5%;
  border-radius: 20px;
  border: 5px solid #fff;
  outline: 2px solid #0e0e17;
  position: relative;
  overflow: hidden;
}
#service .works-dl {
  margin: 24px auto 0;
}
#service .works-dl-item {
  display: flex;
  align-items: center;
}
#service .works-dl dt {
  width: 100px;
  height: 31px;
  background: #23c4a0;
  text-align: center;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 31px;
}
@media screen and (max-width: 768px) {
  #service .works-dl dt {
    font-size: 1.5rem;
  }
}
#service .works-dl dd {
  margin-left: 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  #service .works-dl dd {
    font-size: 1.5rem;
  }
}
#service .works-txt-box {
  margin: 40px auto 0;
  padding-top: 25px;
  border-top: 2px solid #005ea6;
}
#service .price-list {
  margin: 40px auto 0;
}
#service .price-list-item:nth-of-type(n+2) {
  margin: 40px auto 0;
}
#service .price-detail {
  margin: 30px auto 0;
}
#service .price-detail-item {
  width: 100%;
  padding: 30px 40px;
  background: #e8f8ff;
}
@media screen and (min-width: 768px) {
  #service .price-detail-item {
    max-width: 520px;
  }
}
#service .price-detail-dl {
  margin: 15px auto 0;
}
#service .price-detail-dl-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#service .price-detail-dl div:nth-of-type(n+2) {
  margin-top: 13px;
}
#service .price-detail-dl dt, #service .price-detail-dl dd {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #service .price-detail-dl dt, #service .price-detail-dl dd {
    font-size: 1.5rem;
  }
}
#service .price-detail-dl dt {
  color: #005ea6;
}
#service .price-detail-dl dd {
  flex-shrink: 0;
}

/* faq  PC
------------------------------------ */
#faq .faq-list {
  margin: 40px auto 0;
}
#faq .faq-list-item:nth-of-type(n+2) {
  margin: 50px auto 0;
}
#faq .faq-list-ttl {
  padding: 16px 73px 16px;
  font-size: 2rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  #faq .faq-list-ttl {
    font-size: 1.5rem;
  }
}
#faq .faq-list-ttl::before {
  content: "Q";
  width: 38px;
  height: 38px;
  border-radius: 50%;
  text-align: center;
  background: #fff;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  color: #005ea6;
  position: absolute;
  left: 18px;
  top: 11px;
  line-height: 38px;
}
@media screen and (max-width: 768px) {
  #faq .faq-list-ttl::before {
    font-size: 1.5rem;
  }
}
#faq .faq-list-txt {
  margin: 30px auto 0;
  padding-left: 73px;
  position: relative;
}
#faq .faq-list-txt::before {
  content: "A";
  width: 38px;
  height: 38px;
  text-align: center;
  border-radius: 50%;
  background: #23c4a0;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 700;
  font-style: normal;
  font-size: 2.6rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 38px;
  position: absolute;
  left: 18px;
  top: 0px;
}
@media screen and (max-width: 768px) {
  #faq .faq-list-txt::before {
    font-size: 1.5rem;
  }
}

/* company  PC
------------------------------------ */
#company .greeting-inner {
  background: url(../img/company/greeting-illu.png) no-repeat 106px calc(100% - 100px);
}
#company .greeting-flx {
  margin: 35px auto 0;
}
#company .greeting-con {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company .greeting-con {
    max-width: 540px;
  }
}
#company .greeting-dl {
  display: flex;
  margin: 14px auto 0;
  justify-content: center;
  align-items: center;
}
#company .greeting-dl dt {
  width: 52px;
  height: 25px;
  margin-right: 10px;
  background: #229bd9;
  text-align: center;
  border-radius: 999px;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  color: #fff;
  line-height: 25px;
}
@media screen and (max-width: 768px) {
  #company .greeting-dl dt {
    font-size: 1.5rem;
  }
}
#company .greeting-dl dd {
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  #company .greeting-dl dd {
    font-size: 1.5rem;
  }
}
#company .company-box {
  width: 95%;
  max-width: 1680px;
  margin: auto;
  border: 5px solid #229bd9;
  border-radius: 50px;
  background: url(../img/ptn/bg-white.png);
}
#company .company-table {
  margin: 42px auto 0;
}
#company .company-map {
  margin: 50px auto 0;
}
#company .company-map-item {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #company .company-map-item {
    max-width: 500px;
  }
}
#company .company-map-ttl {
  display: flex;
  font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 2rem;
  letter-spacing: 0.05em;
  color: #005ea6;
  white-space: nowrap;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #company .company-map-ttl {
    font-size: 1.5rem;
  }
}
#company .company-map-ttl::after {
  content: "";
  width: 100%;
  height: 2px;
  margin-left: 15px;
  background: #005ea6;
}

/* news  PC
------------------------------------ */
#news .com-news-box {
  padding: 30px;
  border: 2px solid #005ea6;
  border-radius: 30px;
}
#news .com-news-tag {
  justify-content: flex-start;
}
#news .com-news-ttl {
  margin-top: 5px;
}

/* contact  PC
------------------------------------ */
#contact .contact-form-table {
  border-collapse: separate;
  border-spacing: 0 10px;
}
#contact .contact-form-table th, #contact .contact-form-table td {
  vertical-align: middle;
}
#contact .contact-form-table th {
  background: #229bd9;
  border-radius: 8px;
  color: #fff;
}

/* privacy  PC
------------------------------------ */
#privacy .privacy-inner {
  padding-top: 20px;
}

/* site  PC
------------------------------------ */
#site .site-box {
  margin: auto;
}/*# sourceMappingURL=all.css.map */