/*
* OPENING
*=============================================*/
/* -- -- */
@-webkit-keyframes showProgressLabelPc {
   0% {
      -webkit-transform: translateX(-25px);
      transform: translateX(-25px);
   }

   100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }
}

@keyframes showProgressLabelPc {
   0% {
      -webkit-transform: translateX(-25px);
      transform: translateX(-25px);
   }

   100% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }
}

@-webkit-keyframes hideProgressLabelPc {
   0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }

   100% {
      -webkit-transform: translateX(25px);
      transform: translateX(25px);
   }
}

@keyframes hideProgressLabelPc {
   0% {
      -webkit-transform: translateX(0);
      transform: translateX(0);
   }

   100% {
      -webkit-transform: translateX(25px);
      transform: translateX(25px);
   }
}

#opening {
   width: 100%;
   height: 100vh;
   box-sizing: border-box;
   position: fixed;
   top: 0;
   left: 0;
   z-index: 1000;
}

#opening .p-contents-overlay {
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   position: fixed;
   top: 0;
   bottom: 0;
   right: 0;
   left: 0;
   background-color: #000;
   -webkit-transform: scaleX(0);
   transform: scaleX(0);
   -webkit-transition-property: -webkit-transform;
   transition-property: -webkit-transform;
   transition-property: transform;
   transition-property: transform, -webkit-transform;
   -webkit-transition-duration: .4s;
   transition-duration: .4s;
}

#opening .p-contents-overlay.is-expand-moment {
   -webkit-transform: scaleX(1);
   transform: scaleX(1);
   -webkit-transition-duration: 0s;
   transition-duration: 0s;
}

#opening .p-contents-overlay.is-shrink {
   -webkit-transform-origin: right;
   transform-origin: right;
   -webkit-transform: scaleX(0);
   transform: scaleX(0);
   -webkit-transition-duration: .4s;
   transition-duration: .4s;
   -webkit-transition-delay: 0ms;
   transition-delay: 0ms;
   -webkit-transition-timing-function: ease;
   transition-timing-function: ease;
}

#opening .p-progress_ttl {
   width: 90%;
   text-align: center;
   position: absolute;
   top: 50%;
   left: 5%;
   transform: translateY(-50%);
}

#opening .p-progress__label {
   color: #fff;
   font-family: 'UDDigiKyokashoN-B', sans-serif;
   font-weight: bold;
   font-size: 52px;
   letter-spacing: 0;
   line-height: 80px;
   -webkit-animation-name: hideProgressLabelPc;
   animation-name: hideProgressLabelPc;
   -webkit-animation-duration: 2s;
   animation-duration: 2s;
   -webkit-animation-timing-function: ease;
   animation-timing-function: ease;
}

#opening .p-progress__label .p-progress__logo-typo {
   display: inline-block;
   opacity: 0;
   -webkit-transition-duration: .8s;
   transition-duration: .8s;
   -webkit-transition-timing-function: ease;
   transition-timing-function: ease;
   -webkit-transition-property: opacity;
   transition-property: opacity;
}

#opening .p-progress__label.is-show {
   -webkit-animation-name: showProgressLabelPc;
   animation-name: showProgressLabelPc;
}

#opening .p-progress__label.is-show .p-progress__logo-typo {
   opacity: 1;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--1 {
   -webkit-transition-delay: 0s;
   transition-delay: 0s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--2 {
   -webkit-transition-delay: .05s;
   transition-delay: 0.05s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--3 {
   -webkit-transition-delay: .2s;
   transition-delay: 0.2s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--4 {
   -webkit-transition-delay: .25s;
   transition-delay: 0.25s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--5 {
   -webkit-transition-delay: .15s;
   transition-delay: 0.15s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--6 {
   -webkit-transition-delay: .3s;
   transition-delay: 0.3s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--7 {
   -webkit-transition-delay: .1s;
   transition-delay: 0.1s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--8 {
   -webkit-transition-delay: .15s;
   transition-delay: 0.15s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--9 {
   -webkit-transition-delay: .2s;
   transition-delay: 0.2s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--10 {
   -webkit-transition-delay: .1s;
   transition-delay: 0.1s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--11 {
   -webkit-transition-delay: .25s;
   transition-delay: 0.25s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--12 {
   -webkit-transition-delay: .15s;
   transition-delay: 0.15s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--13 {
   -webkit-transition-delay: .3s;
   transition-delay: 0.3s;
}

#opening .p-progress__label.is-show .p-progress__logo-typo--14 {
   -webkit-transition-delay: .1s;
   transition-delay: 0.1s;
}

@media screen and (max-width: 1440px) {
   #opening .p-progress__label {
      font-size: 42px;
   }
}

@media screen and (max-width: 991px) {
   #opening .p-progress__label {
      font-size: 36px;
      line-height: 60px;
   }
}

@media screen and (max-width: 767px) {
   #opening .p-progress__label {
      font-size: 28px;
      line-height: 50px;
   }
}

/* -- -- */
/*
* 
*=============================================*/
/* -- -- */
.h2_01 {
   font-family: 'UDDigiKyokashoN-B', sans-serif;
   font-weight: bold;
   font-size: 71px;
   letter-spacing: 0;
   line-height: 1;
}

.h2_01 small {
   display: block;
   font-weight: 500;
   font-size: 20px;
   line-height: 33px;
}

.h2_02 {
   font-family: 'UDDigiKyokashoN-B', sans-serif;
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0;
   line-height: 40px;
   text-align: center;
}

.h2_02 small {
   display: block;
   font-size: 24px;
}

.h-24 {
   font-family: 'UDDigiKyokashoN-B', sans-serif;
   font-weight: bold;
   font-size: 24px;
   letter-spacing: 0;
   line-height: 40px;
}

.h-32 {
   font-family: 'UDDigiKyokashoN-B', sans-serif;
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0;
   line-height: 52px;
}

@media screen and (max-width: 1440px) {
   .h2_01 {
      font-size: 61px;
   }

   .h2_02 {
      font-size: 30px;
   }

   .h2_02 small {
      font-size: 22px;
   }

   .h-24 {
      font-size: 22px;
   }

   .h-32 {
      font-size: 30px;
   }
}

@media screen and (max-width: 991px) {
   .h2_01 {
      font-size: 51px;
   }

   .h2_02 {
      font-size: 28px;
   }

   .h2_02 small {
      font-size: 20px;
   }

   .h-24 {
      font-size: 20px;
   }

   .h-32 {
      font-size: 28px;
   }
}

@media screen and (max-width: 767px) {
   .h2_01 {
      font-size: 40px;
   }

   .h2_01 small {
      font-size: 15px;
   }

   .h2_02 {
      font-size: 25px;
   }

   .h2_02 small {
      font-size: 16px;
      line-height: 28px;
   }

   .h-24 {
      font-size: 20px;
   }

   .h-32 {
      font-size: 25px;
      line-height: 36px;
   }
}

/* -- -- */
.btn-s a {
   display: inline-block;
   width: 100%;
   max-width: 424px;
   background: #AA1A1D;
   font-weight: bold;
   font-size: 17px;
   letter-spacing: 0;
   line-height: 28px;
   color: #fff;
   text-align: center;
   padding: 31px 0;
   position: relative;
   z-index: 1;
}

.btn-s a:before {
   content: '';
   display: block;
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background-color: #e25457;
   -webkit-transform: scaleX(0);
   transform: scaleX(0);
   -webkit-transition-duration: .8s;
   transition-duration: .8s;
   -webkit-transform-origin: right;
   transform-origin: right;
   -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
   transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
   -webkit-transition-property: -webkit-transform;
   transition-property: -webkit-transform;
   transition-property: transform;
   transition-property: transform, -webkit-transform;
   z-index: -1;
}

.btn-s a:hover {
   opacity: 1;
}

.btn-s a:hover:before {
   -webkit-transform: scaleX(1);
   transform: scaleX(1);
   -webkit-transform-origin: left;
   transform-origin: left;
}

.btn-s.grey a {
   background-color: #EBEBEB;
   color: #000;
}

@media screen and (max-width: 767px) {
   .btn-s a {
      font-size: 15px;
      padding: 15px 0;
   }
}

/* -- -- */
.slick-dots {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
}

.slick-dots li {
   width: 66px;
   height: 6px;
   background-color: #58595B;
   position: relative;
}

.slick-dots li+li {
   margin-left: 7px;
}

.slick-dots li button {
   opacity: 0;
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   cursor: pointer;
}

.slick-dots li.slick-active,
.slick-dots li:hover {
   background-color: #fff;
}

.slick-arrow {
   width: 65px;
   height: 65px;
   border: 0;
   overflow: hidden;
   text-indent: -9999px;
   cursor: pointer;
   transition: all 0.3s;
}

.slick-arrow:hover {
   opacity: 0.7;
}

.slick-arrow.slick-prev {
   background: url("/fukuyama_kaigo_2022/assets/img/common/sl_prev.svg") no-repeat center top/cover;
}

.slick-arrow.slick-next {
   background: url("/fukuyama_kaigo_2022/assets/img/common/sl_next.svg") no-repeat center top/cover;
}

@media screen and (max-width: 1200px) {
   .slick-arrow {
      width: 55px;
      height: 55px;
   }
}

@media screen and (max-width: 767px) {
   .slick-arrow {
      width: 40px;
      height: 40px;
   }

   .slick-dots li {
      width: 40px;
      height: 4px;
   }
}

/* -- -- */
.swiper-container {
   overflow: hidden;
}

/* -- -- */
.bg-wh {
   background-color: #fff;
}

/* -- -- */
.txt-c {
   text-align: center;
}

.txt-j {
   text-align: justify;
}

/* -- -- */
.c-show-zoom-in {
   opacity: 0;
   -webkit-backface-visibility: hidden;
   backface-visibility: hidden;
   -webkit-transition-duration: .8s;
   transition-duration: .8s;
   -webkit-transition-delay: .4s;
   transition-delay: .4s;
   -webkit-transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
   transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
   -webkit-transition-property: opacity, -webkit-transform;
   transition-property: opacity, -webkit-transform;
   transition-property: opacity, transform;
   transition-property: opacity, transform, -webkit-transform;
   -webkit-transform: scale(0.9);
   transform: scale(0.9);
}

.c-show-zoom-in[style*="visible"] {
   opacity: 1;
   -webkit-transform: scale(1);
   transform: scale(1);
}

/* -- -- */
.kv {
   width: 100%;
   height: 630px;
   position: relative;
}

@media screen and (max-width: 767px) {
   .kv {
      height: 400px;
   }
}

/* -- -- */
/*
* Home
*=============================================*/
@-webkit-keyframes slideAnime {
   0% {
      transform: scale(1.15);
   }

   100% {
      transform: scale(1);
   }
}

@keyframes slideAnime {
   0% {
      transform: scale(1.15);
   }

   100% {
      transform: scale(1);
   }
}

/* -- -- */
#top-key {
   width: 100%;
   height: 100vh;
   position: relative;
}

#top-key h2 {
   width: 90%;
   text-align: center;
   font-weight: bold;
   font-size: 52px;
   letter-spacing: 0;
   line-height: 83px;
   color: #fff;
   position: absolute;
   top: 50%;
   left: 5%;
   transform: translateY(-50%);
}

.top-key-slider {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

.top-key-slider .slick-track,
.top-key-slider .slick-list,
.top-key-slider .slick-slide {
   width: 100%;
   height: 100%;
}

.top-key-slider .slick-slide {
   transform: scale(1);
   position: relative;
}

.top-key-slider .slick-slide.slick-current {
   -webkit-animation: slideAnime 5.5s ease-out;
   animation: slideAnime 5.5s ease-out;
}

.top-key-slider .slick-slide::before {
   content: '';
   width: 100%;
   height: 100%;
   background-color: #4F3029;
   opacity: 0.2;
   position: absolute;
   top: 0;
   left: 0;
}

.top-key-slider .slide01 {
   background: url("/fukuyama_kaigo_2022/assets/img/index/key01.jpg") no-repeat center/cover;
}

.top-key-slider .slide02 {
   background: url("/fukuyama_kaigo_2022/assets/img/index/key02.jpg") no-repeat center/cover;
}

.top-key-slider .slide03 {
   background: url("/fukuyama_kaigo_2022/assets/img/index/key03.jpg") no-repeat center/cover;
}

@media screen and (max-width: 1440px) {
   #top-key h2 {
      font-size: 42px;
   }
}

@media screen and (max-width: 991px) {
   #top-key h2 {
      font-size: 36px;
      line-height: 60px;
   }
}

@media screen and (max-width: 767px) {
   #top-key {
      height: calc(90vh - 30px);
   }

   #top-key h2 {
      font-size: 28px;
      line-height: 50px;
   }
}

/* -- -- */
#message {
   padding-top: 110px;
   position: relative;
}

#message .wrap {
   padding-top: 235px;
   padding-bottom: 600px;
}

#message h2 {
   width: 770px;
   box-sizing: border-box;
   margin-left: auto;
   padding-bottom: 10px;
   padding-left: 125px;
}

#message .box {
   width: 770px;
   background-color: #fff;
   box-sizing: border-box;
   padding: 50px 90px 105px 125px;
   margin-left: auto;
   position: relative;
   z-index: 1;
}

#message .box .desc {
   padding-top: 30px;
}

#message .photo1 {
   width: 644px;
   position: absolute;
   top: 190px;
   left: 195px;
}

#message .pc_photo2 {
   content: '';
   width: 49.7%;
   padding-top: 427px;
   background: url("/fukuyama_kaigo_2022/assets/img/index/message-photo1.jpg") no-repeat center top/cover;
   position: absolute;
   bottom: 173px;
   right: 0;
}

@media screen and (max-width: 1600px) {
   #message h2 {
      width: 700px;
   }

   #message .box {
      width: 700px;
   }

   #message .photo1 {
      width: 524px;
      left: 81px;
   }
}

@media screen and (max-width: 1440px) {
   #message h2 {
      width: 52%;
      padding-left: 50px;
   }

   #message .box {
      width: 52%;
      padding: 50px;
   }

   #message .photo1 {
      width: 50.4%;
      left: 0;
   }
}

@media screen and (max-width: 991px) {
   #message .wrap {
      padding-top: 150px;
      padding-bottom: 0;
   }

   #message h2 {
      width: auto;
      text-align: center;
      padding-left: 0;
   }

   #message .box {
      width: auto;
      padding: 50px 40px;
   }

   #message .photo1 {
      position: static;
      margin: 0 auto;
      padding-top: 50px;
   }

   #message .photo2 {
      display: block;
   }

   #message .pc_photo2 {
      display: none;
   }
}

@media screen and (max-width: 767px) {
   #message {
      padding: 100px 20px 0;
   }

   #message .wrap {
      padding: 50px 0;
   }

   #message .photo1 {
      width: 70%;
      padding-top: 30px;
   }

   #message .box {
      padding: 40px 20px;
   }

   #message .box h3 {
      font-size: 18px;
   }

   #message .box .desc {
      padding-top: 15px;
   }
}

/* -- -- */
#news {
   margin-top: 145px;
   padding-top: 120px;
   position: relative;
}

#news .pc-photo {
   content: '';
   width: calc(50% + 125px);
   height: 553px;
   background: url("/fukuyama_kaigo_2022/assets/img/index/news-photo.jpg") no-repeat center top/cover;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
}

#news h2 {
   width: 575px;
   position: absolute;
   bottom: 104%;
   right: 0;
}

#news .list {
   width: 465px;
   min-height: 382px;
   margin-left: auto;
   padding: 70px 105px 130px 0;
}

#news .list dl {
   font-weight: 500;
   letter-spacing: 0;
}

#news .list dl+dl {
   padding-top: 40px;
}

#news .list dl dt span {
   display: inline-block;
   width: 60px;
   border: 1px solid #AD2525;
   font-weight: bold;
   color: #AD2525;
   text-align: center;
   margin-right: 10px;
   padding-top: 2px;
}


#news .list dl dt .label {
   display: inline-block;
   width: 60px;
   border: 1px solid #AD2525;
   color: #AD2525;
   font-weight: bold;
   text-align: center;
   padding: 2px 0 0;
}


#news .list dl dd {
   padding-top: 5px;
}

@media screen and (max-width: 1600px) {
   #news .pc-photo {
      width: 52%;
   }

   #news h2 {
      width: 45.5%;
   }

   #news .list {
      width: 40%;
      padding-right: 5%;
   }
}

@media screen and (max-width: 991px) {
   #news .pc-photo {
      display: none;
   }

   #news h2 {
      width: auto;
      text-align: center;
      left: 0;
   }

   #news .photo {
      display: block;
   }

   #news .list {
      width: auto;
      padding: 50px 50px 35px;
   }
}

@media screen and (max-width: 767px) {
   #news {
      margin-top: 40px;
      padding: 100px 20px 0;
   }

   #news h2 {
      bottom: 102%;
   }

   #news .wrap {
      padding: 0;
   }

   #news .list {
      padding: 40px 20px;
   }

   #news .list dl+dl {
      padding-top: 20px;
   }
}

/* -- -- */
#reason {
   padding-top: 150px;
}

#reason h2 {
   padding-bottom: 90px;
}

#reason .box {
   display: flex;
   flex-wrap: wrap;
   line-height: 30px;
}

#reason .box .colL {
   display: flex;
   flex-wrap: wrap;
   width: 735px;
   margin-bottom: -20px;
}

#reason .box .colL .item {
   width: 335px;
   background-color: #fff;
   margin-bottom: 20px;
   margin-left: 65px;
}

#reason .box .colL .item:nth-child(2n + 1) {
   margin-left: 0;
}

#reason .box .colL .item h3 {
   padding: 15px 20px;
}

#reason .box .colL .item .desc {
   padding: 0 15px 20px;
}

#reason .box .colR {
   width: 735px;
   background-color: #fff;
   margin-left: 80px;
}

#reason .box .colR h3 {
   padding: 50px 35px 20px;
}

#reason .box .colR .desc {
   padding: 0 35px 20px;
}

@media screen and (max-width: 1600px) {
   #reason .box .colL {
      width: 48%;
   }

   #reason .box .colL .item {
      width: 48%;
      margin-left: 4%;
   }

   #reason .box .colL .item:nth-child(2n + 1) {
      margin-left: 0;
   }

   #reason .box .colR {
      width: 48%;
      margin-left: 4%;
   }
}

@media screen and (max-width: 1440px) {
   #reason .box .colL .item h3 {
      font-size: 20px;
   }
}

@media screen and (max-width: 991px) {
   #reason .box {
      display: block;
   }

   #reason .box .colL {
      width: 100%;
      margin-bottom: 50px;
   }

   #reason .box .colR {
      width: 100%;
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #reason {
      padding-top: 100px;
   }

   #reason h2 {
      padding-bottom: 40px;
   }

   #reason .box .colL {
      display: block;
   }

   #reason .box .colL .item {
      width: 80%;
      margin: 0 auto 20px;
   }

   #reason .box .colL .item:nth-child(2n + 1) {
      margin: 0 auto 20px;
   }

   #reason .box .colL .item h3 {
      padding: 10px 10px 0;
   }

   #reason .box .colL .item .desc {
      padding: 0 10px 20px;
   }

   #reason .box .colR h3 {
      padding: 40px 20px 10px;
   }

   #reason .box .colR .desc {
      padding: 0 20px 40px;
   }
}

/* -- -- */
#professional {
   padding-top: 145px;
}

#professional .wrap {
   padding-top: 85px;
   padding-bottom: 55px;
}

#professional h2 {
   padding-bottom: 75px;
}

#professional .box {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
}

#professional .box .item {
   width: 370px;
}

#professional .box .item+.item {
   margin-left: 15px;
}

#professional .box .item .photo {
   overflow: hidden;
   position: relative;
}

#professional .box .item .photo img {
   transition: all 0.3s ease;
}

#professional .box .item .photo:hover img {
   transform: scale(1.05, 1.05);
}

#professional .box .item .photo .label {
   display: inline-block;
   background-color: #fff;
   font-weight: bold;
   line-height: 10px;
   padding: 3px;
   position: absolute;
   top: 0;
   left: 0;
   z-index: 1;
}

#professional .box .item h3 {
   font-weight: bold;
   font-size: 21px;
   letter-spacing: 0;
   line-height: 34px;
   text-align: center;
   padding-top: 20px;
}

#professional .box .item .desc {
   line-height: 33px;
   padding-top: 30px;
}

#professional .btn-s {
   padding-top: 75px;
}

@media screen and (max-width: 1600px) {
   #professional .box .item {
      width: 30%;
   }

   #professional .box .item+.item {
      margin-left: 2%;
   }
}

@media screen and (max-width: 1440px) {
   #professional .box .item h3 {
      font-size: 18px;
   }
}

@media screen and (max-width: 767px) {
   #professional {
      padding: 100px 20px 0;
   }

   #professional .wrap {
      padding-top: 50px;
      padding-bottom: 50px;
   }

   #professional h2 {
      padding-bottom: 40px;
   }

   #professional .box {
      display: block;
   }

   #professional .box .item {
      width: 100%;
   }

   #professional .box .item+.item {
      margin-top: 40px;
      margin-left: 0;
   }

   #professional .box .item .desc {
      padding-top: 15px;
   }

   #professional .btn-s {
      padding-top: 40px;
   }
}

/* -- -- */
#future-flow {
   padding-top: 155px;
}

#future-flow .wrap {
   padding-top: 100px;
   padding-bottom: 70px;
}

#future-flow .desc {
   text-align: center;
   padding-top: 50px;
}

#future-flow .box {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 50px;
}

#future-flow .box .item {
   width: 285px;
}

#future-flow .box .item+.item {
   margin-left: 20px;
}

#future-flow .box .item h3 {
   text-align: center;
}

#future-flow .box .item .txt {
   font-weight: 500;
   padding-top: 15px;
}

#future-flow .btn-s {
   padding-top: 50px;
}

@media screen and (max-width: 1600px) {
   #future-flow .box {
      padding: 50px 40px 0;
   }

   #future-flow .box .item {
      width: 23.5%;
   }

   #future-flow .box .item+.item {
      margin-left: 2%;
   }
}

@media screen and (max-width: 767px) {
   #future-flow {
      padding: 100px 20px 0;
   }

   #future-flow .desc {
      padding-top: 20px;
   }

   #future-flow .box {
      display: block;
      padding: 40px 0 0;
   }

   #future-flow .box .item {
      width: 100%;
   }

   #future-flow .box .item+.item {
      margin-top: 50px;
      margin-left: 0;
   }
}

/* -- -- */
#cta {
   padding: 165px 0 80px;
}

#cta .wrap {
   padding-top: 65px;
   padding-bottom: 75px;
}

#cta .box {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 80px;
}

#cta .box .btn-s a {
   max-width: 100%;
}

#cta .box .colL {
   width: 405px;
}

#cta .box .colL .txt {
   font-weight: 500;
   line-height: 33px;
   padding-top: 10px;
}

#cta .box .colL ul {
   padding-top: 14px;
}

#cta .box .colL ul li+li {
   padding-top: 10px;
}

#cta .box .colR {
   width: 490px;
   margin-left: 80px;
}

#cta .box .colR .map {
   width: 100%;
   padding-top: 326px;
   position: relative;
}

#cta .box .colR .map iframe {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#cta .box .colR .btn-s {
   padding-top: 10px;
}

@media screen and (max-width: 1600px) {
   #cta .box .colL {
      width: 40%;
   }

   #cta .box .colR {
      width: 40%;
      margin-left: 5%;
   }
}

@media screen and (max-width: 1440px) {
   #cta .box .colR .btn-s a {
      font-size: 15px;
   }
}

@media screen and (max-width: 767px) {
   #cta {
      padding: 100px 20px;
   }

   #cta .wrap {
      padding: 50px 20px;
   }

   #cta .box {
      display: block;
      padding-top: 40px;
   }

   #cta .box .colL {
      width: auto;
   }

   #cta .box .colR {
      width: auto;
      margin-left: 0;
      padding-top: 50px;
   }
}

/* -- -- */
#cta01 {
   padding-top: 150px;
}

#cta01 .btn-s a {
   background-color: #AA1A1D;
}

#cta01 .btn-s a:before {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background-color: #e25457;
   -webkit-transform: scaleX(0);
   transform: scaleX(0);
   -webkit-transform-origin: right;
   transform-origin: right;
   -webkit-transition-duration: .8s;
   transition-duration: .8s;
   -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
   transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
   -webkit-transition-property: -webkit-transform;
   transition-property: -webkit-transform;
   transition-property: transform;
   transition-property: transform, -webkit-transform;
   z-index: -1;
}

#cta01 .btn-s a:hover {
   opacity: 1;
}

#cta01 .btn-s a:hover:before {
   -webkit-transform: scaleX(1);
   transform: scaleX(1);
   -webkit-transform-origin: left;
   transform-origin: left;
}

@media screen and (max-width: 767px) {
   #cta01 {
      padding-top: 100px;
   }
}

/*
* Consultation
*=============================================*/
/* -- -- */
#kv-consultation {
   background: url("/fukuyama_kaigo_2022/assets/img/consultation/kv.jpg") no-repeat center/cover;
   overflow: hidden;
}

#kv-consultation:after {
   content: '';
   width: 100%;
   height: 100%;
   background-color: #4F3029;
   opacity: 0.2;
   position: absolute;
   top: 0;
   left: 0;
}

#kv-consultation video {
   width: 100%;
   height: auto;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

#kv-consultation .wrap {
   height: 100%;
}

#kv-consultation h2 {
   color: #fff;
   position: absolute;
   bottom: 50px;
   right: 0;
   z-index: 1;
}

@media screen and (max-width: 1140px) {
   #kv-consultation video {
      width: auto;
      height: 100%;
   }
}

@media screen and (max-width: 767px) {
   #kv-consultation h2 {
      bottom: 20px;
      right: 20px;
   }
}

/* -- -- */
#consultation-lead {
   padding: 125px 20px 100px;
}

#consultation-lead .wrap {
   background-color: #fff;
   padding: 70px 20px;
}

@media screen and (max-width: 767px) {
   #consultation-lead {
      padding: 70px 20px;
   }

   #consultation-lead .wrap {
      padding: 40px 20px;
   }
}

/* -- -- */
#consultation-event {
   padding-bottom: 210px;
}

#consultation-event .wrap {
   background-color: #fff;
   padding: 90px 20px 100px;
}

#consultation-event .desc {
   line-height: 33px;
   padding-top: 40px;
   padding-bottom: 40px;
}

#consultation-event .desc p {
   padding-bottom: 40px;
}

#consultation-event .desc p:last-child {
   padding-bottom: 0;
}

#consultation-event .box {
   width: 100%;
   max-width: 1200px;
   margin: 0 auto;
}

#consultation-event .box .item {
   display: flex;
   flex-wrap: wrap;
   align-items: flex-start;
   border-top: 1px solid #ECECEC;
   border-bottom: 1px solid #ECECEC;
   padding: 40px 30px 75px;
}

#consultation-event .box .item+.item {
   border-top: 0;
}

#consultation-event .box .item .map {
   width: 400px;
   padding-top: 300px;
   position: relative;
}

#consultation-event .box .item .map iframe {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#consultation-event .box .item .info {
   width: calc(100% - 450px);
   margin-left: 50px;
}

#consultation-event .box .item .date strong {
   font-size: 40px;
}

#consultation-event .box .item h3 {
   padding-top: 20px;
}

#consultation-event .box .item ul {
   line-height: 43px;
   padding-top: 20px;
}

@media screen and (max-width: 991px) {
   #consultation-event .box .item {
      padding: 40px 0 75px;
   }

   #consultation-event .box .item .map {
      width: 100%;
      padding-top: 75%;
   }

   #consultation-event .box .item .info {
      width: 100%;
      margin-left: 0;
      padding-top: 40px;
   }
}

@media screen and (max-width: 767px) {
   #consultation-event {
      padding: 0 20px 100px;
   }

   #consultation-event .wrap {
      padding: 50px 20px;
   }

   #consultation-event .desc {
      text-align: left;
      padding-top: 20px;
   }

   #consultation-event .desc p {
      padding-bottom: 20px;
   }

   #consultation-event .desc p:last-child {
      padding-bottom: 0;
   }

   #consultation-event .box .item {
      padding: 40px 0;
   }

   #consultation-event .box .item .info {
      padding-top: 30px;
   }

   #consultation-event .box .item .info .date strong {
      font-size: 30px;
   }

   #consultation-event .box .item .info h3 {
      padding-top: 10px;
   }

   #consultation-event .box .item .info ul {
      line-height: 30px;
      padding-top: 10px;
   }
}

/* -- -- */
/*
* Visit
*=============================================*/
/* -- -- */
#kv-visit {
   background: url("/fukuyama_kaigo_2022/assets/img/visit/kv.jpg") no-repeat center/cover;
}

#kv-visit h2 {
   text-align: center;
   color: #fff;
   font-weight: bold;
   font-size: 42px;
   line-height: 68px;
   letter-spacing: 0;
   position: absolute;
   top: 50%;
   right: 20px;
   left: 20px;
   transform: translateY(-50%);
}

@media screen and (max-width: 1440px) {
   #kv-visit h2 {
      font-size: 36px;
   }
}

@media screen and (max-width: 991px) {
   #kv-visit h2 {
      font-size: 32px;
      line-height: 50px;
   }
}

@media screen and (max-width: 767px) {
   #kv-visit h2 {
      font-size: 28px;
   }
}

/* -- -- */
#visit01 {
   padding: 125px 20px 205px;
}

#visit01 .wrap {
   background-color: #fff;
   padding: 90px 20px 80px;
}

#visit01 .box {
   display: flex;
   flex-wrap: wrap;
   align-items: flex-start;
   justify-content: center;
   padding-top: 65px;
}

#visit01 .col {
   width: 500px;
}

#visit01 .desc {
   line-height: 33px;
   padding-top: 30px;
}

#visit01 .photo {
   width: 635px;
   padding-top: 450px;
   position: relative;
   margin-left: 120px;
}

#visit01 .photo>* {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

@media screen and (max-width: 1600px) {
   #visit01 .col {
      width: 45%;
   }

   #visit01 .photo {
      width: 50%;
      margin-left: 5%;
   }
}

@media screen and (max-width: 991px) {
   #visit01 .box {
      display: block;
   }

   #visit01 .col {
      width: 100%;
   }

   #visit01 .photo {
      width: 100%;
      padding-top: 71%;
      margin-top: 40px;
      margin-left: 0;
   }
}

@media screen and (max-width: 767px) {
   #visit01 {
      padding: 70px 20px;
   }

   #visit01 .wrap {
      padding: 40px 20px;
   }

   #visit01 .box {
      padding-top: 40px;
   }

   #visit01 .desc {
      padding-top: 20px;
   }
   #visit01 .desc br{
      display: none
   }

   #visit01 .photo {
      margin-top: 20px;
   }
}

/* -- -- */
/*
* Contact
*=============================================*/
/* -- -- */
#kv-contact {
   background: url("/fukuyama_kaigo_2022/assets/img/contact/kv.jpg") no-repeat center/cover;
}

#kv-contact h2 {
   text-align: center;
   color: #fff;
   font-weight: bold;
   font-size: 52px;
   line-height: 68px;
   letter-spacing: 0;
   position: absolute;
   top: 50%;
   right: 20px;
   left: 20px;
   transform: translateY(-50%);
}

#kv-contact h2 small {
   display: block;
   font-size: 18px;
   line-height: 29px;
   letter-spacing: 0;
}

@media screen and (max-width: 1440px) {
   #kv-contact h2 {
      font-size: 42px;
   }
}

@media screen and (max-width: 991px) {
   #kv-contact h2 {
      font-size: 36px;
      line-height: 50px;
   }
}

@media screen and (max-width: 767px) {
   #kv-contact h2 {
      font-size: 28px;
   }

   #kv-contact h2 small {
      font-size: 16px;
   }
}

/* -- -- */
#mailform {
   padding: 135px 20px 110px;
}

#mailform .wrap {
   background-color: #fff;
   padding: 105px 20px 110px;
}

#mailform .box {
   line-height: 33px;
   text-align: center;
}

#mailform .fc-form {
   width: 100%;
   max-width: 1160px;
   margin: 0 auto;
   padding-top: 50px;
}

#mailform input,
#mailform textarea {
   display: block;
   width: 100%;
   border: 1px solid #F2F2F2;
   background-color: #F2F2F2;
   box-sizing: border-box;
   line-height: 33px;
   border-radius: 0 !important;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 4px 15px;
}

#mailform textarea {
   height: 277px;
   resize: vertical;
}

#mailform .form-row {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   align-items: flex-start;
   margin-top: 35px;
}

#mailform .form-row .caption {
   width: 320px;
   font-weight: bold;
   font-size: 18px;
   letter-spacing: 0;
   line-height: 30px;
   position: relative;
}

#mailform .form-row .caption small {
   display: block;
   color: #969696;
   font-weight: normal;
   font-size: 14px;
   line-height: 1;
}

#mailform .form-row .mark-require {
   display: block;
   width: 72px;
   background-color: #000;
   color: #fff;
   font-size: 13px;
   line-height: 21px;
   text-align: center;
   padding: 2px 0 0;
   position: absolute;
   top: 10px;
   right: 0;
}

#mailform .form-row .input {
   width: calc(100% - 360px);
   max-width: 800px;
   margin-left: 40px;
}

#mailform .form-row .error {
   font-size: 14px;
   line-height: 1;
   left: 360px;
   bottom: -20px;
}

#mailform .submit {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   padding-top: 80px;
}

#mailform .submit button {
   width: 424px;
   height: 90px;
   background-color: #000;
   border: 0;
   text-align: center;
   color: #fff;
   font-weight: bold;
   font-size: 17px;
   letter-spacing: 0;
   line-height: 27px;
   cursor: pointer;
   margin: 5px;
   position: relative;
   z-index: 1;
}

#mailform .submit button:before {
   content: '';
   position: absolute;
   top: 0;
   right: 0;
   bottom: 0;
   left: 0;
   background-color: #282828;
   -webkit-transform: scaleX(0);
   transform: scaleX(0);
   -webkit-transform-origin: right;
   transform-origin: right;
   -webkit-transition-duration: .8s;
   transition-duration: .8s;
   -webkit-transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
   transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
   -webkit-transition-property: -webkit-transform;
   transition-property: -webkit-transform;
   transition-property: transform;
   transition-property: transform, -webkit-transform;
   z-index: -1;
}

#mailform .submit button:hover:before {
   -webkit-transform: scaleX(1);
   transform: scaleX(1);
   -webkit-transform-origin: left;
   transform-origin: left;
}

#mailform .submit.submit-confirm button.form-submit {
   background-color: #AA1A1D;
}

.thank-txt{}
.thank-txt p{
   padding-top: 20px;
}
@media screen and (max-width: 991px) {
   #mailform .form-row .caption {
      width: 280px;
   }

   #mailform .form-row .input {
      width: calc(100% - 320px);
   }

   #mailform .form-row .error {
      left: 320px;
   }
}

@media screen and (max-width: 767px) {
   #mailform {
      padding: 100px 20px;
   }

   #mailform .wrap {
      padding: 50px 20px;
   }

   #mailform .fc-form {
      padding-top: 20px;
   }

   #mailform .form-row {
      display: block;
   }

   #mailform .form-row .caption {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 100%;
      padding-top: 0;
   }

   #mailform .form-row .mark-require {
      margin-left: 10px;
      position: static;
   }

   #mailform .form-row .input {
      width: 100%;
      margin-top: 10px;
      margin-left: 0;
   }

   #mailform .form-row .error {
      font-size: 12px;
      left: 0;
   }

   #mailform .submit {
      padding-top: 50px;
   }

   #mailform .submit button {
      width: 90%;
      height: 60px;
   }
   .thank-txt .desc{
      text-align: left
   }
}

/*
*  Detail
*=============================================*/
#kv-news{
   background: url('/fukuyama_kaigo_2022/assets/img/news-detail/kv.jpg') no-repeat center / cover;
}

#kv-news h2 {
   text-align: center;
   color: #fff;
   font-weight: bold;
   font-size: 52px;
   line-height: 68px;
   letter-spacing: 0;
   position: absolute;
   top: 50%;
   right: 20px;
   left: 20px;
   transform: translateY(-50%);
}

#kv-news h2 small {
   display: block;
   font-size: 18px;
   line-height: 29px;
   letter-spacing: 0;
}

@media screen and (max-width: 1440px) {
   #kv-news h2 {
      font-size: 42px;
   }
}

@media screen and (max-width: 991px) {
   #kv-news h2 {
      font-size: 36px;
      line-height: 50px;
   }
}

@media screen and (max-width: 767px) {
   #kv-news h2 {
      font-size: 28px;
   }

   #kv-news h2 small {
      font-size: 16px;
   }
}
/* -- -- */
#cpt-detail {
   padding: 135px 20px 110px;
}

#cpt-detail .wrap {
   background-color: #fff;
   padding: 100px 20px;
}
#cpt-detail .box{
   width: 100%;
   max-width: 820px;
   margin: 0 auto;
}
#cpt-detail .desc {
   line-height: 41px;
   letter-spacing: 0;
}

#cpt-detail .date {
   padding-bottom: 25px;
   position: relative;
}

#cpt-detail .date:before {
   content: '';
   width: 150px;
   height: 1px;
   background-image: linear-gradient(to right, #C7DC68, #AFD147);
   position: absolute;
   bottom: 0;
   left: 50%;
   transform: translateX(-50%);
}

#cpt-detail .the_content {
   padding-top: 100px;
}

#cpt-detail .the_content h2 {
   font-weight: bold;
   font-size: 32px;
   letter-spacing: 0;
   line-height: 42px;
   border-left: 10px solid #C7DC68;
   padding: 2px 10px;
   margin-bottom: 30px;
}

#cpt-detail .the_content p {
   padding-bottom: 30px;
}

#cpt-detail .the_content p:last-child {
   padding-bottom: 0;
}

@media screen and (max-width: 1200px) {
   #cpt-detail .the_content h2 {
      font-size: 28px;
   }
}

@media screen and (max-width: 991px) {
   #cpt-detail .wrap {
      max-width: 720px;
   }

   #cpt-detail .the_content h2 {
      font-size: 26px;
   }
}

@media screen and (max-width: 767px) {
   #cpt-detail {
      padding: 70px 20px;
   }

   #cpt-detail .wrap {
      padding: 40px 20px
   }

   #cpt-detail .desc {
      line-height: 30px;
      padding: 5px 0;
   }

   #cpt-detail .date {
      padding-bottom: 15px;
   }

   #cpt-detail .the_content {
      padding-top: 50px;
   }

   #cpt-detail .the_content h2 {
      font-size: 24px;
      line-height: 36px;
      margin-bottom: 20px;
   }

   #cpt-detail .the_content p {
      padding-bottom: 15px;
   }

   #cpt-detail .the_content p:last-child {
      padding-bottom: 0;
   }
}