/* --

top.css

 ------------------------------------
-- */
@import url(https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap&subset=japanese);
@-webkit-keyframes toggle-top {
  0% {
    -webkit-transform: translateY(-5px) rotate(0deg);
            transform: translateY(-5px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-7px) rotate(0deg);
            transform: translateY(-7px) rotate(0deg);
  }
}
@keyframes toggle-top {
  0% {
    -webkit-transform: translateY(-5px) rotate(0deg);
            transform: translateY(-5px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(-7px) rotate(0deg);
            transform: translateY(-7px) rotate(0deg);
  }
}
@-webkit-keyframes toggle-bottom {
  0% {
    -webkit-transform: translateY(5px) rotate(0deg);
            transform: translateY(5px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
            transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(7px) rotate(0deg);
            transform: translateY(7px) rotate(0deg);
  }
}
@keyframes toggle-bottom {
  0% {
    -webkit-transform: translateY(5px) rotate(0deg);
            transform: translateY(5px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0px) rotate(0deg);
            transform: translateY(0px) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(7px) rotate(0deg);
            transform: translateY(7px) rotate(0deg);
  }
}
@-webkit-keyframes toggle-top-close {
  0% {
    -webkit-transform: translateY(-8px) rotate(0deg);
            transform: translateY(-8px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-45deg);
            transform: translateY(0) rotate(-45deg);
  }
}
@keyframes toggle-top-close {
  0% {
    -webkit-transform: translateY(-8px) rotate(0deg);
            transform: translateY(-8px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-45deg);
            transform: translateY(0) rotate(-45deg);
  }
}
@-webkit-keyframes toggle-bottom-close {
  0% {
    -webkit-transform: translateY(8px) rotate(0deg);
            transform: translateY(8px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(45deg);
            transform: translateY(0) rotate(45deg);
  }
}
@keyframes toggle-bottom-close {
  0% {
    -webkit-transform: translateY(8px) rotate(0deg);
            transform: translateY(8px) rotate(0deg);
  }
  50% {
    -webkit-transform: translateY(0) rotate(0deg);
            transform: translateY(0) rotate(0deg);
  }
  100% {
    -webkit-transform: translateY(0) rotate(45deg);
            transform: translateY(0) rotate(45deg);
  }
}
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@keyframes fadeUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
            transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
}
@-webkit-keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
@keyframes fadeDown {
  0% {
    opacity: 0;
    -webkit-transform: translateY(0);
            transform: translateY(0);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(-20px);
            transform: translateY(-20px);
  }
}
@-webkit-keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    -webkit-transform: scale(0.3);
            transform: scale(0.3);
  }
  50% {
    opacity: 1;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
  70% {
    -webkit-transform: scale(0.9);
            transform: scale(0.9);
  }
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
  }
}
@-webkit-keyframes bounceIn {
  0% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes rotationx {
  0% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}
@keyframes rotationx {
  0% {
    -webkit-transform: rotateY(180deg);
            transform: rotateY(180deg);
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    -webkit-transform: rotateY(0);
            transform: rotateY(0);
    opacity: 1;
  }
}
@-webkit-keyframes floating {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -10%);
            transform: translate(0, -10%);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
@keyframes floating {
  0% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -15%);
            transform: translate(0, -15%);
  }
  100% {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
/*-----------------------------------

	$mainvisual

-----------------------------------*/
/* --

top.css

 ------------------------------------
-- */
/**======================================
	setting
======================================**/
.mainvisual__list {
  width: 100%;
}
.mainvisual__list img {
  width: 100%;
  height: auto;
}
.mainvisual__list .sp {
  display: none;
}

/*
 .mainvisual {
  padding-bottom: 6rem;
  &__wrap {
   display: flex;
   //align-items: center;
  }

  &__text {
   width: 36%;
   padding-right: 2%;
    &-ttl {
    font-family: setting.$font-ZenMaru;
    font-weight: 300;
    font-size: 4.2rem;
    padding-bottom: 1em;
   }
  }

  &__title {
   display: none;
  }

  &__nav {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   li {
    width: 48%;
    margin-bottom: 4%;
    background: #fff;
    border: 3px solid setting.$color-text;
    border-radius: 10px;
    overflow: hidden;
   }
   a {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    padding: 2.6rem 0;
    font-family: setting.$font-ZenMaru;
    font-weight: 500;
    font-size: 1.8rem;
    line-height: 1.2;
    text-decoration: none;
    text-align: center;
    position: relative;
    .icon {
     margin-bottom: .5rem;
     img {
      height: 4rem;
      width: auto;
     }
    }
    &:active,
    &:hover {
     //background: setting.color(yellow);
     background: lighten(setting.color(yellow) , 12%);
     color: setting.$color-text;
     img {
      opacity: 1;
     }
    }
   }
  }

  &__img {
   order: 1;
   flex: 1;
   margin-right: calc(50% - 50vw);
   position: relative;
   padding: 0 0 2rem 2rem;
   &::before {
    content: "";
    display: block;
    width: 100%;
    height: calc(100% - 2rem);
    background: url("../images/common/bg-stripe.svg") repeat 50% 50%;
    position: absolute;
    left: 0;
    border-radius: 30px 0 0 30px;
    margin-top: 2rem;
   }
  }
  &__slide {
   border-radius: 30px 0 0 30px;
   width: 100%;
   height: 100%;
   position: relative;
   overflow: hidden;
   &-img {
    height: 100%;
    min-height: 54rem;
    background-repeat: no-repeat;
    background-position: 0 50%;
    background-size: cover;
   }
   &-01 {
    background-image: url("../images/top/mainvisual-01.jpg");
   }
  }

  @include setting.pc {
   &__text {
    width: 50%;
   }
  }

  @include setting.tablet {
   &__wrap {
    display: block;
   }
   &__text {
    width: 100%;
    padding-right: 0;
    position: relative;
    &-ttl {
     display: none;
    }
   }
   &__title {
    display: block;
    font-size: 3.6rem;
    font-family: setting.$font-ZenMaru;
    font-weight: 400;
    padding-bottom: 1em;
    position: absolute;
    left: -40%;
    bottom: 0;
    z-index: 99;
    span {
     display: inline-block;
     background: #fff;
     margin-bottom: .5rem;
    }
   }
   &__nav {
    padding-top: 2rem;
    li {
     width: 24.5%;
     margin-bottom: 0;
    }
    a {
     font-size: 1.6rem;
    }
   }

   &__img {
    flex: none;
    margin-left: 30%;
    padding: 0 0 1rem 1rem;
    &::before {
     border-radius: 30px 0 0 30px;
     height: calc(100% - 1rem);
     margin-top: 1rem;
    }
   }
   &__slide {
    border-radius: 30px 0 0 30px;
    &-img {
     min-height: 42rem;
    }
   }
  }

  @include setting.mobile {
   padding-bottom: 2rem;
   &__title {
    font-size: 2.4rem;
    left: -8%;
   }
   &__nav {
    li {
     width: 49%;
     margin-bottom: 2%;
     border-width: 2px;
    }
    a {
     padding: 1.2rem 1rem 1rem;
    }
   }

   &__img {
    margin-left: 8%;
   }
   &__slide {
    &-img {
     min-height: 32rem;
    }
   }
  }
 }
*/
/*-----------------------------------

	$mainvisual

-----------------------------------*/
/*-----------------------------------

	$concept

-----------------------------------*/
.concept {
  margin-bottom: clamp(4.5rem, 4.39238653vw, 6rem);
}
@media screen and (max-width: 640px) {
  .concept {
    margin-bottom: clamp(1.6rem, 5.3333333333vw, 2rem);
  }
}
.concept__lead {
  padding: clamp(3rem, 7.3206442167vw, 10rem) 0 clamp(4rem, 4.39238653vw, 6rem);
  text-align: center;
}
@media screen and (max-width: 640px) {
  .concept__lead {
    padding: clamp(2rem, 8vw, 3rem) 0 clamp(2rem, 10.6666666667vw, 4rem);
    text-align: left;
  }
  .concept__lead p br {
    display: none;
  }
}
.concept__title {
  font-weight: 500;
  font-size: clamp(2.4rem, 2.635431918vw, 3.6rem);
  line-height: 1;
  margin-bottom: clamp(3rem, 2.9282576867vw, 4rem);
}
@media screen and (max-width: 640px) {
  .concept__title {
    font-size: clamp(2rem, 6.4vw, 2.4rem);
    line-height: 1.6;
    text-align: center;
  }
}
.concept__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3rem 1.5%;
}
@media screen and (max-width: 640px) {
  .concept__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.concept__image {
  margin-bottom: clamp(1.2rem, 1.1713030747vw, 1.6rem);
  position: relative;
}
.concept__image img {
  border-radius: 2rem;
}
@media screen and (max-width: 640px) {
  .concept__image {
    width: 70%;
    max-width: 48rem;
    margin: auto;
    margin-bottom: clamp(0.8rem, 3.2vw, 1.2rem);
  }
}
.concept .illust-01 {
  position: absolute;
  left: clamp(-5rem, -3.6603221083vw, -3rem);
  bottom: clamp(-4rem, -2.9282576867vw, -2rem);
  z-index: 9;
  border-radius: 0;
  width: clamp(5rem, 6.588579795vw, 9rem);
}
.concept__caption {
  text-align: center;
}
.concept__caption span, .concept__caption b {
  display: block;
  line-height: 1.4;
  font-weight: 700;
}
.concept__caption span {
  font-size: clamp(1.4rem, 1.317715959vw, 1.8rem);
}
.concept__caption b {
  font-size: clamp(1.8rem, 1.756954612vw, 2.4rem);
}

/*-----------------------------------

	$mainvisual

-----------------------------------*/
/*-----------------------------------

	$index

-----------------------------------*/
.index {
  margin-bottom: clamp(4rem, 5.8565153734vw, 8rem);
}
@media screen and (max-width: 640px) {
  .index {
    margin-bottom: clamp(2rem, 10.6666666667vw, 4rem);
  }
}
.index__bg {
  position: relative;
  padding-top: clamp(7rem, 7.3206442167vw, 10rem);
}
.index__bg::before, .index__bg::after {
  content: "";
  display: inline-block;
  width: clamp(18rem, 15.5929721816vw, 21.3rem);
  aspect-ratio: 213/30;
  position: absolute;
  top: 0;
  background: url("../images/common/common-deco-01.svg") no-repeat 0 0/cover;
}
.index__bg::before {
  left: 0;
}
.index__bg::after {
  right: 0;
}
@media screen and (max-width: 640px) {
  .index__bg {
    padding: clamp(6rem, 5.1244509517vw, 7rem) 0;
  }
  .index__bg::before, .index__bg::after {
    width: clamp(18rem, 56.8vw, 21.3rem);
    left: 0;
    right: 0;
    margin: auto;
  }
  .index__bg::before {
    top: auto;
    bottom: 0;
  }
}
.index__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2rem 4%;
}
@media screen and (max-width: 640px) {
  .index__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.index__unit {
  width: 30.6666666667%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.index__unit a {
  display: block;
  width: 100%;
  background: #fff;
  border-radius: 2rem;
  padding: clamp(2rem, 2.196193265vw, 3rem);
  text-align: center;
  text-decoration: none;
}
.index__unit a:hover {
  background: #eeeee1;
}
.index__unit a:hover img {
  opacity: 1;
}
.index__unit a .text p {
  font-weight: 500;
  font-size: 2rem;
  font-size: clamp(1.6rem, 1.4641288433vw, 2rem);
  color: #2a8297;
  margin-top: clamp(2rem, 2.196193265vw, 3rem);
  line-height: 1.4;
}
.index__unit a .text p::before {
  display: inline-block;
  content: "\f35a";
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  margin-right: 0.25em;
}
@media screen and (max-width: 640px) {
  .index__unit {
    width: 80%;
    max-width: 48rem;
    margin: auto;
  }
}

/*-----------------------------------

	$mainvisual

-----------------------------------*/
/*-----------------------------------

	$cta

-----------------------------------*/
.cta {
  padding: clamp(4rem, 5.8565153734vw, 8rem) 0;
  background: #ededd3;
  margin-bottom: clamp(4rem, 5.8565153734vw, 8rem);
}
.cta__box {
  background: #fff;
  border-radius: 2rem;
  text-align: center;
  padding: clamp(3rem, 4.39238653vw, 6rem) 2%;
}
.flow__contact .cta__box {
  padding: 0;
}
.cta__title {
  font-size: clamp(1.8rem, 2.196193265vw, 3rem);
  line-height: 1.4;
}
.cta__tel {
  font-weight: 700;
  color: #2a8297;
  line-height: 1;
  margin: 0.5em 0 1em;
}
.cta__tel span {
  font-size: clamp(2.4rem, 2.196193265vw, 3rem);
}
.cta__tel b, .cta__tel a {
  font-size: clamp(3.6rem, 3.513909224vw, 4.8rem);
}
.cta__tel a {
  display: none;
  color: #2a8297;
  text-decoration: none;
}
@media screen and (max-width: 640px) {
  .cta__tel b {
    display: none;
  }
  .cta__tel a {
    display: inline;
  }
}
.cta__text {
  font-size: clamp(1.4rem, 1.1713030747vw, 1.6rem);
  line-height: 1;
}

/*-----------------------------------

	$mainvisual

-----------------------------------*/
/*-----------------------------------

	$message

-----------------------------------*/
.message {
  margin-bottom: clamp(6rem, 8.78477306vw, 12rem);
}
.post .message {
  margin-bottom: clamp(2rem, 2.9282576867vw, 4rem);
}
.message__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: clamp(1.4rem, 2.9282576867vw, 4rem);
}
.message__header .common__title-01 {
  margin-bottom: 0;
}
@media screen and (max-width: 640px) {
  .message__header {
    display: block;
  }
  .message__header .btn-01 {
    display: none;
  }
}
.message__list {
  margin-bottom: 4rem !important;
}
.message__list .slick-dots {
  bottom: -3rem !important;
}
.post .message__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4rem 4%;
}
@media screen and (max-width: 640px) {
  .post .message__list {
    gap: 2rem 4%;
  }
}
.message__slide {
  background: #fff;
  border-radius: 2rem;
  padding: 2rem;
  margin: 0 0.2%;
  text-align: center;
}
@media screen and (max-width: 640px) {
  .message__slide {
    margin: 0 3rem;
  }
}
.message__slide a {
  text-decoration: none;
}
.post .message__slide {
  width: 48%;
  margin: 0;
}
@media screen and (max-width: 640px) {
  .post .message__slide {
    width: 90%;
    margin: auto;
  }
}
.message__image {
  position: relative;
  margin-bottom: clamp(1.8rem, 1.4641288433vw, 2rem);
}
@media screen and (max-width: 640px) {
  .message__image {
    margin-bottom: clamp(1.8rem, 5.3333333333vw, 2rem);
  }
}
.message__face {
  width: clamp(8rem, 7.3206442167vw, 10rem);
  aspect-ratio: 1;
  position: absolute;
  top: -3rem;
  left: -3rem;
  border-radius: 100%;
  overflow: hidden;
}
.message__face img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.message__card {
  aspect-ratio: 64/44;
}
.message__card img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.message .btn-01 {
  text-align: center;
  margin-top: 2rem;
}
.message .slick-list {
  padding-top: 1rem !important;
}
.message .slick-arrow {
  cursor: pointer;
  position: absolute;
  z-index: 10;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.message .slick-arrow::before {
  color: #444;
  opacity: 1;
}
.message .slick-arrow.slick-prev {
  left: 0.5rem;
}
.message .slick-arrow.slick-next {
  right: 0.5rem;
}
.message .slick-dots li {
  width: 8px;
  height: 8px;
  margin: 0 0.25rem;
}
.message .slick-dots li:only-child {
  display: none;
}
.message .slick-dots button {
  width: 8px;
  height: 8px;
  padding: 0;
}
.message .slick-dots button::before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  background: #000;
  border-radius: 100%;
}
.message .slick-dots .slick-active button::before {
  background: #f5dc75;
}
.message .slick-track {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.message .slick-slide {
  height: auto !important;
}

/*-----------------------------------

	$mainvisual

-----------------------------------*/
/*-----------------------------------

	$news

-----------------------------------*/
.news {
  padding: 0 0 8rem;
}
.news__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-bottom: 4rem;
  gap: 2%;
}
.news__tab li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-align: center;
  width: 23.5%;
}
.news__tab span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 100%;
  border-radius: 10rem;
  padding: 0.25em;
  transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
}
.news__tab span:hover, .news__tab span:active, .news__tab span:focus {
  cursor: pointer;
}
.news__tab .tab br {
  display: none;
}
.news__tab .tab-all span {
  background: #ddd;
}
.news__tab .tab-all span:hover, .news__tab .tab-all span:active, .news__tab .tab-all span:focus {
  background: #444;
  color: #fff;
}
.news__tab .tab-01 span {
  background: #d4e6ea;
}
.news__tab .tab-01 span:hover, .news__tab .tab-01 span:active, .news__tab .tab-01 span:focus {
  background: #2a8297;
  color: #fff;
}
.news__tab .tab-02 span {
  background: #f7e7f0;
}
.news__tab .tab-02 span:hover, .news__tab .tab-02 span:active, .news__tab .tab-02 span:focus {
  background: #d586b6;
  color: #fff;
}
.news__tab .tab-03 span {
  background: #faf2d1;
}
.news__tab .tab-03 span:hover, .news__tab .tab-03 span:active, .news__tab .tab-03 span:focus {
  background: #f5dc75;
}
.news__tab .active span {
  background: #444;
  color: #fff;
}
.news__tab .active.tab-01 span {
  background: #2a8297;
  color: #fff;
}
.news__tab .active.tab-02 span {
  background: #d586b6;
  color: #fff;
}
.news__tab .active.tab-03 span {
  background: #f5dc75;
  color: #444;
}
.news__panel {
  display: none;
}
.news__panel.active {
  display: block;
}
.news__unit {
  border-bottom: 1px dotted #999;
  padding: 15px 0;
}
.news__unit:first-child {
  border-top: 1px dotted #999;
}
.news__unit a {
  text-decoration: none;
  color: #444;
}
.news__unit a:hover, .news__unit a:active, .news__unit a:focus {
  color: #2a8297;
  text-decoration: underline;
}
.news__text {
  display: table;
  width: 100%;
}
.news__meta {
  padding: 0 0 0 1rem;
  display: table-cell;
  width: 30rem;
}
.news__body {
  display: table-cell;
  width: auto;
}
.news__date {
  padding-right: 3rem;
}
.news__cate {
  font-size: 1.2rem;
  line-height: 1;
  border-radius: 10rem;
  padding: 0.5em 0.25em;
  width: 10rem;
  display: inline-block;
  text-align: center;
  font-weight: 400;
  background: #444;
  color: #fff;
}
.news__cate.cate-info {
  background: #2a8297;
}
.news__cate.cate-memorial {
  background: #d586b6;
}
.news__cate.cate-monthly {
  background: #f5dc75;
  color: #444;
}
.news .btn-01 {
  margin-top: 3rem;
  text-align: right;
}
@media screen and (max-width: 1024px) {
  .news {
    padding: 6rem 0;
  }
  .news__tab .tab br {
    display: block;
  }
}
@media screen and (max-width: 840px) {
  .news {
    padding: 4rem 0;
  }
  .news__tab {
    padding-bottom: 2rem;
  }
  .news__tab li {
    font-size: 1.4rem;
  }
  .news__meta, .news__body {
    display: block;
    width: 100%;
  }
  .news__meta {
    padding: 0 0 0.5em;
  }
  .news__date {
    padding-right: 1rem;
  }
}
@media screen and (max-width: 640px) {
  .news__tab {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .news__tab li {
    font-size: 1.3rem;
    width: 49%;
    -webkit-box-flex: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    padding: 0.5em 0 0;
    border: none;
  }
  .news .btn-01 {
    text-align: center;
  }
}