@charset "UTF-8";
@font-face {
  font-family: noto-serif-jp-R;
  src: url("/fonts/noto-serif-jp-R.woff") format("woff"), url("/fonts/noto-serif-jp-R.woff2") format("woff2");
}
@font-face {
  font-family: roboto-light;
  src: url("/fonts/roboto-light.woff") format("woff"), url("/fonts/roboto-light.woff2") format("woff2");
}
@font-face {
  font-family: roboto-medium;
  src: url("/fonts/roboto-medium.woff") format("woff"), url("/fonts/roboto-medium.woff2") format("woff2");
}
.p-mv {
  padding-bottom: 287px;
  margin-bottom: 0;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .p-mv {
    padding-bottom: 140px;
  }
}
.p-mv__text {
  text-align: center;
  position: absolute;
  bottom: 11%;
  left: 50%;
  transform: translateX(-50%);
  font-size: 40px;
  line-height: 1.21275;
  font-family: noto-serif-jp-R;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .p-mv__text {
    white-space: nowrap;
    bottom: 5%;
    font-size: 25px;
    line-height: 1.4204;
  }
}
@media screen and (max-width: 768px) {
  .p-mv__text {
    bottom: 7%;
  }
}
.p-mv__catch {
  top: 64%;
}

/* 投稿のスライダー */
.textSwiper__box {
  padding: 0 20px;
  position: relative;
  z-index: 1;
  margin-top: -32.51px;
}
@media screen and (max-width: 1200px) {
  .textSwiper__box {
    margin-top: -25.045px;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__box {
    margin-top: -36.045px;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__box {
    margin-top: -36.045px;
  }
}
@media screen and (max-width: 660px) {
  .textSwiper__box {
    padding: 0px 0px;
    margin-top: 0px;
  }
}
.textSwiper__box .swiper-post {
  margin-left: 277px;
  margin-right: 236px;
  padding-left: 43px;
  background-color: #ddf0f8;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .textSwiper__box .swiper-post {
    margin-left: 199px;
    margin-right: 166px;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__box .swiper-post {
    margin-left: 125px;
  }
}
@media screen and (max-width: 660px) {
  .textSwiper__box .swiper-post {
    margin-left: 91px;
    padding-left: 0px;
    margin-right: 85px;
  }
}
.textSwiper__box .swiper-post .swiper-slide {
  display: flex;
  background-color: #ddf0f8;
}
@media screen and (max-width: 930px) {
  .textSwiper__box .swiper-post .swiper-slide {
    flex-direction: column;
  }
}
.textSwiper__inner {
  max-width: 1400px;
  width: 100%;
  height: 63.95px;
  margin: 0 auto;
  background-color: #ddf0f8;
  position: relative;
  padding-top: 19.05px;
  padding-bottom: 19.05px;
}
@media screen and (max-width: 1200px) {
  .textSwiper__inner {
    height: 50.09px;
    padding: 12px 0px;
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__inner {
    height: 72.09px;
    padding: 0px 0px;
  }
}
@media screen and (max-width: 430px) {
  .textSwiper__inner {
    padding-top: 10.05px;
    padding-bottom: 10.05px;
  }
}
.textSwiper__data {
  display: flex;
  align-items: center;
  font-size: 14px;
  line-height: 1.9235714286;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  color: #109dcd;
}
@media screen and (max-width: 1200px) {
  .textSwiper__data {
    font-size: 12px;
    line-height: 1;
  }
}
.textSwiper__data .--date {
  margin-right: 67px;
}
@media screen and (max-width: 1200px) {
  .textSwiper__data .--date {
    margin-right: 29px;
  }
}
.textSwiper__data .--cate {
  color: #109dcd;
  margin-right: 58px;
}
@media screen and (max-width: 1200px) {
  .textSwiper__data .--cate {
    margin-right: 29px;
  }
}
.textSwiper__postTtl {
  font-size: 14px;
  line-height: 1.9235714286;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
}
@media screen and (max-width: 1200px) {
  .textSwiper__postTtl {
    font-size: 12px;
    line-height: 1;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__postTtl {
    margin-top: 10px;
  }
}
@media screen and (max-width: 500px) {
  .textSwiper__postTtl {
    margin-top: 8px;
    font-size: 12px;
    line-height: 1.3333333333;
  }
}
.textSwiper__postTtl > a {
  color: #109dcd;
}
.textSwiper__ttl {
  display: inline-block;
  max-width: 277px;
  width: 100%;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  font-family: roboto-medium;
  letter-spacing: 0.2em;
  color: #109dcd;
  position: absolute;
  top: 0;
  left: 0;
  text-align: right;
  padding-top: 22px;
  padding-bottom: 22px;
  z-index: 1;
}
@media screen and (max-width: 1200px) {
  .textSwiper__ttl {
    max-width: 207px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    padding-top: 17.055px;
    padding-bottom: 17.055px;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__ttl {
    max-width: 122px;
    padding-top: 27.055px;
    padding-bottom: 27.055px;
  }
}
@media screen and (max-width: 660px) {
  .textSwiper__ttl {
    max-width: 91px;
    padding: 29.055px 0;
    overflow: hidden;
    text-align: center;
  }
}
.textSwiper__ttl::before {
  content: "";
  display: inline-block;
  background-image: url("/img/toppage/post-slider-back.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 277px;
  height: 65px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}
@media screen and (max-width: 1200px) {
  .textSwiper__ttl::before {
    width: 207px;
    height: 50.09px;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__ttl::before {
    position: absolute;
    top: 0;
    left: 0px;
    width: 119px;
    height: 72.09px;
    background-image: url("/img/toppage/post-slider-back-sp.png");
    background-position: 100% 100%;
    background-size: cover;
  }
}
@media screen and (max-width: 660px) {
  .textSwiper__ttl::before {
    left: 0px;
    width: 91px;
    height: 93.09px;
  }
}
.textSwiper__btn {
  max-width: 236px;
  width: 100%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}
@media screen and (max-width: 1200px) {
  .textSwiper__btn {
    max-width: 166px;
  }
}
@media screen and (max-width: 540px) {
  .textSwiper__btn {
    max-width: 72px;
  }
}
.textSwiper__btnLink {
  display: block;
  background-color: #5bbde5;
  position: relative;
}
.textSwiper__btnLink > span {
  display: block;
  font-size: 14px;
  line-height: 1.9235714286;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.2em;
  color: #fff;
  padding-top: 18.51px;
  padding-bottom: 18.51px;
  text-align: center;
}
@media screen and (max-width: 1200px) {
  .textSwiper__btnLink > span {
    font-size: 12px;
    line-height: 1.92325;
    padding: 13.51px 0;
  }
}
@media screen and (max-width: 930px) {
  .textSwiper__btnLink > span {
    padding: 24.51px 0;
  }
}
@media screen and (max-width: 540px) {
  .textSwiper__btn .textSwiper__btnText-pc {
    display: none;
  }
}
.textSwiper__btn .textSwiper__btnText-sp {
  display: none;
}
@media screen and (max-width: 540px) {
  .textSwiper__btn .textSwiper__btnText-sp {
    display: block;
  }
}

/* 料金表 */
.price {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 1120px;
  padding: 0 20px;
  background-image: url(/img/toppage/price-back.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  /* 料金表サブ */
}
@media screen and (max-width: 1060px) {
  .price {
    height: 105.66vw;
  }
}
@media screen and (max-width: 500px) {
  .price {
    background-image: url(/img/toppage/price-back-sp.jpg);
  }
}
.price.bg-lazy {
  background-image: none !important;
}
.price__img {
  display: block;
  max-width: 1030px;
  width: 100%;
  margin: 0 auto;
}
.priceSub {
  margin-top: 55px;
}
@media screen and (max-width: 768px) {
  .priceSub {
    margin-top: 27.5px;
  }
}
.priceSub__item {
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.1em;
  font-family: noto-serif-jp-R;
}
@media screen and (max-width: 768px) {
  .priceSub__item {
    font-size: 12.8px;
    line-height: 2.25;
  }
}
.priceSubUnder__list {
  margin-left: 22px;
}
.priceCard {
  margin-top: 44px;
}
@media screen and (max-width: 768px) {
  .priceCard {
    margin-top: 22px;
  }
}
.priceCard__inner {
  border: 2px solid #d4ecf3;
  border-radius: 15px;
}
.priceCard__cols {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .priceCard__cols {
    flex-direction: column;
    align-items: center;
  }
}
.priceCard__col:first-of-type {
  display: flex;
  align-items: center;
  max-width: 362px;
  width: 100%;
  padding-left: 49px;
  background-color: #d4ecf3;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .priceCard__col:first-of-type {
    max-width: 100%;
    text-align: center;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 0;
  }
}
.priceCard__col:first-of-type:after {
  content: "";
  display: inline-block;
  border: 60.5px solid transparent;
  border-left: 42px solid #d4ecf3;
  position: absolute;
  top: 0;
  right: -99px;
}
@media screen and (max-width: 1024px) {
  .priceCard__col:first-of-type:after {
    border: 26.9px solid transparent;
    border-left: 26.9px solid transparent;
    border-top: 22.4px solid #d4ecf3;
    position: absolute;
    top: unset;
    bottom: -49.3px;
    right: unset;
    left: 50%;
    transform: translateX(-50%);
  }
}
.priceCard__colText {
  font-size: 25px;
  line-height: 1.4;
  font-family: noto-serif-jp-R;
}
@media screen and (max-width: 1024px) {
  .priceCard__colText {
    max-width: 289.2px;
    width: 100%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 768px) {
  .priceCard__colText {
    font-size: 20px;
    line-height: 1.45;
  }
}
.priceCard__col:last-of-type {
  padding-top: 20px;
  padding-bottom: 20px;
  padding-right: 29px;
}
@media screen and (max-width: 1024px) {
  .priceCard__col:last-of-type {
    padding-top: 25px;
    padding-bottom: 15px;
    padding-right: 0;
  }
}
.priceBtn {
  margin-top: 62px;
}
@media screen and (max-width: 768px) {
  .priceBtn {
    margin-top: 31px;
  }
}
.priceBtn__cols {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1024px) {
  .priceBtn__cols {
    flex-direction: column;
    align-items: center;
  }
}
.priceBtn__col {
  border: 1px solid #4fa3c7;
  width: calc((100% - 38px) / 2);
  margin-right: 38px;
  position: relative;
  overflow: hidden;
  height: 74px;
  transition: background-color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.priceBtn__col:hover {
  background-color: #4faec7;
}
.priceBtn__col:hover .priceBtn__text {
  color: #fff;
}
.priceBtn__col:hover::before {
  background-color: #fff;
}
.priceBtn__col:hover::after {
  background-color: #fff;
}
@media screen and (max-width: 1024px) {
  .priceBtn__col {
    max-width: 481px;
    width: 100%;
    margin-right: 0;
  }
}
.priceBtn__col::before {
  content: "";
  display: inline-block;
  width: 100px;
  height: 1px;
  background-color: #4fa3c7;
  transform: rotate(60deg);
  position: absolute;
  top: -7px;
  right: 0;
  transition: background-color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.priceBtn__col::after {
  content: "";
  display: inline-block;
  width: 100px;
  height: 1px;
  background-color: #4fa3c7;
  transform: rotate(-60deg);
  position: absolute;
  bottom: -7px;
  right: 0;
  transition: background-color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.priceBtn__col:last-of-type {
  margin-right: 0;
}
.priceBtn__col:last-of-type .priceBtn__link {
  padding-left: 52px;
}
@media screen and (max-width: 530px) {
  .priceBtn__col:last-of-type .priceBtn__link {
    padding-left: 9.811vw;
  }
}
@media screen and (max-width: 1024px) {
  .priceBtn__col:last-of-type {
    margin-top: 20px;
  }
}
.priceBtn__link {
  display: block;
  width: 100%;
  height: 100%;
  padding-left: 80px;
  padding-top: 24.75px;
  padding-bottom: 24.75px;
}
@media screen and (max-width: 530px) {
  .priceBtn__link {
    display: flex;
    align-items: center;
    padding-left: 15.094vw;
  }
}
.priceBtn__text {
  display: block;
  font-size: 20px;
  line-height: 1;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.2em;
  color: #109dcd;
  transition: color 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 530px) {
  .priceBtn__text {
    font-size: 3.774vw;
  }
}

/* 無料プレゼント */
.present {
  padding-top: 84px;
}
@media screen and (max-width: 768px) {
  .present {
    padding-top: 42px;
  }
}
.present__sub {
  font-size: 25px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-align: center;
  font-family: shippori-mincho, sans-serif;
  font-style: normal;
  margin-top: 39px;
}
@media screen and (max-width: 1024px) {
  .present__sub {
    font-size: 11.2px;
    line-height: 2.25;
  }
}
@media screen and (max-width: 768px) {
  .present__sub {
    margin-top: 9px;
  }
}
.present__cols {
  display: flex;
  flex-wrap: wrap;
  margin-top: -26px;
}
@media screen and (max-width: 1024px) {
  .present__cols {
    margin-top: -10px;
  }
}
.present__col {
  width: 47.92%;
  margin-right: 4.16%;
  margin-top: 79px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.present__col.fadeIn {
  opacity: 1;
  transform: translateY(0px);
}
.present__col:nth-child(even) {
  margin-right: 0%;
}
@media screen and (max-width: 1024px) {
  .present__col:nth-child(even) {
    margin-right: auto;
  }
}
@media screen and (max-width: 1024px) {
  .present__col {
    max-width: 575px;
    width: 100%;
    margin: 0 auto;
    margin-top: 45px;
  }
}
@media screen and (max-width: 768px) {
  .present__col {
    margin-top: 39.5px;
  }
}
.present__colImgBox {
  position: relative;
}
.present__colImgBox::before {
  content: "";
  display: inline-block;
  border: 124px solid transparent;
  border-top: 94px solid #fff;
  position: absolute;
  top: 0px;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 615px) {
  .present__colImgBox::before {
    border: 20.163vw solid transparent;
    border-top: 15.285vw solid #fff;
  }
}
.present__colImgNumber {
  position: absolute;
  top: -7px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.2em;
  font-family: roboto-medium;
}
@media screen and (max-width: 615px) {
  .present__colImgNumber {
    font-size: 2.602vw;
    line-height: 2.602vw;
  }
}
.present__colImgNumber::after {
  content: attr(data-number);
  display: block;
  text-align: center;
  font-size: 48px;
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: roboto-light;
  margin-top: 7px;
}
@media screen and (max-width: 615px) {
  .present__colImgNumber::after {
    font-size: 7.805vw;
    line-height: 7.805vw;
    margin-top: 1.138vw;
  }
}
.present__colTtl {
  font-size: 35px;
  font-weight: 500;
  line-height: 1.7837142857;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  text-align: center;
  margin-top: 17px;
}
.present__colTtl--mt {
  margin-top: 38px;
}
@media screen and (max-width: 1024px) {
  .present__colTtl {
    font-size: 24.5px;
    line-height: 1.7836734694;
  }
}
@media screen and (max-width: 768px) {
  .present__colTtl {
    margin-top: 8.5px;
  }
}
.present__colSub {
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .present__colSub {
    font-size: 14px;
    line-height: 1;
  }
}
.present__colText {
  font-size: 16.81px;
  line-height: 2.250446163;
  letter-spacing: 0.1em;
  font-family: noto-serif-jp-R;
  margin-top: 28px;
}
.present__colText--mt {
  margin-top: 31px;
}
@media screen and (max-width: 768px) {
  .present__colText--mt {
    margin-top: 15.5px;
  }
}
@media screen and (max-width: 1024px) {
  .present__colText {
    font-size: 12px;
    line-height: 2.205;
  }
}
@media screen and (max-width: 768px) {
  .present__colText {
    margin-top: 14px;
  }
}
.present__colList {
  margin-top: 38px;
}
@media screen and (max-width: 768px) {
  .present__colList {
    margin-top: 19px;
  }
}
.present__colItem {
  font-size: 16.81px;
  line-height: 2.250446163;
  letter-spacing: 0.1em;
  font-family: noto-serif-jp-R;
}
@media screen and (max-width: 1024px) {
  .present__colItem {
    font-size: 12px;
    line-height: 2.205;
  }
}

/* cta */
.ctoa {
  height: 600px;
  background-image: url(/img/toppage/ctoa-back.jpg);
  background-size: cover;
  background-repeat: repeat;
  background-position: center center;
  display: flex;
  align-items: center;
  margin-top: 100px;
}
@media screen and (max-width: 768px) {
  .ctoa {
    margin-top: 50px;
    height: 552px;
  }
}
@media screen and (max-width: 500px) {
  .ctoa {
    background-image: url(/img/toppage/ctoa-back-sp.jpg);
  }
}
.ctoa.bg-lazy {
  background-image: none !important;
}
.ctoa__box {
  border: 2px solid #fff;
  padding: 7px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.ctoa__box.fadeIn {
  opacity: 1;
  transform: translateY(0px);
}
.ctoa__boxInner {
  background-color: #fff;
  padding-top: 46px;
  padding-bottom: 35px;
  padding-left: 15px;
  padding-right: 15px;
}
@media screen and (max-width: 768px) {
  .ctoa__boxInner {
    padding-top: 23px;
    padding-bottom: 17.5px;
  }
}
.ctoa__cols {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.ctoa__col.logo {
  max-width: 349.4854px;
}
.ctoa__col.text {
  margin-top: 13px;
}
.ctoa__colText {
  font-size: 32px;
  line-height: 1.5625;
  font-family: noto-serif-jp-R;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .ctoa__colText {
    font-size: 22.4px;
    line-height: 1.5625;
  }
}
@media screen and (max-width: 480px) {
  .ctoa__colText {
    font-size: 4.64vw;
  }
}
.ctoa__col.time {
  max-width: 496px;
  width: 100%;
  text-align: center;
  background-color: #109dcd;
  border-radius: 50px;
  margin-top: 17px;
}
.ctoa__colTime {
  font-size: 30px;
  font-weight: 500;
  line-height: 1.5;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  letter-spacing: 0.1em;
  color: #fff;
  padding: 2.5px 0;
}
@media screen and (max-width: 768px) {
  .ctoa__colTime {
    font-size: 21px;
    line-height: 1.5;
  }
}
.ctoa__btnCols {
  display: flex;
  justify-content: center;
  margin-top: 34px;
}
@media screen and (max-width: 768px) {
  .ctoa__btnCols {
    flex-direction: column;
  }
}
.ctoa__btnCol {
  max-width: 385px;
  width: 100%;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .ctoa__btnCol {
    margin: 0 auto;
  }
}
.ctoa__btnCol.mail {
  background-color: #ddf0f8;
  margin-right: 30px;
}
@media screen and (max-width: 768px) {
  .ctoa__btnCol.mail {
    margin-right: auto;
  }
}
.ctoa__btnCol.mail .ctoa__btnColLink {
  padding: 25.75px 0;
}
.ctoa__btnCol.mail .ctoa__btnColText {
  font-size: 22px;
  font-weight: 700;
  line-height: 2.2095454545;
  letter-spacing: 0.2em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  color: #109dcd;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .ctoa__btnCol.mail .ctoa__btnColText {
    font-size: 15.5px;
    line-height: 2.1935483871;
  }
}
.ctoa__btnCol.mail .ctoa__btnColText::before {
  content: "";
  display: inline-block;
  width: 40.1166px;
  height: 28.3583px;
  background-image: url(/img/toppage/icon-ctoa-mail.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 10px;
}
@media screen and (max-width: 480px) {
  .ctoa__btnCol.mail .ctoa__btnColText::before {
    width: 28px;
    height: 19.8px;
  }
}
.ctoa__btnCol.tel {
  background-color: #5bbde5;
  padding-top: 1.7px;
  padding-bottom: 9.7px;
}
@media screen and (max-width: 768px) {
  .ctoa__btnCol.tel {
    margin-top: 20px;
    padding-top: 8.2px;
    padding-bottom: 15.2px;
  }
}
.ctoa__btnCol.tel .ctoa__btnColText {
  font-size: 22px;
  font-weight: 700;
  line-height: 2.2095454545;
  letter-spacing: 0.2em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  color: #fff33f;
}
@media screen and (max-width: 480px) {
  .ctoa__btnCol.tel .ctoa__btnColText {
    font-size: 15.4px;
    line-height: 2.1233766234;
  }
}
.ctoa__btnColNumber {
  font-size: 40px;
  font-weight: 500;
  line-height: 1;
  font-family: roboto-medium;
  color: #fff33f;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 480px) {
  .ctoa__btnColNumber {
    font-size: 28px;
    line-height: 1;
  }
}
.ctoa__btnColNumber::before {
  content: "";
  display: inline-block;
  width: 40.4903px;
  height: 23.1667px;
  background-image: url(/img/toppage/icon-ctoa-tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  margin-right: 7px;
}
@media screen and (max-width: 480px) {
  .ctoa__btnColNumber::before {
    width: 28.3px;
    height: 16.2px;
  }
}
.ctoa__btnColLink {
  display: block;
}

/* 火葬 */
.kasou {
  margin-top: 100px;
}
.kasou:last-of-type {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .kasou {
    margin-top: 50px;
  }
}
.kasou__ttl {
  font-size: 35px;
  font-weight: 500;
  line-height: 1.5714285714;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  color: #109dcd;
}
@media screen and (max-width: 768px) {
  .kasou__ttl {
    font-size: 23.5px;
    line-height: 1.5680851064;
  }
}
.kasou__textBox {
  margin-top: -41px;
}
.kasou .box050.bg-lazy {
  background-image: none !important;
}
.kasou .box050__txt p {
  margin-bottom: 0px;
}
@media screen and (max-width: 1024px) {
  .kasou .box050:nth-child(2n) > .c-flex {
    flex-direction: column;
  }
}
.kasou__text {
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.1em;
  color: #000;
  margin-top: 28px;
}
@media screen and (max-width: 768px) {
  .kasou__text {
    font-size: 12.8px;
    line-height: 2.25;
    margin-top: 14px;
  }
}
.kasou__text:first-of-type {
  margin-top: 15px;
}
@media screen and (max-width: 768px) {
  .kasou__text:first-of-type {
    margin-top: 7.5px;
  }
}
.kasou__textLink:first-of-type {
  display: inline-block;
  max-width: 330px;
  width: 100%;
  color: #109dcd;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.875;
  letter-spacing: 0.2em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  border-bottom: 1px solid #109dcd;
  margin-top: 4px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .kasou__textLink:first-of-type {
    font-size: 12.8px;
    font-weight: 700;
    line-height: 1.875;
  }
}
.kasou__textLink:first-of-type::after {
  content: "";
  display: inline-block;
  width: 19px;
  height: 1px;
  background-color: #109dcd;
  transform: rotate(30deg);
  position: absolute;
  bottom: 4px;
  right: -3px;
}
.kasou__list {
  margin-top: 44px;
}
@media screen and (max-width: 768px) {
  .kasou__list {
    margin-top: 22px;
  }
}
.kasou__item {
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.05em;
  color: #000;
}
@media screen and (max-width: 768px) {
  .kasou__item {
    font-size: 12.8px;
    line-height: 2;
  }
}
.kasou__img {
  opacity: 0;
  transform: translateX(20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.kasou__img.fadeRightIn {
  opacity: 1;
  transform: translateX(0px);
}
.kasou__img002 {
  opacity: 0;
  transform: translateX(-20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.kasou__img002.fadeLeftIn {
  opacity: 1;
  transform: translateX(0px);
}

.box050.img_right {
  background: url(/img/toppage/kasou-back001.jpg) 0 0/50% 100% no-repeat;
  background-size: 50% 100%;
}

.box050.img_left {
  background: url(/img/toppage/kasou-back002.png) 0 0/50% 100% no-repeat;
  background-size: 50% 100%;
  background-position: right;
}

@media screen and (max-width: 1024px) {
  .box050.img_right {
    background-size: 100% 100%;
  }
  .box050.img_left {
    background-size: 100% 100%;
  }
}
/* news */
.news {
  position: relative;
  margin-bottom: 0;
}
.news__inner {
  background: unset;
  padding-bottom: 0;
}
@media screen and (max-width: 768px) {
  .news__inner {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 1024px) {
  .news__inner > .c-flex {
    flex-direction: column;
  }
}
.news .p-top__blog__content > .c-flex {
  justify-content: flex-start;
}
.p-top__blog__li {
  width: calc((100% - 60px) / 4);
  margin-right: 60px;
}
.news .p-top__blog__li > div > a {
  width: 100%;
  height: 150.67px;
  position: relative;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .p-top__blog__li {
    width: calc((100% - 16px) / 2);
    margin-right: 16px;
  }
  .news .p-top__blog__li > div > a {
    width: 100%;
    height: 30.358vw;
  }
}
.news .p-top__blog__li > div > a > img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.news__tag {
  width: 88px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
  font-family: roboto-medium;
  color: #fff;
}
.news__text {
  position: absolute;
  top: 29%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.news__btn {
  max-width: 226px;
  width: 100%;
  margin: 0 auto;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .news__btn {
    margin-top: -18px;
  }
}
.news__btnLink {
  display: block;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .news .p-top__blog__txt {
    width: 100%;
  }
}
@media screen and (max-width: 1024px) {
  .news .p-top__blog__content__wrapper {
    padding: 3% 0% 0 0%;
  }
}
@media screen and (max-width: 1024px) {
  .news .p-top__blog__content {
    width: 100%;
  }
}
.news .p-top__blog__txt {
  margin-bottom: 61px;
}
.news .p-top__blog__li__title > a {
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .news .p-top__blog__li__title > a {
    font-size: 11.2px;
    line-height: 1.7142857143;
  }
}

@media screen and (max-width: 768px) {
  .p-top__blog__li .c-flex a {
    font-size: 1.1rem;
  }
  .p-top__blog__li .c-flex a {
    padding: 2px 6px;
  }
}
.p-top__blog__txt {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p-top__blog__txt {
    margin-top: 20px;
  }
}

/* Q&A */
.qa {
  padding-top: 43px;
}
@media screen and (max-width: 768px) {
  .qa {
    padding-top: 21.5px;
  }
}
.qa__box {
  padding: 0 99px;
  background-color: #ddf0f8;
  margin-top: 54px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.qa__box.fadeIn {
  opacity: 1;
  transform: translateY(0px);
}
@media screen and (max-width: 768px) {
  .qa__box {
    margin-top: 27px;
  }
}
.qa__box:nth-child(3) {
  margin-top: 42px;
}
@media screen and (max-width: 768px) {
  .qa__box:nth-child(3) {
    margin-top: 21px;
  }
}
@media screen and (max-width: 1024px) {
  .qa__box {
    padding: 0 5.668vw;
  }
}
@media screen and (max-width: 768px) {
  .qa__box {
    padding: 0 5.668vw;
  }
}
.qa__parent {
  display: flex;
  align-items: center;
  background-color: #ddf0f8;
  padding-top: 37px;
  padding-bottom: 36px;
  cursor: pointer;
}
@media screen and (max-width: 768px) {
  .qa__parent {
    flex-direction: column;
    align-items: flex-start;
    padding-top: 18.5px;
    padding-bottom: 18px;
  }
}
.qa__parentWrapper {
  position: relative;
  z-index: 2;
}
.qa__parentIconBox {
  border-width: 35px;
  border-style: solid;
  border-top-color: #5bbde5;
  border-left-color: #5bbde5;
  border-right-color: #109dcd;
  border-bottom-color: #109dcd;
  position: relative;
  z-index: 2;
  margin-right: 50px;
}
@media screen and (max-width: 768px) {
  .qa__parentIconBox {
    border-width: 24.5px;
  }
}
.qa__parentBack {
  content: "";
  display: inline-block;
  width: 49px;
  height: 49px;
  background-image: radial-gradient(#7bded9 20%, transparent 20%), radial-gradient(#7bded9 20%, transparent 20%);
  background-size: 6px 6px;
  background-position: 0 0, 3px 3px;
  background-repeat: repeat;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 1;
}
.qa__parentIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 45px;
  font-weight: 500;
  line-height: 1;
  font-family: roboto-medium;
  color: #fff;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  .qa__parentIcon {
    font-size: 31.5px;
    font-weight: 500;
    line-height: 1;
  }
}
.qa__parentText {
  font-size: 22px;
  font-weight: 500;
  line-height: 1.6363636364;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
}
@media screen and (max-width: 768px) {
  .qa__parentText {
    margin-top: 20px;
    font-size: 17.6px;
    font-weight: 500;
    line-height: 1.6363636364;
  }
}
.qa__child {
  display: flex;
  align-items: flex-start;
  background-color: #ddf0f8;
  opacity: 0;
  max-height: 0px;
  padding-bottom: 0px;
  transform-origin: 50% 0%;
  transition: padding-bottom 0.6s cubic-bezier(0.19, 1, 0.22, 1), max-height 0.6s cubic-bezier(0.19, 1, 0.22, 1), opacity 0.3s ease-in-out;
}
@media screen and (max-width: 768px) {
  .qa__child {
    flex-direction: column;
    padding-right: 0;
    padding-left: 0;
  }
}
.qa__child.open {
  padding-bottom: 36px;
  max-height: 350px;
}
@media screen and (max-width: 768px) {
  .qa__child.open {
    max-height: 550px;
    padding-bottom: 18px;
  }
}
.qa__child.opc {
  opacity: 1;
}
.qa__childWrapper {
  position: relative;
  z-index: 2;
}
.qa__childIconBox {
  width: 70px;
  height: 70px;
  border: 2px solid #109dcd;
  background-color: #fff;
  position: relative;
  z-index: 10;
  margin-right: 50px;
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
  z-index: 5;
}
.qa__childIconBox.open {
  transform: scaleY(1);
}
@media screen and (max-width: 768px) {
  .qa__childIconBox {
    width: 49px;
    height: 49px;
  }
}
.qa__childIcon {
  position: absolute;
  top: 50%;
  left: 50%;
  font-size: 45px;
  font-weight: 500;
  line-height: 0;
  font-family: roboto-medium;
  color: #109dcd;
  z-index: 10;
  transform-origin: 50% 0%;
  transform: scaleY(0) translate(-50%, -50%);
  transition: line-height 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.qa__childIcon.open {
  line-height: 50px;
  transform: scaleY(1) translate(-50%, -50%);
}
@media screen and (max-width: 768px) {
  .qa__childIcon.open {
    line-height: 40px;
  }
}
.qa__childBack {
  width: 70px;
  border-width: 35px;
  border-style: solid;
  border-top-color: #5bbde5;
  border-left-color: #109dcd;
  border-right-color: #5bbde5;
  border-bottom-color: #109dcd;
  position: absolute;
  top: 5px;
  left: 5px;
  z-index: 2;
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.qa__childBack.open {
  transform: scaleY(1);
}
@media screen and (max-width: 768px) {
  .qa__childBack {
    width: 49px;
    border-width: 24.5px;
  }
}
.qa__childText {
  font-size: 16px;
  line-height: 0;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
  font-feature-settings: "palt";
  transform-origin: 50% 0%;
  transform: scaleY(0);
  transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
@media screen and (max-width: 768px) {
  .qa__childText {
    margin-top: 20px;
  }
}
.qa__childText.open {
  font-size: 16px;
  line-height: 2.0625;
  transform: scaleY(1);
}
@media screen and (max-width: 768px) {
  .qa__childText.open {
    font-size: 12.8px;
    line-height: 2.0625;
  }
}

/* 会社概要 */
.company {
  padding-top: 115px;
}
@media screen and (max-width: 768px) {
  .company {
    padding-top: 57.5px;
  }
}
.company__map {
  height: 600px;
  position: relative;
  margin-top: 51px;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .company__map {
    height: 500px;
  }
}
@media screen and (max-width: 768px) {
  .company__map {
    height: 550px;
    margin-top: 25.5px;
  }
}
.company__mapLink {
  width: 100%;
  height: 900px;
  position: absolute;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1024px) {
  .company__mapLink {
    height: 800px;
  }
}
@media screen and (max-width: 768px) {
  .company__mapLink {
    height: 850px;
  }
}
.company__mapBox {
  position: absolute;
  top: 0;
  right: 13.5%;
  z-index: 2;
  background-color: #fff;
  padding: 24px 37px;
}
@media screen and (max-width: 1370px) {
  .company__mapBox {
    right: 3%;
  }
}
@media screen and (max-width: 1024px) {
  .company__mapBox {
    padding: 16.8px 25.9px;
  }
}
@media screen and (max-width: 768px) {
  .company__mapBox {
    right: 0%;
    padding: 6.8px 15.9px;
  }
}
.company__mapBoxLogo {
  max-width: 252px;
  width: 100%;
  margin-top: 14px;
}
@media screen and (max-width: 1024px) {
  .company__mapBoxLogo {
    max-width: 169px;
  }
}
@media screen and (max-width: 768px) {
  .company__mapBoxLogo {
    max-width: 144px;
  }
}
.company__mapBoxPlace {
  margin-top: 10px;
}
.company__mapBox dt {
  display: inline-block;
}
.company__mapBox dd {
  display: inline-block;
}
.company__map .mapFont {
  font-size: 14px;
  line-height: 1.7142857143;
  letter-spacing: 0.05em;
  font-family: noto-sans-cjk-jp, sans-serif;
  font-style: normal;
}
@media screen and (max-width: 1024px) {
  .company__map .mapFont {
    font-size: 8px;
    line-height: 1.5;
  }
}
.company__text {
  font-size: 16px;
  line-height: 2.25;
  letter-spacing: 0.05em;
  font-family: noto-serif-jp-R;
  text-align: center;
  padding: 58px 15px 0px;
  margin-bottom: 88px;
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s cubic-bezier(0.19, 1, 0.22, 1), transform 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}
.company__text.fadeIn {
  opacity: 1;
  transform: translateY(0px);
}
/*@media screen and (max-width: 1024px) {
  .company__text {
    white-space: nowrap;
  }
}
*/@media screen and (max-width: 768px) {
  .company__text {
    padding-top: 29px;
    margin-bottom: 44px;
  }
}
@media screen and (max-width: 510px) {
  .company__text {
    font-size: 3.137vw;
    line-height: 7.059vw;
  }
}


.top_bnr { margin: 7% auto; padding: 0px 15px;}



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