@charset "UTF-8";

/* -- -- */
/*=============================================
 * HOME
 *=============================================*/
#mv {
   width: 100%;
   height: calc(100vh - 180px);
   min-height: 500px;
   box-sizing: border-box;
   position: relative;
   margin: 14px 0 80px;
}

.mv__slider {
   width: calc(100% - 120px);
   height: 100%;
   position: absolute;
   top: 0;
   left: 60px;
   z-index: -1;
}

.mv__slider .swiper-wrapper,
.mv__slider .swiper-slide {
   width: 100%;
   height: 100%;
}

.mv__slider .swiper-slide {
   border-radius: 60px;
   border: 10px solid #ACE3DD;
   box-sizing: border-box;
}

.mv__ttl {
   display: flex;
   align-items: center;
   width: calc(100% - 160px);
   max-width: 1400px;
   height: 100%;
   position: absolute;
   top: 0;
   left: 50%;
   z-index: 1;
   transform: translateX(-50%);
}

.mv__ttl h2 {
   width: 815px;
   color: #5F3F25;
   font-weight: 700;
   line-height: 60px;
	font-size: 34px;
}

.mv__ttl h2 span {
   display: inline-block;
   background-color: #fff;
   padding: 5px 30px;
   margin-bottom: 30px;

}

.mv__ttl h2 span:last-child {
   margin-bottom: 0;
}

@media screen and (max-width: 1199px) {
   #mv {
      height: calc(100vh - 117px);
      margin-top: 7px;
   }
}

@media screen and (max-width: 991px) {
   .mv__ttl h2 {
      font-size: 30px;
   }

   .mv__ttl h2 span {
      padding: 0 20px;
   }
}

@media screen and (max-width: 767px) {
   #mv {
      height: 98.718vw;
      min-height: inherit;
      margin: 7px 0 50px;
   }

   .mv__slider {
      width: calc(100% - 40px);
      left: 20px;
   }

   .mv__slider .swiper-slide {
      border: 5px solid #ACE3DD;
      border-radius: 30px;
   }

   .mv__ttl {
      width: calc(100% - 80px);
   }

   .mv__ttl h2 {
      width: 100%;
      font-size: 16px;
      line-height: 30px;
   }

   .mv__ttl h2 span {
      margin-bottom: 12px;
      padding: 0 10px;
   }
}

/* -- --*/
#topics {
   padding: 80px 0;
}

#topics .wrap {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   gap: 70px;
}

#topics h2 {
   width: 280px;
}

#topics .box {
   width: calc(100% - 350px);
   max-width: 650px;
   min-height: 220px;
}

#topics .box .item {
   width: 100%;
   border-bottom: 2px dashed #ccc;
   box-sizing: border-box;
   padding: 0 20px 20px;
}

#topics .box .item+.item {
   padding-top: 15px;
}

#topics .box .item time {
   display: inline-block;
   vertical-align: middle;
   color: #707070;
   font-size: 13px;
   line-height: 20px;
   padding-right: 10px;
}

#topics .box .item .cate {
   display: inline-block;
   vertical-align: middle;
   width: 140px;
}

#topics .box .item .cate a {
   display: block;
   font-size: 13px;
   line-height: 20px;
   background-color: #31BCBC;
   color: #fff;
   text-align: center;
   border-radius: 20px;
   padding: 3px 0;
}

#topics .box .item .cate a:hover {
   background-color: #5F3F25;
   opacity: 1;
}

#topics .box .item .ttl {
   line-height: 24px;
   padding-top: 16px;
}

#topics .box .item .ttl a {
   max-height: 52px;
   overflow: hidden;
   display: block;
   -webkit-line-clamp: 1;
   display: box;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   text-overflow: ellipsis;
   white-space: normal;
   position: relative;
}

#topics .button {
   width: 280px;
   position: absolute;
   top: 160px;
   left: 100px;
   padding-top: 20px;
}

@media screen and (max-width: 1440px) {
   #topics .button {
      left: 70px;
   }
}

@media screen and (max-width: 1200px) {
   #topics .button {
      left: 0px;
   }
}

@media screen and (max-width: 767px) {
   #topics {
      padding: 50px 0;
   }

   #topics .wrap {
      gap: 0px;
   }

   #topics .box {
      width: 100%;
      min-height: inherit;
      padding-top: 30px;
   }

   #topics .box .item {
      display: block;
      padding: 0 0 15px;
   }

   #topics .box .item+.item {
      padding-top: 15px;
   }

   #topics .box .item>* {
      display: inline-block;
   }

   #topics .box .item .ttl {
      display: block;
      line-height: 26px;
      padding-top: 5px;
      padding-left: 0;
   }

   #topics .box .item .ttl a {
      -webkit-line-clamp: 2;
   }

   #topics .button {
      position: static;
      text-align: center;
   }
}

/* -- --*/
#top__about {
   padding: 80px 0 90px;
}

#top__about .wrap {
   gap: 20px 70px;
}

#top__about .photo {
   width: calc(50% - 70px);
}

#top__about .col {
   width: 50%;
}

#top__about .logo,
#top__about .txt-18 {
   padding-top: 30px;
}

@media screen and (max-width: 1200px) {
   #top__about h2 br {
      display: none;
   }
}

@media screen and (max-width: 991px) {
   #top__about {
      padding-bottom: 0;
   }

   #top__about .photo {
      width: 100%;
      text-align: center;
   }

   #top__about .col {
      width: 100%;
   }

   #top__about h2 br {
      display: block;
   }
}

@media screen and (max-width: 767px) {
   #top__about {
      padding: 50px 0 0;
   }

   #top__about h2 {
      font-size: 18px;
   }

   #top__about .logo {
      padding-top: 20px;
   }
}

/* -- --*/
#top__shortstay {
   margin-bottom: 216px;
   padding: 80px 0 0;
   position: relative;
}

#top__shortstay:before {
   content: '';
   width: 100%;
   height: 216px;
   background: url("../img/index/short-stay-bg.png") no-repeat center bottom/100% 100%;
   position: absolute;
   top: 95%;
   left: 0;
}

#top__shortstay .desc {
   padding-top: 30px;
}

#top__shortstay .box {
   background-color: #fff;
   border: 3px solid #41A5C5;
   border-radius: 20px;
   padding: 40px 50px;
   margin-top: 30px;
}

#top__shortstay .box .item {
   padding: 0 20px;
}

#top__shortstay .box .item+.item {
   border-top: 3px dotted #41A5C5;
   margin-top: 20px;
   padding-top: 20px;
}

#top__shortstay .box h3 i {
   margin-right: 5px;
}

#top__shortstay .box .txt {
   padding-top: 10px;
}

#top__shortstay .button {
   padding-top: 40px;
}

@media screen and (max-width: 767px) {
   #top__shortstay {
      margin-bottom: 20vw;
      padding: 60px 0 20px;
   }

   #top__shortstay:before {
      height: 20vw;
      top: 99%;
   }

   #top__shortstay .desc {
      padding-top: 20px;
   }

   #top__shortstay .box {
      margin-top: 20px;
      padding: 40px 20px;
   }

   #top__shortstay .button {
      padding-top: 30px;
   }
}

/* -- --*/
#top__purpose {
   padding: 30px 0;
   position: relative;
}

#top__purpose:before {
   content: '';
   width: 100%;
   height: 168px;
   background: url("../img/index/top-purpose-deco.png") repeat center top/auto 100%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

#top__purpose .box {
   display: flex;
   flex-wrap: wrap;
   gap: 75px;
   padding-top: 60px;
}

#top__purpose .box .item {
   width: calc(33.33% - 50px);
   position: relative;
}

#top__purpose .box h3 {
   padding-top: 10px;
}

#top__purpose .box .txt {
   padding-top: 20px;
}

@media screen and (max-width: 991px) {
   #top__purpose .box {
      gap: 30px;
   }

   #top__purpose .box .item {
      width: calc(33.33% - 20px);
   }
}

@media screen and (max-width: 767px) {
   #top__purpose:before {
      display: none;
   }

   #top__purpose h2 .jp {
      font-size: 18px;
   }

   #top__purpose .box {
      padding-top: 40px;
   }

   #top__purpose .box .item {
      width: 100%;
   }

   #top__purpose .box .photo {
      width: 85%;
      margin: 0 auto;
   }
}

/* -- --*/
#top__facilities {
   margin-top: 216px;
   padding: 0 0 80px;
   position: relative;
}

#top__facilities:before {
   content: '';
   width: 100%;
   height: 216px;
   background: url("../img/index/facility-bg.png") no-repeat center top/100% 100%;
   position: absolute;
   bottom: 100%;
   left: 0;
}

#top__facilities .box {
   align-items: center;
   gap: 20px 60px;
   padding-top: 50px;
}

#top__facilities .box .photo {
   width: calc(50% + 100px);
   position: relative;
}

#top__facilities .box h3 {
   display: inline-block;
   background-color: #D8EB75;
   border-radius: 0 20px 0 20px;
   position: absolute;
   bottom: 0;
   left: 0;
   padding: 12px 24px;
}

#top__facilities .box .col {
   width: calc(50% - 160px);
}

#top__facilities .box .button {
   padding-top: 40px;
}

#top__facilities .box-info {
   gap: 20px 60px;
   padding-top: 50px;
}

#top__facilities .box-info .map {
   width: calc(50% + 100px);
   height: 470px;
   box-sizing: border-box;
   position: relative;
}

#top__facilities .box-info .map>* {
   display: block;
   width: 100%;
   height: 100%;
   border-radius: 20px;
   border: 6px solid #D8EB75 !important;
}

#top__facilities .box-info h3 {
   display: inline-block;
   background-color: #fff;
   color: #fff;
   position: absolute;
   bottom: 0;
   left: 0;
}

#top__facilities .box-info .col {
   width: calc(50% - 160px);
   padding: 30px 0;
}

#top__facilities .box-info dl {
   border-bottom: 1px dashed #41A5C5;
   padding: 0 10px 15px;
}

#top__facilities .box-info dl+dl {
   padding-top: 15px;
}

#top__facilities .box-info dl dt {
   color: #41A5C5;
   padding-bottom: 4px;
}

@media screen and (max-width: 991px) {
   #top__facilities .box {
      justify-content: center;
   }

   #top__facilities .box .photo {
      width: 100%;
   }

   #top__facilities .box .col {
      width: 92%;
   }

   #top__facilities .box .button {
      text-align: center;
   }

   #top__facilities .box-info .col,
   #top__facilities .box-info .map {
      width: 100%;
   }

   #top__facilities .box-info .col {
      padding: 0;
   }
}

@media screen and (max-width: 767px) {
   #top__facilities {
      margin-top: 20vw;
   }

   #top__facilities h2 .jp {
      font-size: 18px;
   }

   #top__facilities:before {
      height: 20vw;
   }

   #top__facilities .box h3 {
      font-size: 16px;
      line-height: 32px;
      padding: 0 15px 0 20px;
   }

   #top__facilities .box .button {
      padding-top: 20px;
   }

   #top__facilities .box-info .map {
      height: 63vw;
   }
}

/* -- --*/
#top__service {
   background: url("../img/index/service-bg-img.jpg") no-repeat center/cover;
   padding: 80px 0;
}

#top__service .box {
   gap: 30px;
   padding-top: 40px;
}

#top__service .box .item {
   width: calc(33.33% - 20px);
}

#top__service .box h3 {
   padding-top: 10px;
}

#top__service .box .txt {
   padding-top: 20px;
}

@media screen and (max-width: 767px) {
   #top__service {
      background-image: url("../img/index/sp_service-bg-img.jpg");
      padding: 50px 0;
   }

   #top__service .box .item {
      width: 100%;
   }
}

/* -- --*/
#top__flow {
   background: url("../img/common/footer-deco.png") repeat-x center bottom 20px/auto 35px;
   padding: 80px 0 105px;
}

#top__flow .box {
   justify-content: center;
   gap: 20px 0;
   padding-top: 50px;
}

#top__flow .box .item {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   gap: 10px;
   width: 209px;
   height: 277px;
   background: url("../img/index/flow-box-bg.png") no-repeat center top/cover;
   padding-right: 40px;
}

#top__flow .box .item+.item {
   background-image: url("../img/index/flow-box-bg1.png");
   margin-left: -12px;
}

#top__flow .box .item dt {
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   width: 120px;
   height: 120px;
   border-radius: 50%;
   color: #fff;
}

@media screen and (max-width: 1440px) {
   #top__flow .box {
      max-width: 800px;
      margin: 0 auto;
   }

   #top__flow .box .item:nth-child(4) {
      margin-left: 0;
   }
}

@media screen and (max-width: 991px) {
   #top__flow .box .item {
      width: 201px;
      height: 268px;
   }
}

@media screen and (max-width: 767px) {
   #top__flow {
      padding: 50px 0 85px;
   }

   #top__flow .box {
      justify-content: center;
      gap: 0;
      padding-top: 30px;
   }

   #top__flow .box .item {
      flex-direction: row;
      width: 280px;
      height: 122px;
      background-image: url("../img/index/sp_flow-box-bg.png");
      padding-right: 0;
      padding-bottom: 43px;
      position: relative;
   }

   #top__flow .box .item+.item {
      background-image: url("../img/index/sp_flow-box-bg1.png");
      margin-top: -10px;
      margin-left: 0;
   }

   #top__flow .box .item dt {
      width: 96px;
      height: 96px;
   }
}

/* -- --*/
#top__usage {
   color: #fff;
   padding: 80px 0;
}

#top__usage h2 {
   color: #fff;
}

#top__usage h2 small,
#top__usage h2 span {
   color: #fff;
}

#top__usage .desc {
   padding-top: 50px;
}

#top__usage .box {
   gap: 40px;
   max-width: 1100px;
   color: #333;
   margin: 0 auto;
   padding-top: 30px;
}

#top__usage .box .item {
   width: calc(50% - 20px);
   background-color: #fff;
   box-sizing: border-box;
   padding: 40px;
}

#top__usage .box h3 {
   display: flex;
   align-items: center;
   gap: 10px;
   border-bottom: 1px dashed #333;
   padding-bottom: 20px;
}

#top__usage .box h3 img {
   width: 60px;
}

#top__usage .box .txt {
   padding-top: 20px;
}

#top__usage .banner {
   gap: 25px;
   max-width: 1100px;
   margin: 0 auto;
   padding-top: 30px;
}

#top__usage .banner li {
   width: calc(33.33% - 25px);
}

#top__usage .banner li a {
   display: flex;
   align-items: center;
   gap: 10px;
   background-color: #FEFFD5;
   padding: 32px 20px;
   position: relative;
   border-radius: 20px;
}

#top__usage .banner li a img {
   width: 60px;
}

#top__usage .banner li a i {
   font-size: 18px;
   position: absolute;
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
}

#top__usage .banner li a:before {
   background-color: #F3F6EB;
}

@media screen and (max-width: 1200px) {
   #top__usage .banner li a {
      gap: 5px;
      padding: 32px 10px;
   }
}

@media screen and (max-width: 991px) {
   #top__usage .banner {
      justify-content: center;
   }

   #top__usage .banner li {
      width: calc(50% - 12.5px);
   }
}

@media screen and (max-width: 767px) {
   #top__usage {
      padding: 50px 0;
   }

   #top__usage .desc {
      padding: 30px 15px 0;
   }

   #top__usage .box {
      gap: 20px;
   }

   #top__usage .box .item {
      width: 100%;
      padding: 30px;
   }

   #top__usage .box h3 {
      font-size: 18px;
   }

   #top__usage .box h3 img {
      width: 50px;
   }

   #top__usage .box .txt {
      font-size: 13px;
      line-height: 20px;
   }

   #top__usage .banner {
      padding-top: 30px;
   }

   #top__usage .banner li {
      width: 100%;
   }

   #top__usage .banner li a {
      gap: 10px;
      font-size: 18px;
      padding: 25px 20px;
   }

   #top__usage .banner li a img {
      width: 50px;
   }
}

/* -- --*/
#top__voice {
   padding: 80px 0;
}

#top__voice .box {
   display: flex;
   flex-wrap: wrap;
   gap: 20px 2%;
   padding-top: 40px;
}

#top__voice .box .item {
   width: 23.5%;
}

#top__voice .box .photo a {
   display: block;
   width: 100%;
   padding-top: 78%;
   position: relative;
}

#top__voice .box .photo span {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   border-radius: 10px;
}

#top__voice .box time,
#top__voice .box .cate {
   display: inline-block;
   vertical-align: middle;
   font-size: 13px;
   line-height: 20px;
   padding-top: 10px;
}

#top__voice .box time {
   color: #5F3F25;
   font-weight: 400;
   padding-right: 10px;
}

#top__voice .box .cate a {
   display: block;
   width: 140px;
   background-color: #31BCBC;
   color: #fff;
   border-radius: 20px;
   text-align: center;
   padding: 3px 0;
}

#top__voice .box .cate a:hover {
   background-color: #5F3F25;
   opacity: 1;
}

#top__voice .box .ttl {
   font-size: 16px;
   line-height: 24px;
   padding-top: 10px;
}

#top__voice .box .ttl a {
   max-height: 72px;
   overflow: hidden;
   display: block;
   -webkit-line-clamp: 3;
   display: box;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   text-overflow: ellipsis;
   white-space: normal;
   position: relative;
}

#top__voice .button {
   padding-top: 30px;
}

@media screen and (max-width: 767px) {
   #top__voice {
      padding: 50px 0;
   }

   #top__voice .box {
      justify-content: center;
      gap: 24px;
      padding-top: 30px;
   }

   #top__voice .box .item {
      width: 85%;
   }

   #top__voice .button {
      padding-top: 20px;
   }
}

/* -- --*/
#top__company {
   background-image: url("../img/index/top-company-bg-img.jpg");
   min-height: inherit;
   padding: 79px 0;
   position: relative;
}

#top__company .box {
   background-color: #fff;
   max-width: 680px;
   margin: 0 auto;
   padding: 40px;
   box-sizing: border-box;
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

#top__company h2 {
   padding-bottom: 30px;
}

#top__company .logo {
   text-align: center;
   border-bottom: 1px dashed #333;
   padding-bottom: 20px;
}

#top__company .logo img {
   width: auto;
   max-width: inherit;
   height: 60px;
}

#top__company .txt {
   padding-top: 20px;
}

#top__company .button {
   padding-top: 30px;
}

@media screen and (max-width: 767px) {
   #top__company {
      padding: 65px 0;
   }

   #top__company .box {
      padding: 30px;
   }
}

/* -- --*/
#section__cta {
   padding: 80px 0 35px;
}

#section__cta .title {
   display: flex;
   align-items: flex-end;
   justify-content: center;
   gap: 40px;
}

#section__cta .title img {
   width: auto;
   max-width: inherit;
   height: 60px;
   position: relative;
   bottom: 10px;
}

#section__cta .txt-c {
   padding-top: 30px;
}

#section__cta .box {
   justify-content: center;
   align-items: center;
   background-color: #fff;
   box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
   margin-top: 20px;
   padding: 30px;
}

#section__cta .box li {
   width: 50%;
   text-align: center;
   box-sizing: border-box;
}

#section__cta .box li+li {
   border-left: 3px dotted #31BCBC;
}

#section__cta .box .tel a {
   display: inline-block;
   background: url("../img/common/icon-tel.svg") no-repeat center left/42px auto;
   font-weight: 500;
   line-height: 42px;
   padding-left: 50px;
}

#section__cta .box .tel small {
   display: block;
   font-size: 16px;
   padding-top: 10px;
}

#section__cta .box .mail a {
   display: block;
   max-width: 350px;
   color: #fff;
   margin: 0 auto;
   padding: 42px 0 40px;
}

#section__cta .box .mail a i {
   display: inline-block;
   vertical-align: middle;
   width: 42px;
   height: 42px;
   background: url("../img/common/icon-email.svg") no-repeat center top/cover;
   margin-right: 10px;
   position: relative;
   top: -2px;
}

#section__cta .box .mail a:hover {
   opacity: 1;
}

@media screen and (max-width: 991px) {
   #section__cta .box {
      padding: 30px 20px;
   }

   #section__cta .box .mail a {
      max-width: 300px;
   }
}

@media screen and (max-width: 767px) {
   #section__cta {
      padding: 60px 0 20px;
   }

   #section__cta .title {
      gap: 20px;
   }

   #section__cta .title img {
      height: 40px;
      bottom: 0;
   }

   #section__cta .txt-c {
      font-size: 14px;
      line-height: 20px;
   }

   #section__cta .box {
      flex-direction: column;
      flex-wrap: nowrap;
      gap: 10px;
      padding: 30px 20px;
   }

   #section__cta .box li {
      width: 100%;
   }

   #section__cta .box li+li {
      border-left: 0;
   }

   #section__cta .box .tel a {
      background-size: 30px auto;
      padding-left: 40px;
   }

   #section__cta .box .tel small {
      font-size: 13px;
   }

   #section__cta .box .mail a {
      font-size: 22px;
      padding: 25px 0 23px;
   }
}

/*=============================================
 * お問い合わせ
 *=============================================*/
#contact__other {
   position: relative;
   padding-top: 80px;
}

#contact__other .tel {
   text-align: center;
   padding-top: 20px;
   padding-bottom: 20px;
}

#contact__other .tel a {
   display: inline-block;
   background: url("../img/common/icon-tel.svg") no-repeat center left/42px auto;
   font-weight: 500;
   line-height: 42px;
   padding-left: 50px;
}

#contact__other .tel small {
   display: block;
   font-size: 16px;
   padding-top: 10px;
}

@media screen and (max-width: 767px) {
   #contact__other {
      padding-top: 40px;
   }

   #contact__other .tel {
      padding-top: 20px;
   }

   #contact__other .tel a {
      background-size: 30px auto;
      padding-left: 40px;
   }

   #contact__other .tel small {
      font-size: 13px;
   }
}

/* -- -- */
.wpcf7 {
   position: relative;
}

#mailform {
   padding: 80px 0 100px;
}

#mailform h2 {
   color: #5F3F25;
   padding-bottom: 10px;
   position: relative;
}

#mailform h2:before {
   content: '';
   width: 100px;
   height: 0;
   border-bottom: 2px solid #31BCBC;
   position: absolute;
   bottom: 0;
   left: 0;
}

#mailform .desc {
   padding-top: 30px;
}

.form-input {
   padding: 20px 0 0;
}

.form-input input:not([type="checkbox"], [type="radio"]),
.form-input textarea {
   display: block;
   width: 100%;
   background-color: #fff;
   border: 1px solid #ccc;
   box-sizing: border-box;
   font-weight: 500;
   line-height: 30px;
   border-radius: 4px !important;
   outline: none;
   -webkit-appearance: none;
   -moz-appearance: none;
   box-sizing: border-box;
   padding: 7px 15px;
}

.form-input textarea {
   height: 240px;
   resize: vertical;
}

.form-input .select {
   position: relative;
}

.form-input .select .wpcf7-form-control-wrap {
   display: flex;
   flex-wrap: wrap;
   width: 100%;
   position: relative;
}

.form-input .select .wpcf7-form-control-wrap:after {
   content: '\f107';
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
   display: var(--fa-display, inline-block);
   font-style: normal;
   font-variant: normal;
   line-height: 1;
   text-rendering: auto;
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
   color: #000;
   font-size: 20px;
   position: absolute;
   top: 14px;
   right: 20px;
}

.form-input .select select {
   display: block;
   width: 100%;
   height: 100%;
   -webkit-appearance: none;
   -moz-appearance: none;
   outline: 0;
   border: 0;
   box-shadow: none;
   font-weight: 500;
   line-height: 30px;
   border-radius: 4px;
   padding: 7px 50px 7px 15px;
   color: #333;
   border: 1px solid #ccc;
   background-color: #fff;
   cursor: pointer;
}

.form-input .select select::-ms-expand {
   display: none;
}

.form-input .select .wpcf7-not-valid-tip {
   width: 100%;
}

.wpcf7-radio {
   line-height: 20px;
}

.wpcf7-radio span,
.wpcf7-radio label {
   display: block;
   position: relative;
}

.wpcf7-radio input {
   display: none;
}

.wpcf7-radio .wpcf7-list-item {
   margin-left: 0;
}

.wpcf7-radio .wpcf7-list-item+.wpcf7-list-item {
   padding-top: 10px;
}

.wpcf7-radio .wpcf7-list-item-label {
   cursor: pointer;
   padding-left: 30px;
}

.wpcf7-radio .wpcf7-list-item-label:before {
   content: '';
   width: 20px;
   height: 20px;
   background-color: #333;
   border-radius: 50%;
   position: absolute;
   top: 0;
   left: 0;
}

.wpcf7-radio .wpcf7-list-item-label:after {
   content: '';
   display: none;
   width: 12px;
   height: 12px;
   background-color: #ffff;
   border-radius: 50%;
   position: absolute;
   top: 4px;
   left: 4px;
}

.wpcf7-radio input:checked~.wpcf7-list-item-label:after {
   display: block;
}

.wpcf7-checkbox {
   line-height: 20px;
}

.wpcf7-checkbox span,
.wpcf7-checkbox label {
   display: block;
   position: relative;
}

.wpcf7-checkbox input {
   display: none;
}

.wpcf7-checkbox .wpcf7-list-item {
   margin-left: 0;
}

.wpcf7-checkbox .wpcf7-list-item+.wpcf7-list-item {
   padding-top: 10px;
}

.wpcf7-checkbox .wpcf7-list-item-label {
   cursor: pointer;
   padding-left: 25px;
}

.wpcf7-checkbox .wpcf7-list-item-label:before {
   content: '';
   width: 16px;
   height: 16px;
   background-color: transparent;
   border: 1px solid #333;
   border-radius: 4px;
   box-sizing: border-box;
   position: absolute;
   top: 3px;
   left: 0;
}

.wpcf7-checkbox .wpcf7-list-item-label:after {
   content: '';
   display: none;
   width: 3px;
   height: 8px;
   border: solid #333;
   border-width: 0 1px 1px 0;
   -webkit-transform: rotate(45deg);
   -ms-transform: rotate(45deg);
   transform: rotate(45deg);
   position: absolute;
   top: 5px;
   left: 6px;
}

.wpcf7-checkbox input:checked~.wpcf7-list-item-label:after {
   display: block;
}

.form-input .result_txt {
   color: #333;
   display: none;
}

.form-input .wpcf7-not-valid-tip {
   font-weight: 400;
   font-size: 12px;
   line-height: 1;
   padding-top: 5px;
   position: relative;
}

.form-input dl {
   background-color: #F3F7F8;
   padding: 20px 30px;
}

.form-input dl+dl {
   margin-top: 10px;
}

.form-input dl dt {
   box-sizing: border-box;
   position: relative;
}

.form-input dl dt>* {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   gap: 6px;
}

.form-input dl dt small {
   display: block;
   width: 46px;
   background-color: #E81C1C;
   font-size: 13px;
   letter-spacing: 0;
   line-height: 20px;
   color: #fff;
   text-align: center;
   padding: 2px 0;
   border-radius: 30px;
}

.form-input dl dt small.non {
   background-color: #333;
}

.form-input dl dd {
   width: 100%;
   padding-top: 10px;
   position: relative;
}

.form-input .address-group {
   padding-top: 20px;
}

.form-input .address-group .label {
   font-size: 15px;
   padding-bottom: 6px;
}

.form-input .address-group ul {
   display: flex;
   flex-wrap: wrap;
   gap: 14px 40px;
}

.form-input .address-group ul li {
   width: 100%;
}

.form-input .address-group ul li:nth-child(1),
.form-input .address-group ul li:nth-child(2) {
   width: calc(50% - 20px);
}

.form-input dl dd ::-webkit-input-placeholder {
   color: #CDD6DD;
}

.form-input dl dd ::-moz-placeholder {
   color: #CDD6DD;
}

.form-input dl dd :-ms-input-placeholder {
   color: #CDD6DD;
}

.form-input dl dd :-moz-placeholder {
   color: #CDD6DD;
}

.form-privacy {
   width: 100%;
   height: 300px;
   background-color: #fff;
   color: #333;
   line-height: 30px;
   overflow: hidden scroll;
   border: 1px solid #707070;
   box-sizing: border-box;
   padding: 15px 40px;
   margin: 30px auto 0;
}

.form-privacy p {
   padding-bottom: 25px;
}

.form-privacy p:last-child {
   padding-bottom: 0;
}

.form-check-privacy {
   display: flex;
   justify-content: center;
   padding: 30px 0 0;
}

.form-check-privacy a {
   margin-left: 10px;
}

.form-button {
   display: flex;
   flex-wrap: wrap;
   align-items: center;
   justify-content: center;
   gap: 10px;
   padding-top: 60px;
}

.form-button>* {
   display: block;
   width: 320px;
   background-color: #F8F6F2;
   border: 1px solid #707070;
   text-align: center;
   border-radius: 100px;
   font-weight: 500;
   font-size: 15px;
   line-height: 24px;
   letter-spacing: 0em;
   color: #333;
   cursor: pointer;
   transition: all 0.3s;
   box-sizing: border-box;
   padding: 17px 30px;
   position: relative;
}

.form-button>*:after {
   content: '\f054';
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
   display: var(--fa-display, inline-block);
   font-style: normal;
   font-variant: normal;
   line-height: 1;
   text-rendering: auto;
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
   position: absolute;
   top: 50%;
   right: 15px;
   transform: translateY(-50%);
}

.form-button>*:hover {
   background-color: #5f3f25;
   border-color: #5f3f25;
   color: #fff;
   opacity: 1;
}

.form-button>* input,
.form-button>* a {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   opacity: 0;
   cursor: pointer;
}

.form-button>* .wpcf7-spinner {
   display: none;
}

.form-button .confirm {
   display: block;
}

.form-button .back,
.form-button .send {
   display: none;
}

.form-button .send {
   background-color: #5f3f25;
   border-color: #5f3f25;
   color: #fff;
   opacity: 1;
}

.confirm-mail .result_txt {
   display: block;
   word-break: break-all;
   white-space: pre-wrap;
}

.confirm-mail .wpcf7-form-control-wrap {
   display: none !important;
}

.confirm-mail .form-input dl dt small {
   display: none;
}

.confirm-mail .form-input dl dd {
   padding-top: 0;
}

.confirm-mail .form-input .address-group .label {
   padding-bottom: 0;
}

.confirm-mail .form-input .select {
   background-color: transparent;
   border: 0;
}

.confirm-mail .form-input .select:after {
   display: none;
}

.confirm-mail .form-button .confirm {
   display: none;
}

.confirm-mail .form-button .back,
.confirm-mail .form-button .send {
   display: block;
}

.wpcf7-response-output {
   width: 100%;
   box-sizing: border-box;
   border-color: #dc3232 !important;
   color: #dc3232 !important;
   margin: 0 !important;
}

@media screen and (max-width: 767px) {
   #mailform {
      padding: 50px 0;
   }

   #mailform .desc {
      text-align: left;
   }

   .form-input {
      width: 100%;
      padding: 20px 0 0;
   }

   .form-input dl {
      padding: 20px;
   }

   .form-input .address-group ul {
      gap: 20px;
   }

   .form-input .address-group ul li:nth-child(1),
   .form-input .address-group ul li:nth-child(2) {
      width: 100%;
   }

   .form-input .address-group .label {
      font-size: 14px;
   }

   .form-privacy {
      width: 100%;
      padding: 15px 20px;
   }

   .form-privacy p {
      padding-bottom: 20px;
   }

   .form-privacy p:last-child {
      padding-bottom: 0;
   }

   .form-button {
      padding-top: 45px;
   }

   .form-button>* {
      width: 80%;
   }
}

/* -- -- */
#txt_thanks {
   text-align: center;
   padding: 90px 0 100px;
}

#txt_thanks h2 {
   padding-bottom: 40px;
}

#txt_thanks p {
   padding-bottom: 30px;
}

#txt_thanks .button {
   padding-top: 20px;
   padding-bottom: 0;
}

@media screen and (max-width: 767px) {
   #txt_thanks {
      text-align: left;
      padding: 60px 0;
   }

   #txt_thanks h2 {
      text-align: center;
      padding-bottom: 30px;
   }

   #txt_thanks p {
      padding-bottom: 20px;
   }

   #txt_thanks p:last-child {
      text-align: center;
      padding-top: 10px;
      padding-bottom: 0px;
   }
}

/* -- -- */
/*
 * Post Type
*=============================================*/
/* --- --- */
.wp-pagenavi {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   padding-top: 80px;
}

.wp-pagenavi>* {
   display: block;
   width: 28px;
   background-color: #333;
   border: 1px solid #333;
   font-family: 'Aoboshi One', serif;
   font-weight: 400;
   font-size: 15px;
   line-height: 24px;
   color: #fff;
   text-align: center;
   padding: 2px 0;
   margin: 0 5px;
}

.wp-pagenavi>*:hover {
   background-color: #fff;
   color: #333;
   opacity: 1;
}

.wp-pagenavi .current {
   background-color: #fff;
   color: #333;
   pointer-events: none;
}

@media screen and (max-width: 767px) {
   .wp-pagenavi {
      padding-top: 50px;
   }
}

/* -- -- */
.cpt-template {
   padding: 80px 20px 100px;
}

.cpt-template .wrap {
   display: flex;
   flex-wrap: wrap;
   gap: 50px 6%;
   max-width: 1000px;
}

.cpt-template .box {
   width: 72%;
}

.cpt-template .sidebar {
   width: 22%;
}

.cpt-template .sidebar h2 {
   font-weight: 400;
   font-size: 22px;
   line-height: 24px;
   border-bottom: 1px solid #333;
   padding-bottom: 10px;
}

.cpt-template .sidebar ul {
   font-size: 14px;
   line-height: 20px;
   padding-top: 5px;
}

.cpt-template .sidebar ul li {
   padding-top: 10px;
}

.cpt-template .sidebar ul li a {
   display: inline-block;
   padding-left: 10px;
   position: relative;
}

.cpt-template .sidebar ul li a:before {
   content: '-';
   position: absolute;
   top: 0;
   left: 0;
}

.cpt-template .sidebar ul li a:hover {
   text-decoration: underline;
}

@media screen and (max-width: 767px) {
   .cpt-template {
      padding: 50px 0;
   }

   .cpt-template .wrap {
      max-width: 100%;
   }

   .cpt-template .box {
      width: 100%;
   }

   .cpt-template .sidebar {
      width: 100%;
   }
}

/* -- -- */
.news__list .item {
   display: table;
   width: 100%;
   box-sizing: border-box;
   border-bottom: 2px dotted #CCCCCC;
   padding: 0 20px 20px;
}

.news__list .item+.item {
   padding-top: 20px;
}

.news__list .item time {
   display: inline-block;
   vertical-align: middle;
   color: #5F3F25;
   font-size: 13px;
   line-height: 20px;
   padding-right: 10px;
}

.news__list .item .cate {
   display: inline-block;
   vertical-align: middle;
   width: 140px;
}

.news__list .item .cate a {
   display: block;
   font-size: 13px;
   line-height: 20px;
   background-color: #31BCBC;
   color: #fff;
   text-align: center;
   border-radius: 20px;
   padding: 3px 0;
}

.news__list .item .cate a:hover {
   background-color: #5F3F25;
   opacity: 1;
}

.news__list .item .ttl {
   font-weight: 500;
   font-size: 16px;
   line-height: 24px;
   padding-top: 10px;
}

.news__list .item .ttl a {
   max-height: 52px;
   overflow: hidden;
   display: block;
   -webkit-line-clamp: 2;
   display: box;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   text-overflow: ellipsis;
   white-space: normal;
   position: relative;
}

@media screen and (max-width: 767px) {
   .news__list .item {
      display: block;
      padding: 0 10px 15px;
   }

   .news__list .item+.item {
      padding-top: 15px;
   }

   .news__list .item>* {
      display: inline-block;
   }
}

/* -- -- */
.voice__list {
   display: flex;
   flex-wrap: wrap;
   gap: 30px 20px;
}

.voice__list .item {
   width: calc(50% - 10px);
   border-bottom: 1px dashed #fff;
   padding-bottom: 10px;
}

.voice__list .photo {
   padding-bottom: 10px;
}

.voice__list .photo a {
   display: block;
   width: 100%;
   padding-top: 78%;
   position: relative;
}

.voice__list .photo span {
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   border-radius: inherit;
}

.voice__list time {
   display: inline-block;
   vertical-align: middle;
   color: #5F3F25;
   font-size: 13px;
   line-height: 20px;
   padding-right: 10px;
}

.voice__list .cate {
   display: inline-block;
   vertical-align: middle;
   width: 140px;
}

.voice__list .cate a {
   display: block;
   font-size: 13px;
   line-height: 20px;
   background-color: #31BCBC;
   color: #fff;
   text-align: center;
   border-radius: 20px;
   padding: 3px 0;
}

.voice__list .cate a:hover {
   background-color: #5f3f25;
   opacity: 1;
}

.voice__list .ttl {
   line-height: 24px;
   padding-top: 10px;
}

.voice__list .ttl a {
   max-height: 72px;
   overflow: hidden;
   display: block;
   -webkit-line-clamp: 3;
   display: box;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   text-overflow: ellipsis;
   white-space: normal;
   position: relative;
}

@media screen and (max-width: 767px) {
   .voice__list .item {
      width: 100%;
   }
}

/* -- -- */
/*
 * Post Detail
 *=============================================*/
#cpt-detail .box {
   padding: 0;
}

#cpt-detail .featured_img {
   text-align: center;
   padding-bottom: 12px;
}

#cpt-detail time {
   display: inline-block;
   vertical-align: middle;
   color: #5F3F25;
   font-size: 13px;
   line-height: 20px;
   padding-right: 10px;
}

#cpt-detail .cate {
   display: inline-block;
}

#cpt-detail .cate a {
   display: inline-block;
   vertical-align: middle;
   background-color: #31BCBC;
   color: #fff;
   font-size: 13px;
   line-height: 20px;
   border-radius: 50px;
   text-align: center;
   margin: 0 5px 5px 0;
   padding: 3px 40px;
}

#cpt-detail .cate a:hover {
   background-color: #5F3F25;
   opacity: 1;
}

#cpt-detail .the_title {
   font-weight: 500;
   font-size: 18px;
   line-height: 26px;
   padding-top: 5px;
   position: relative;
}

#cpt-detail .the_content {
   padding-top: 15px;
}

#cpt-detail .the_content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 10px;
}

#cpt-detail .the_content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

#cpt-detail .the_content p img.alignright {
   display: block;
   margin-left: auto;
}

#cpt-detail .the_content p img:last-child {
   margin-right: 0;
}

#cpt-detail .post-btn {
   width: 80px;
   font-weight: 400;
   font-size: 15px;
   line-height: 30px;
   text-align: center;
   box-sizing: content-box;
   margin: 50px 0 0;
   padding: 0 40px;
   position: relative;
}

#cpt-detail .post-btn a {
   display: block;
   background-color: #333;
   color: #fff;
   line-height: 30px;
}

#cpt-detail .post-btn .prev,
#cpt-detail .post-btn .next {
   width: 30px;
}

#cpt-detail .post-btn .prev {
   position: absolute;
   top: 0;
   left: 0;
}

#cpt-detail .post-btn .prev a {
   display: block;
   padding: 0;
}

#cpt-detail .post-btn .next {
   position: absolute;
   top: 0;
   right: 0;
}

#cpt-detail .post-btn .next a {
   display: block;
   padding: 0;
}

#cpt-detail .post-btn a:hover {
   background-color: #5F3F25;
   opacity: 1;
}

@media screen and (max-width: 991px) {
   #cpt-detail .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img:last-child {
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   #cpt-detail .cate a {
      padding: 3px 20px;
   }

   #cpt-detail .the_content p img {
      display: block;
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img.alignright {
      margin: 0 auto 15px;
   }

   #cpt-detail .the_content p img:last-child {
      margin: 0 auto !important;
   }

   #cpt-detail .the_content {
      font-size: 14px;
   }

   #cpt-detail .post-btn {
      margin: 50px auto 0;
   }
}

#cpt-detail .gallery-photo {
   padding-top: 20px;
}

#cpt-detail .gallery-photo .gallery-slider .swiper-slide p {
   width: 100%;
   padding-top: 70%;
   position: relative;
}

#cpt-detail .gallery-photo .gallery-slider .swiper-slide p span {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#cpt-detail .gallery-photo .gallery-slider .swiper-slide p span.img_short {
   background-size: cover !important;
}

#cpt-detail .gallery-photo .gallery-slider .swiper-slide p span.img_long {
   background-size: auto 100% !important;
}

#cpt-detail .gallery-photo .gallery-slider .swiper-slide p img {
   display: block;
   width: auto;
   height: auto;
   max-height: 100%;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}

#cpt-detail .gallery-photo .gallery-thumbs {
   margin: 10px 0 0;
   padding: 0 20px;
   position: relative;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-slide {
   width: 25%;
   box-sizing: border-box;
   padding: 0 5px;
   cursor: pointer;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-slide p {
   width: 100%;
   padding-top: 75.2%;
   position: relative;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-slide p:after {
   content: '';
   width: 100%;
   height: 100%;
   background-color: rgba(51, 51, 51, 0.7);
   position: absolute;
   top: 0;
   left: 0;
   transition: all 0.3s;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-slide.swiper-slide-thumb-active p:after {
   opacity: 0;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-slide p span {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-button {
   width: 15px;
   height: 101%;
   border: 0;
   overflow: hidden;
   text-indent: -999px;
   cursor: pointer;
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   z-index: 1;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-button:before {
   content: '';
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-button.swiper-prev {
   left: 0;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-button.swiper-prev:before {
   background: url("../img/common/sl-prev.svg") no-repeat center left/15px 40px;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-button.swiper-next {
   right: 0;
}

#cpt-detail .gallery-photo .gallery-thumbs .swiper-button.swiper-next:before {
   background: url("../img/common/sl-next.svg") no-repeat center right/15px 40px;
}

@media screen and (max-width: 767px) {
   #cpt-detail .gallery-photo .gallery-thumbs {
      margin: 10px 0 0;
   }

   #cpt-detail .gallery-photo .gallery-thumbs .swiper-slide {
      width: 50%;
   }
}

/* --- --- */
/*
 * スケジュール 
*=============================================*/
/* -- -- */
#schedule__calendar {
   padding: 0 0 80px;
}

#schedule__calendar .box-calendar {
   width: 100%;
   max-width: 1000px;
   height: 750px;
   margin: 30px auto 0;
}

#schedule__calendar .box-calendar>* {
   display: block;
   width: 100%;
   height: 100%;
}

@media screen and (max-width: 767px) {
   #schedule__calendar {
      padding: 0 0 50px;
   }

   #schedule__calendar .box-calendar {
      height: 100vw;
   }
}

/* -- -- */
/*
 * 短期入所（ショートステイ）とは？ 
*=============================================*/
/* -- -- */
#short-stay__sec02 .photo {
   width: 700px;
   margin: 40px auto 0;
   position: relative;
}

#short-stay__sec02 .photo .tel1 {
   width: 319px;
   height: 66px;
   font-size: 0;
   position: absolute;
   top: 0;
   left: 27%;
}

#short-stay__sec02 .photo .tel2 {
   width: 319px;
   height: 66px;
   font-size: 0;
   position: absolute;
   top: 17.5%;
   left: 27%;
}

@media screen and (max-width: 767px) {
   #short-stay__sec02 .photo {
      width: 100%;
   }

   #short-stay__sec02 .photo .tel1 {
      width: 41vw;
      height: 8.4vw;
   }

   #short-stay__sec02 .photo .tel2 {
      width: 41vw;
      height: 8.4vw;
   }
}

/* -- -- */
#short-stay__sec04 h2 {
   padding-bottom: 30px;
}

#short-stay__sec04 .txt {
   border-top: 1px dashed;
   padding-top: 20px;
}

#short-stay__sec04 .button {
   padding-top: 30px;
}

/* -- -- */
/*
 * ご利用までの流れ
*=============================================*/
/* -- -- */
#flow__list {
   padding-bottom: 80px;
}

#flow__list .box {
   border-radius: 10px;
   border: 4px solid #31BCBC;
   gap: 20px;
   padding: 40px 50px;
}

#flow__list .box+.box {
   margin-top: 40px;
}

#flow__list .box .photo {
   width: 200px;
}

#flow__list .box .col {
   width: calc(100% - 220px);
}

#flow__list .box .no {
   font-size: 18px;
   padding-bottom: 7px;
}

#flow__list .box h3 {
   border-bottom: 1px solid;
   padding-bottom: 10px;
}

#flow__list .box .txt {
   padding-top: 10px;
}

@media screen and (max-width: 767px) {
   #flow__list {
      padding-bottom: 50px;
   }

   #flow__list .box {
      padding: 20px;
   }

   #flow__list .box .photo {
      width: 100%;
   }

   #flow__list .box .col {
      width: 100%;
   }
}

/*
 * よくあるご質問
*=============================================*/
/* -- -- */
[id*="faq__sec"] .box-qa dl {
   padding-top: 30px;
}

[id*="faq__sec"] .box-qa dl dt {
   background-color: #fff;
   border: 5px solid #ACE3DD;
   padding: 20px 60px;
   position: relative;
   cursor: pointer;
}

[id*="faq__sec"] .box-qa dl dt:before {
   content: 'Q';
   color: #31BCBC;
   font-family: 'Aoboshi One', serif;
   font-weight: 400;
   font-size: 22px;
   line-height: 24px;
   position: absolute;
   top: 23px;
   left: 25px;
}

[id*="faq__sec"] .box-qa dl dt:after {
   content: '\f13a';
   -moz-osx-font-smoothing: grayscale;
   -webkit-font-smoothing: antialiased;
   display: var(--fa-display, inline-block);
   font-style: normal;
   font-variant: normal;
   line-height: 1;
   text-rendering: auto;
   color: #31BCBC;
   font-family: "Font Awesome 6 Free";
   font-weight: 900;
   font-size: 18px;
   position: absolute;
   top: 50%;
   right: 15px;
   transform: translateY(-50%);
   transition: all 0.3s;
}

[id*="faq__sec"] .box-qa dl dd {
   display: none;
   margin-top: 20px;
   padding: 0 60px;
   position: relative;
}

[id*="faq__sec"] .box-qa dl dd:before {
   content: 'A';
   color: #DE3F0D;
   font-family: 'Aoboshi One', serif;
   font-weight: 400;
   font-size: 22px;
   line-height: 24px;
   position: absolute;
   top: 50%;
   left: 25px;
   transform: translateY(-50%);
}

[id*="faq__sec"] .box-qa dl.active dt:after {
   transform: translateY(-50%) rotate(-180deg);
}

@media screen and (max-width: 767px) {
   [id*="faq__sec"] .box-qa dl {
      padding-top: 20px;
   }

   [id*="faq__sec"] .box-qa dl dt {
      padding: 10px 45px;
   }

   [id*="faq__sec"] .box-qa dl dt:before {
      top: 13px;
      left: 15px;
   }

   [id*="faq__sec"] .box-qa dl dd {
      padding: 0 0 0 45px;
   }

   [id*="faq__sec"] .box-qa dl dd:before {
      left: 15px;
   }
}

/*
 * 施設案内
*=============================================*/
body.facility #top__facilities {
   margin-top: 0;
   padding-top: 30px;
}

body.facility #top__facilities:before {
   display: none;
}

@media screen and (max-width: 767px) {
   body.facility #top__facilities {
      padding: 0 0 50px;
   }
}

/* -- -- */
/*
 * 運営会社について
*=============================================*/
#compay__profile {
   padding-bottom: 80px;
}

#compay__profile .tb-style {
   padding-top: 50px;
}

@media screen and (max-width: 767px) {
   #compay__profile {
      padding-bottom: 50px;
   }

   #compay__profile .tb-style {
      padding-top: 20px;
   }
}