@charset "UTF-8";

#section-blc {
  background-color: #f9efe8;
}

/* --------------------------------------------------

 message-blc

-------------------------------------------------- */

#message-blc .d-flex {
  background-color: #fff;
  padding: 3rem 2rem;
  box-sizing: border-box;
}

#message-blc .d-flex .col-6-lg {
  width: 50%;
}

#message-blc .d-flex .col-6-lg:nth-child(2) {
  margin-left: auto;
}

#message-blc .d-flex .col-6-lg.txt-blc+.img-blc {
  padding-left: 2rem;
  box-sizing: border-box;
}

#message-blc .d-flex .col-6-lg.txt-blc .txt {
  margin-bottom: 1rem;
}

@media screen and (max-width:1000px) {
  #message-blc .d-flex {
    padding: 4rem 2rem;
  }

  #message-blc .d-flex .col-6-lg {
    width: 100%;
  }

  #message-blc .d-flex .col-6-lg.txt-blc+.img-blc {
    padding-left: 0;
    margin-top: 4rem;
  }
}

@media screen and (max-width:640px) {
  #message-blc .d-flex .col-6-lg.txt-blc+.img-blc {
    margin-top: 2rem;
  }

  #message-blc .d-flex .col-6-lg.txt-blc .txt {
    margin-bottom: 0;
  }
}

@media screen and (max-width:480px) {
  #message-blc .d-flex {
    padding: 3rem 1rem;
  }
}

/* --------------------------------------------------

 service-blc

-------------------------------------------------- */

#service-blc {
  padding-top: 4rem;
}

#service-blc .d-flex .col-6-lg {
  width: calc((100% - 1rem) / 2);
  margin-right: 1rem;
}

#service-blc .d-flex .col-6-lg:last-child {
  margin-right: 0;
}

#service-blc .d-flex .col-6-lg .arrow-btn {
  text-decoration: none;
  background-color: #fff;
  padding: 2rem 2rem calc(2rem + 3px) 2rem;
  box-sizing: border-box;
  display: block;
  position: relative;
}

#service-blc .d-flex .col-6-lg .arrow-btn>span {
  display: flex;
}

#service-blc .d-flex .col-6-lg .arrow-btn>span::before {
  content: "";
  background: url(../img/common/arrow_right01.png) no-repeat center center;
  top: auto;
  bottom: 10px;
  right: 10px;
  background-size: 100% auto;
  width: 15px;
  height: 21px;
  margin: auto;
  position: absolute;
  opacity: 1;
  transform: translateX(0);
}

#service-blc .d-flex .col-6-lg .arrow-btn>span::after {
  content: "";
  top: auto;
  bottom: 19px;
  right: 23px;
  width: 19px;
  height: 3px;
  margin: auto;
  position: absolute;
}

#service-blc .d-flex .col-6-lg .arrow-btn .img-blc {
  width: 230px;
  padding-right: 1rem;
  box-sizing: border-box;
}

#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc {
  width: calc(100% - 230px);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  align-content: center;
}

#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc .ttl {
  width: 100%;
  display: block;
  font-weight: bold;
  font-size: 130%;
}

#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc ul {
  width: 100%;
}

#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc .ttl+ul,
#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc .ttl+.txt {
  margin-top: 1rem;
}

#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc ul li {
  position: relative;
  padding-left: 15px;
  box-sizing: border-box;
}

#service-blc .d-flex .col-6-lg .arrow-btn .txt-blc ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 4px;
  display: inline-block;
  line-height: 1;
  font-size: 100%;
}

/* arrow-btn color ---------------------------- */

#service-blc .d-flex .col-6-lg .arrow-btn.green::after {
  content: "";
  background-color: #62a531;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

#service-blc .d-flex .col-6-lg .arrow-btn.green>span::after {
  background-color: #62a531;
}

#service-blc .d-flex .col-6-lg .arrow-btn.green>span::before {
  background: url(../img/common/arrow_right02.png) no-repeat center center;
}

#service-blc .d-flex .col-6-lg .arrow-btn.orenge::after {
  content: "";
  background-color: #ee9c31;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

#service-blc .d-flex .col-6-lg .arrow-btn.orenge>span::after {
  background-color: #f6ab00;
}

/* service-blc btn-style01 ---------------------- */

#service-blc .d-flex .col-6-lg.btn-style01 a.do-animate {
  opacity: 1;
}

#service-blc .d-flex .col-6-lg.btn-style01 a.is-hover span::before {
  animation: serviceHoverBtnArrowSecondary 0.8s;
}

#service-blc .d-flex .col-6-lg.btn-style01 a.is-hover span::after {
  animation: serviceDoBtnLineSecondary 0.8s;
}

#service-blc .d-flex .col-6-lg.btn-style01 a.is-hover span::after {
  animation: serviceHoverBtnLineSecondary 0.8s;
}

#service-blc .d-flex .col-6-lg.btn-style01 .arrow-btn.green.is-hover::after,
#service-blc .d-flex .col-6-lg.btn-style01 .arrow-btn.orenge.is-hover::after {
  animation: borderDoBtnLineSecondary 0.8s;
}

#service-blc .d-flex .col-6-lg.btn-style01 .arrow-btn.green.is-hover::after,
#service-blc .d-flex .col-6-lg.btn-style01 .arrow-btn.orenge.is-hover::after {
  animation: borderHoverBtnLineSecondary 0.8s;
}

@keyframes serviceDoBtnArrowSecondary {
  0% {
    right: -30px;
    opacity: 1;
  }

  50% {
    right: -30px;
    opacity: 0;
  }

  51% {
    right: -30px;
    opacity: 0;
  }

  100% {
    right: -30px;
    opacity: 1;
  }
}

@keyframes serviceHoverBtnArrowSecondary {
  0% {
    right: 10px;
    opacity: 1;
  }

  50% {
    right: 10px;
    opacity: 0;
  }

  51% {
    right: 10px;
    opacity: 0;
  }

  100% {
    right: 10px;
    opacity: 1;
  }
}

@keyframes serviceDoBtnLineSecondary {
  0% {
    width: 19px;
    left: auto;
    right: 23px;
  }

  50% {
    width: 0px;
    left: auto;
    right: 23px;
  }

  51% {
    width: 0px;
    right: auto;
    left: calc(100% - 42px);
  }

  100% {
    width: 19px;
    right: auto;
    left: calc(100% - 42px);
  }
}

@keyframes serviceHoverBtnLineSecondary {
  0% {
    width: 19px;
    left: auto;
    right: 23px;
  }

  50% {
    width: 0px;
    left: auto;
    right: 23px;
  }

  51% {
    width: 0px;
    right: auto;
    left: calc(100% - 42px);
  }

  100% {
    width: 19px;
    right: auto;
    left: calc(100% - 42px);
  }
}

@keyframes borderDoBtnLineSecondary {
  0% {
    width: 100%;
    left: auto;
    right: 0;
  }

  50% {
    width: 0px;
    left: auto;
    right: 0;
  }

  51% {
    width: 0px;
    right: auto;
    left: 0;
  }

  100% {
    width: 100%;
    right: auto;
    left: 0;
  }
}

@keyframes borderHoverBtnLineSecondary {
  0% {
    width: 100%;
    left: auto;
    right: 0;
  }

  50% {
    width: 0px;
    left: auto;
    right: 0;
  }

  51% {
    width: 0px;
    right: auto;
    left: 0;
  }

  100% {
    width: 100%;
    right: auto;
    left: 0;
  }
}

@media screen and (max-width:1000px) {
  #service-blc .d-flex .col-6-lg {
    width: 100%;
    margin-right: 0;
    margin-top: 1rem;
  }

  #service-blc .d-flex .col-6-lg:first-child {
    margin-top: 0;
  }

  #service-blc .d-flex {
    max-width: 640px;
    margin-left: auto;
    margin-right: auto;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn>span::before {
    bottom: 20px;
    right: 20px;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn>span::after {
    bottom: 29px;
    right: 33px;
  }
}

@media screen and (max-width:640px) {

  #service-blc .d-flex .col-6-lg .arrow-btn>span {
    flex-wrap: wrap;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn .img-blc {
    width: 100%;
    padding-right: 0;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn .txt-blc {
    margin-top: 2rem;
    width: 100%;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn {
    padding: 3rem 2rem calc(3rem + 3px) 2rem;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn .txt-blc .ttl {
    font-size: 120%;
  }

  #service-blc .d-flex .col-6-lg .arrow-btn .txt-blc .ttl+ul,
  #service-blc .d-flex .col-6-lg .arrow-btn .txt-blc .ttl+.txt {
    margin-top: 10px;
  }
}

@media screen and (max-width:480px) {
  #service-blc .d-flex .col-6-lg .arrow-btn {
    padding: 3rem 1rem calc(3rem + 3px) 1rem;
  }
}

/* --------------------------------------------------

 offical-sns

-------------------------------------------------- */

#offical-sns {
  margin-top: 4rem;
}

#offical-sns .ttl-style-blc {
  position: relative;
}

#offical-sns .ttl-style-blc .ttl-section {
  padding-top: 5rem;
}

#offical-sns .ttl-style-blc .txt-desc-ttl {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  margin: auto;
  width: 263px;
  height: 53px;
  background-color: #f6ab00;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px 10px;
  box-sizing: border-box;
  font-size: 120%;
}

#offical-sns .ttl-style-blc .txt-desc-ttl::before {
  content: "";
  width: 0px;
  height: 0px;
  border-left: 0px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #f6ab00;
  position: absolute;
  left: 0;
  right: 0;
  margin: auto;
  bottom: -10px;
}

#offical-sns .ttl-style-blc .ttl-section>.ttl02 {
  font-weight: 300;
}

#offical-sns .d-flex>div {
  width: calc((100% - 1rem) / 2);
  margin-right: 1rem;
}

#offical-sns .d-flex>div:last-child {
  margin-right: 0;
}

#offical-sns .d-flex>div .ttl-blc {
  display: flex;
  align-items: center;
  text-align: left;
}

#offical-sns .d-flex>div .ttl-blc>img {
  width: 35px;
}

#offical-sns .d-flex>div .ttl-blc>figcaption {
  padding-left: 10px;
  width: calc(100% - 35px);
}

#offical-sns .d-flex>div.facebook-blc .inner iframe {
  display: block;
  width: 100%;
  margin-top: 1rem;
  height: 538px;
}

#offical-sns .d-flex>div.facebook-blc .inner iframe.pc-500 {
  display: none;
}

#offical-sns .d-flex>div.facebook-blc .inner iframe.pc-350 {
  display: none;
}

#offical-sns .d-flex>div.ig-blc>.img-blc {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
}

#offical-sns .d-flex>div.ig-blc>.img-blc li {
  width: calc((100% - 2rem) / 3);
  margin-right: 1rem;
  margin-top: 1rem;
}

#offical-sns .d-flex>div.ig-blc>.img-blc li:nth-child(3n+3) {
  margin-right: 0;
}

#offical-sns .d-flex>div.ig-blc>.img-blc li:nth-child(-n+3) {
  margin-top: 0;
}

@media screen and (max-width:1200px) {
  #offical-sns .d-flex>div.facebook-blc .inner iframe {
    height: 45.5vw;
  }
}

@media screen and (max-width:1000px) {
  #offical-sns .d-flex>div.facebook-blc .inner iframe {
    height: 45vw;
  }
}

@media screen and (max-width:767px) {
  #offical-sns .d-flex>div.facebook-blc .inner iframe {
    display: none;
  }

  #offical-sns .d-flex>div.facebook-blc .inner iframe.pc-500 {
    display: block;
  }

  #offical-sns .d-flex>div {
    width: 100%;
    margin-right: 0;
    margin-top: 2rem;
  }

  #offical-sns .d-flex>div.facebook-blc .inner iframe {
    width: 100%;
    max-width: 500px;
    height: 450px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
  }

  #offical-sns .d-flex>div:first-child {
    margin-top: 0;
  }

  #offical-sns .d-flex {
    max-width: 400px;
    margin-left: auto;
    margin-right: auto;
  }
}

@media screen and (max-width:480px) {
  #offical-sns .d-flex>div.facebook-blc .inner {
    max-width: 320px;
    margin: auto;
  }

  #offical-sns .d-flex>div.ig-blc>.img-blc li {
    width: calc((100% - 20px) / 3);
    margin-right: 10px;
    margin-top: 10px;
  }

  #offical-sns .d-flex>div.facebook-blc .inner iframe.pc-500 {
    display: none;
  }

  #offical-sns .d-flex>div.facebook-blc .inner iframe.pc-350 {
    display: block;
  }
}

/* --------------------------------------------------

 map-blc

-------------------------------------------------- */

#map-blc {
  background-color: #e2f2f6;
}

#map-blc .iframe-blc {
  width: 65%;
  padding-right: 10px;
  box-sizing: border-box;
}

#map-blc .iframe-blc>iframe {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 400px;
  overflow: hidden;
}

#map-blc .txt-blc {
  width: 35%;
  background-color: #fff;
  padding: 2rem 2rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  align-content: center;
}

@media screen and (max-width:1000px) {
  #map-blc .iframe-blc {
    width: 100%;
    padding-right: 0;
  }

  #map-blc .iframe-blc>iframe {
    height: 350px;
    min-height: auto;
  }

  #map-blc .txt-blc {
    width: 100%;
  }
}

@media screen and (max-width:640px) {
  #map-blc .txt-blc {
    padding: 2rem 1rem;
  }

  #map-blc .iframe-blc>iframe {
    height: 250px;
  }
}

/* --------------------------------------------------

 news

-------------------------------------------------- */

@media screen and (min-width: 1280px) {
  .kv-news__list {
    max-height: 100px;
    padding-right: 80px;
    transition-timing-function: cubic-bezier(.77, 0, .18, 1) !important;
  }

  .kv-news .swiper__btns-inner {
    width: 80px;
  }

}

@media screen and (min-width: 1001px) {
  a.kv-news__anchor:hover {
    background-color: #f9efe8;
  }
}

@media screen and (min-width: 768px) {
  .kv-news {
    width: 66.666%;
    max-width: 600px;
  }
}

.kv-news {
  width: calc(100% - 20px);
  position: absolute;
  bottom: 0;
  right: 0;
  background-color: #fff;
  box-sizing: border-box;
  z-index: 2;
}

.kv-news__list {
  max-height: 80px;
  padding-left: 10px;
  padding-right: 60px;
  box-sizing: border-box !important;
  transition-timing-function: cubic-bezier(.22, .61, .36, 1) !important;
}

.kv-news__item {
  --move-delay: 1s;
  display: flex;
  text-align: left;
  padding: 0;
  transition-property: transform, opacity !important;
  transition-duration: var(--move-delay);
  transition-timing-function: cubic-bezier(.17, .84, .44, 1);
  opacity: 0.25;
}

.kv-news__item[class*="active"] {
  opacity: 1;
  transition-timing-function: cubic-bezier(.77, 0, .18, 1);
}

.kv-news__item.swiper-slide-active {
  opacity: 1;
}

.kv-news__anchor {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  margin: 10px 0;
  padding: 10px 10px;
  text-decoration: none !important;
}

a.kv-news__anchor {
  transition: 0.2s ease-in-out;
}

.kv-news__date {
  text-align: center;
  width: 65px;
}

.kv-news__date .day {
  display: block;
  margin-top: 5px;
  position: relative;
  font-size: 120%;
  font-weight: bold;
  line-height: 1.5;
}

.kv-news__date .day::before,
.kv-news__date .day::after {
  position: absolute;
  content: "";
  top: 0;
  right: auto;
  left: 0;
  width: 100%;
  height: 1px;
  margin: auto;
  background-color: #cdcdcd;
}

.kv-news__date .day::after {
  width: 0;
  opacity: 1;
  transition-timing-function: linear;
  transition-property: width;
  transition-duration: 0.1s;
  transition-delay: var(--move-delay);
  background-color: #000;
}

.-slideChangeTransitionEnd .kv-news__item[class*="active"] .kv-news__date .day::after {
  width: 100%;
  transition-duration: var(--swiper-delay);
  transition-delay: 0s;
}

.kv-news__item[class*="prev"] .kv-news__date .day::after {
  width: 0;
}

.kv-news__ttl {
  width: calc(100% - 65px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  padding-left: 1.5rem;
  box-sizing: border-box;
}

.kv-news .swiper-container {
  margin: 0;
}

.kv-news .swiper__btns {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  margin: auto;
}

.kv-news .swiper__btns-inner {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-direction: column;
  width: 60px;
  height: 100%;
  margin-left: auto;
  position: relative;
}

.kv-news .swiper__btns-inner::before {
  position: absolute;
  content: "";
  width: 15px;
  height: 1px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: #cdcdcd;
  margin: auto;
}

.kv-news .swiper__btns .swiper-button-next,
.kv-news .swiper__btns .swiper-button-prev {
  position: relative;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  margin: auto;
  z-index: 10;
  outline: none;
  background-color: transparent;
  background-image: none;
  color: #3a3737;
  box-shadow: 0 0 0 rgba(133, 87, 74, 0.3), 0 0 0 rgba(133, 87, 74, 0.1);
  transition: 0.2s ease;
  transition-property: opacity, background, box-shadow;
  padding: 3px;
  box-sizing: border-box;
}

.kv-news .swiper-button-next::after,
.kv-news .swiper-button-prev::after {
  display: none;
}

.kv-news .swiper-button-next.swiper-button-disabled,
.kv-news .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  background-color: transparent;
  box-shadow: none;
}

.kv-news .swiper-button-next:hover .icon,
.kv-news .swiper-button-prev:hover .icon {
  stroke-width: 1.8;
}

.kv-news .swiper-button-next svg,
.kv-news .swiper-button-prev svg {
  width: 100%;
  height: 100%;
}

/* .swiper-slide ---------------------------------- */

/* .swiper-slide:nth-child(-n+5) {
  display: flex;
}

.swiper-slide {
  display: none;
} */

.kv-news .swiper__btns .swiper-button-next i,
.kv-news .swiper__btns .swiper-button-prev i {
  font-size: 12px;
  transition: all ease-in 0.3s;
}

.kv-news .swiper__btns .swiper-button-next {
  padding-bottom: 10px;
}

.kv-news .swiper__btns .swiper-button-prev {
  padding-top: 10px;
}

.kv-news .swiper__btns .swiper-button-next i:hover,
.kv-news .swiper__btns .swiper-button-prev i:hover {
  opacity: 0.5;
}

@media screen and (max-width: 480px) {

  .kv-news__ttl {
    padding-left: 10px;
  }

  .kv-news .swiper__btns-inner {
    width: 50px;
  }

  .kv-news__list {
    padding-right: 50px;
  }

  .kv-news__anchor {
    padding-left: 0;
    padding-right: 0;
  }
}