@charset "UTF-8";

/*=============================================
 * HOME
*=============================================*/
.swiper-loop-1 .swiper-wrapper,
.swiper-loop-2 .swiper-wrapper {
   transition-timing-function: linear;
}

/* -- --*/
#mv {
   width: 100%;
   height: 100vh;
   min-height: 680px;
   position: relative;
}

.mv-slider {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
}

.mv-slider .slick-list,
.mv-slider .slick-track,
.mv-slider .slick-slide {
   width: 100%;
   height: 100%;
}

.mv-slider figure {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   overflow: hidden;
}

.mv-slider figure:after {
   content: "";
   display: block;
   width: 100%;
   height: 100%;
   position: absolute;
   left: 0;
   bottom: 0;
   background: linear-gradient(0deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0) 100%);
}

.mv-slider figure img {
   position: absolute;
   top: 0;
   left: 0;
   transition: transform ease .3s;
}

#mv .catch {
   color: #fff;
   width: 82%;
   position: absolute;
   bottom: 9%;
   left: 9%;
}

#mv .catch .sub {
   font-weight: 400;
   font-size: 23px;
   line-height: 1.9;
   letter-spacing: 0.09em;
}

#mv .catch h2 {
   font-weight: 800;
   font-size: 52px;
   line-height: 1.8;
   letter-spacing: 0.71em;
   padding-top: 35px;
}

@keyframes zoom {
   0% {
      transform: scale(1);
   }

   100% {
      transform: scale(1.1);
   }
}

@keyframes fade02 {
   0% {
      opacity: 0;
   }

   10% {
      opacity: 0;
      transform: translateY(30px);
   }

   25% {
      transform: translateY(0);
      opacity: 100;
   }

   80% {
      transform: translateY(0);
      opacity: 100;
   }

   100% {
      transform: translateY(-30px);
      opacity: 0;
   }
}

@media screen and (max-width: 1023px) {
   #mv .catch h2 {
      font-size: 42px;
   }
}

@media screen and (max-width: 767px) {
   #mv {
      min-height: inherit;
      background: url('../../../../../wp-content/uploads/2025/11/s01-1-scaled.jpg') no-repeat center top / cover;
   }

   #mv .catch {
      width: auto;
      right: 20px;
      bottom: 80px;
      left: 20px;
   }

   #mv .catch .sub {
      font-size: 16px;
   }

   #mv .catch h2 {
      font-size: 25px;
      padding-top: 20px;
   }

   .mv-slider {
      display: none;
   }
}

@media screen and (min-width: 768px) {
   #mv .catch .sub {
      opacity: 0;
      transform: translateY(30px);
   }

   #mv .catch h2 {
      opacity: 0;
      transform: translateY(30px);
   }

   .mv-slider {
      display: block;
   }

   .mv-slider .moving.fst .catch .sub,
   .mv-slider .moving.fst .catch h2 {
      animation: fade02 6.5s forwards;
      animation-delay: 0;
   }

   .mv-slider .moving figure img {
      animation: zoom 20s forwards;
   }

   .mv-slider .moving .catch .sub,
   .mv-slider .moving .catch h2 {
      animation: fade02 6.5s forwards;
      animation-delay: 2.5s;
   }

   .mv-slider .slide-animation figure img {
      animation: zoom 20s 0s forwards;
   }
}

/* -- --*/
#top__about {
   padding: 185px 0 175px;
   position: relative;
}

#top__about .swiper-loop-1 .swiper-slide {
   margin: 0 27px;
}

#top__about .swiper-loop-1 .slide-1 {
   width: 552px;
}

#top__about .swiper-loop-1 .slide-2 {
   width: 645px;
}

#top__about .swiper-loop-1 .slide-3 {
   width: 459px;
}

#top__about .swiper-loop-1 .slide-4 {
   width: 645px;
}

#top__about .swiper-loop-2 {
   padding-top: 165px;
}

#top__about .swiper-loop-2 .swiper-slide {
   width: 2051px;
   margin-right: 50px;
}

#top__about .wrap {
   margin-top: -70px;
   z-index: 1;
}

#top__about .sub {
   font-weight: 400;
   letter-spacing: 0.09em;
}

#top__about h2 {
   font-weight: 700;
   font-size: 29px;
   letter-spacing: 0.22em;
   line-height: 65px;
   padding-top: 70px;
   position: relative;
}

#top__about h2:before {
   content: '';
   width: 84px;
   height: 60px;
   background: url("../img/index/about-deco.png") no-repeat center top/cover;
   position: absolute;
   top: 10px;
   left: 20px;
}

#top__about h2 span {
   display: inline-block;
   background-color: #C7AB74;
   color: #fff;
   padding: 5px 20px;
}

#top__about h2 span:not(:last-child) {
   margin-bottom: 16px;
}

#top__about .txt {
   font-weight: 500;
   font-size: 23px;
   line-height: 2.85;
   letter-spacing: 0.06em;
   padding-top: 70px;
}

#top__about .txt a {
   text-decoration: underline;
}

#top__about .txt a:hover {
   text-decoration: none;
}

#top__about .txt p+p {
   padding-top: 10px;
}

#top__about .button {
   padding-top: 70px;
}

#top__about .button a {
   max-width: 460px;
   height: 101px;
}

#top__about .deco {
   width: 365px;
   position: absolute;
   bottom: -10px;
   right: 65px;
}

@media screen and (max-width: 1023px) {
   #top__about .sub {
      font-size: 18px;
   }

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

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

   #top__about .swiper-loop-1 .swiper-slide {
      margin: 0 10px;
   }

   #top__about .swiper-loop-1 .slide-1 {
      width: 276px;
   }

   #top__about .swiper-loop-1 .slide-2 {
      width: 323px;
   }

   #top__about .swiper-loop-1 .slide-3 {
      width: 230px;
   }

   #top__about .swiper-loop-1 .slide-4 {
      width: 323px;
   }

   #top__about .swiper-loop-2 {
      padding-top: 80px;
   }

   #top__about .swiper-loop-2 .swiper-slide {
      width: 1025px;
   }

   #top__about .wrap {
      margin-top: -30px;
   }

   #top__about .sub {
      font-size: 14px;
   }

   #top__about h2 {
      font-size: 20px;
      line-height: 30px;
      padding-top: 40px;
   }

   #top__about h2:before {
      width: 46px;
      height: 30px;
   }

   #top__about h2 span {
      padding: 5px 10px;
   }

   #top__about h2 span:not(:last-child) {
      margin-bottom: 10px;
   }

   #top__about .txt {
      font-size: 16px;
      padding-top: 30px;
      line-height: 210%;
   }

   #top__about .txt br {
      display: none;
   }

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

   #top__about .button a {
      height: 70px;
   }

   #top__about .deco {
      width: 150px;
      bottom: 0;
      right: 20px;
   }
}

/* -- --*/
#top__features {
   overflow: hidden;
   padding-bottom: 225px;
   position: relative;
}

#top__features .photo-full {
   position: relative;
}

#top__features .photo-full:after {
   content: '';
   width: 50%;
   height: 275px;
   background-color: #fff;
   position: absolute;
   bottom: 0;
   left: 0;
}

#top__features h2 {
   position: absolute;
   bottom: 100%;
   left: 0;
   padding-bottom: 60px;
}

#top__features [class*='box'] .col {
   width: 687px;
}

#top__features [class*='box'] h3 {
   display: inline-block;
   background-color: #C7AB74;
   color: #fff;
   font-weight: 700;
   font-size: 29px;
   letter-spacing: 0.22em;
   line-height: 65px;
   padding: 5px 20px;
}

#top__features [class*='box'] .txt {
   font-weight: 500;
   line-height: 2.74;
   padding-top: 50px;
}

#top__features [class*='box'] figure {
   width: 763px;
   position: relative;
}

#top__features [class*='box'] figcaption {
   color: #DBDBDB;
   font-weight: 400;
   font-size: 160px;
   line-height: 1;
   letter-spacing: 0.09em;
   position: absolute;
   bottom: -80px;
   right: 30px;
}

#top__features .box-1 {
   display: flex;
   flex-direction: row-reverse;
   align-items: flex-end;
   gap: 100px;
   position: relative;
}

#top__features .box-1 figure {
   width: 611px;
   margin-top: -190px;
}

#top__features .box-1 .col {
   padding-bottom: 36px;
}

#top__features .box-2 {
   display: flex;
   align-items: center;
   gap: 115px;
   padding-top: 140px;
}

#top__features .box-2:not(.img-r) {
   margin-left: -165px;
}

#top__features .box-2.img-r {
   flex-direction: row-reverse;
   margin-right: -165px;
}

@media screen and (max-width: 1750px) {
   #top__features .box-2 {
      gap: 50px;
   }

   #top__features .box-2 figure {
      width: calc(100% - 737px);
   }

   #top__features .box-2:not(.img-r) {
      margin-left: 0;
   }

   #top__features .box-2.img-r {
      margin-right: 0;
   }
}

@media screen and (max-width: 1440px) {
   #top__features .box-2 figure {
      width: calc(100% - 550px);
   }

   #top__features .box-2 .col {
      width: 500px;
   }
}

@media screen and (max-width: 1200px) {
   #top__features [class*='box'] figcaption {
      font-size: 120px;
      bottom: -60px;
      right: 20px;
   }

   #top__features .box-1 {
      gap: 50px;
   }

   #top__features .box-1 figure {
      margin-top: -120px;
   }

   #top__features .box-1 .col {
      padding-bottom: 20px;
   }
}

@media screen and (max-width: 1023px) {
   #top__features .photo-full:after {
      width: 90%;
      height: 170px;
   }

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

   #top__features .box-1 {
      flex-direction: column;
      align-items: center;
      padding-top: 50px;
   }

   #top__features .box-1 figure {
      margin-top: 0;
   }

   #top__features .box-1 .col {
      padding-bottom: 0;
   }

   #top__features .box-2 {
      flex-direction: column;
   }

   #top__features .box-2 figure,
   #top__features .box-2 .col {
      width: 100%;
   }

   #top__features .box-2.img-r {
      flex-direction: column;
   }
}

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

   #top__features .photo-full:after {
      display: none;
   }

   #top__features h2 {
      position: static;
      padding: 50px 0 0;
   }

   #top__features [class*='box'] figure {
      width: 100%;
   }

   #top__features [class*='box'] figcaption {
      font-size: 80px;
      bottom: -40px;
   }

   #top__features [class*='box'] .col {
      width: 100%;
   }

   #top__features [class*='box'] h3 {
      font-size: 20px;
      line-height: 35px;
      letter-spacing: 0.1em;
   }

   #top__features [class*='box'] .txt {
      font-size: 16px;
      padding-top: 20px;
      line-height: 210%;
   }

   #top__features [class*='box'] .txt br {
      display: none;
   }

   #top__features .box-1 figure {
      width: 100%;
   }

   #top__features .box-2 {
      padding-top: 50px;
   }
}

/* -- --*/
#top__equipment {
   background-color: #F6F6F6;
   position: relative;
   padding: 75px 0;
}

#top__equipment .swiper-loop-2 {
   width: 100%;
   position: absolute;
   top: 50%;
   left: 0;
   transform: translateY(-50%);
}

#top__equipment .swiper-loop-2 .swiper-slide {
   width: 1538px;
   margin-right: 50px;
}

#top__equipment .wrap {
   z-index: 1;
}

#top__equipment ul {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 30px;
}

#top__equipment ul li {
   display: grid;
   grid-template-columns: 73px 1fr;
   align-items: center;
   gap: 25px;
   background-color: #fff;
   padding: 18px 20px 17px;
   border-radius: 12px;
}

@media screen and (max-width: 1023px) {
   #top__equipment ul {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      font-size: 18px;
   }

   #top__equipment ul li {
      gap: 0px;
      padding: 11px 12px 10px;
      font-size: 16px;
   }

   #top__equipment ul li img {
      height: 50px;
      margin-right: -10px;
   }
}

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

   #top__equipment .swiper-loop-2 .swiper-slide {
      width: 770px;
   }

   #top__equipment ul {
      grid-template-columns: 1fr;
      font-size: 18px;
   }
}

/* -- --*/
#top__news {
   padding: 160px 0 75px;
}

#top__news .wrap {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
}

#top__news h2 {
   width: 120px;
   height: 200px;
   text-align: left;
}

#top__news .slider {
   width: calc(100% - 180px);
   max-width: 1174px;
}

#top__news .slider .slide {
   width: 360px;
   margin-right: 50px;
}

#top__news .slider .slide figure a {
   display: block;
   width: 100%;
   padding-top: 66.66%;
   position: relative;
}

#top__news .slider .slide figure a img {
   position: absolute;
   top: 0;
   left: 0;
}

#top__news .slider .slide time,
#top__news .slider .slide .cat {
   display: inline-block;
   vertical-align: middle;
   font-size: 15px;
   letter-spacing: 0.1em;
   padding-top: 30px;
}

#top__news .slider .slide time {
   font-weight: 400;
}

#top__news .slider .slide .cat {
   font-weight: 500;
   color: #8EB088;
   margin-left: 10px;
}

#top__news .slider .slide .cat:hover {
   text-decoration: underline;
}

#top__news .slider .slide .ttl {
   font-weight: 700;
   font-size: 17px;
   letter-spacing: 0.1em;
   padding-top: 10px;
}

#top__news .slider .slide .ttl a {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

#top__news .news-btn {
   width: 100%;
   text-align: right;
   padding-top: 60px;
}

#top__news .news-btn a {
   display: inline-flex;
   align-items: center;
   gap: 30px;
   color: #8EB088;
   font-weight: 700;
   font-size: 24px;
   letter-spacing: 0.06em;
   position: relative;
}

#top__news .news-btn a:after {
   content: '';
   width: 32px;
   height: 32px;
   background: url("../img/common/btn-arrow-gr.png") no-repeat center top/cover;
   display: block;
   transition: all 0.3s;
}

#top__news .news-btn a:hover:after {
   transform: translateX(5px);
}

@media screen and (max-width: 767px) {
   #top__news .wrap {
      flex-direction: column;
      flex-wrap: nowrap;
   }

   #top__news h2 {
      width: auto;
      height: auto;
   }

   #top__news .slider {
      width: 100%;
      padding-top: 30px;
   }

   #top__news .slider .slick-list {
      margin-right: -20px;
   }

   #top__news .slider .slide {
      width: 80vw;
      margin-right: 20px;
   }

   #top__news .news-btn {
      padding-top: 40px;
   }

   #top__news .news-btn a {
      gap: 20px;
      font-size: 18px;
   }
}

/*=============================================
 * お問い合わせ
*=============================================*/
.mailform {
   padding: 190px 0 150px;
}

.mailform .desc {
   font-weight: 500;
   line-height: 2.2;
   letter-spacing: 0.03em;
   padding-bottom: 75px;
}

.mailform .form-row {
   display: grid;
   grid-template-columns: 245px 1fr;
   align-items: flex-start;
   gap: 10px;
   padding-bottom: 45px;
}

.mailform .form-row .caption {
   font-weight: 700;
   font-size: 18px;
   letter-spacing: 0.04em;
   line-height: 34px;
   padding: 14px 0;
}

.mailform .form-row .caption span {
   font-weight: 500;
   font-size: 14px;
   color: #CA0000;
}

.mailform .form-row .input .item+.item {
   padding-top: 35px;
}

.mailform .form-row .input [data-name="post-code"] {
   display: inline-block;
   max-width: 210px;
}

.mailform .form-pp {
   font-weight: 500;
   font-size: 17px;
   letter-spacing: 0.06em;
   padding: 15px 0 60px;
}

.mailform .form-pp a {
   text-decoration: underline;
}

.mailform .form-pp a:hover {
   text-decoration: none;
}

.mailform .form-btn {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 20px;
}

.mailform .form-btn input {
   width: 100%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 0;
   cursor: pointer;
   opacity: 0;
}

.mailform .form-btn .wpcf7-spinner {
   display: none;
}

.mailform .form-btn p {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 244px;
   height: 63px;
   background-color: #8EB088;
   color: #fff;
   font-weight: 700;
   font-size: 20px;
   letter-spacing: 0.09em;
   text-align: center;
   border-radius: 50px;
   position: relative;
   transition: all 0.3s;
   padding-bottom: 2px;
}

.mailform .form-btn p:hover {
   background-color: #555;
}

.mailform .form-btn .btn-back {
   background-color: #ccc;
   color: #555;
}

.mailform .form-btn .btn-back:hover {
   background-color: #555;
   color: #fff;
}

.mailform.confirm .form-row .caption {
   padding: 0;
}

.mailform.thanks .txt p+p {
   padding-top: 30px;
}

.mailform.thanks .button {
   padding-top: 40px;
}

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

   .mailform .desc {
      padding-bottom: 40px;
   }

   .mailform .form-row {
      grid-template-columns: 1fr;
      gap: 10px;
      padding-bottom: 30px;
   }

   .mailform .form-row .caption {
      font-size: 16px;
      line-height: 24px;
      padding: 0;
   }

   .mailform .form-row .caption span {
      font-size: 12px;
   }

   .mailform .form-row .input .item+.item {
      padding-top: 15px;
   }

   .mailform .form-pp {
      font-size: 15px;
      padding: 0 0 30px;
   }

   .mailform .form-btn p {
      width: 220px;
      height: 50px;
      font-size: 18px;
   }

   .mailform.thanks .txt {
      text-align: justify;
      font-size: 13px;
   }

   .mailform.thanks .txt p+p {
      padding-top: 20px;
   }

   .mailform.thanks .button {
      padding-top: 30px;
   }
}

@media screen and (min-width: 1201px) {
   .mailform .wrap {
      max-width: 985px;
   }
}

/*=============================================
 * COW WORKとは？
*=============================================*/
#about__sec1 {
   padding: 170px 0 205px;
}

#about__sec1 h2 {
   font-weight: 500;
   line-height: 3;
   letter-spacing: 0.23em;
   text-transform: uppercase;
   padding-bottom: 110px;
}

#about__sec1 h2 span {
   font-weight: 700;
}

@media screen and (max-width: 1023px) {
   #about__sec1 h2 {
      font-size: 18px;
   }
}

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

   #about__sec1 h2 {
      line-height: 2;
      padding-bottom: 40px;
   }
}

/*-- --*/
#about__sec2 {
   background-color: #FAFAFA;
   padding: 180px 0;
}

#about__sec2 .wrap {
   display: flex;
   justify-content: space-between;
   gap: 30px;
}

#about__sec2 .wrap .col {
   width: 687px;
}

#about__sec2 .wrap figure {
   width: 540px;
}

#about__sec2 .txt {
   font-weight: 500;
   line-height: 2.74;
   padding-top: 70px;
}

#about__sec2 .txt p+p {
   padding-top: 70px;
}

#about__sec2 .swiper {
   width: calc(50% + 700px);
   margin-right: 0;
   padding-top: 40px;
}

#about__sec2 .swiper-slide {
   width: 610px;
   margin-right: 35px;
}

#about__sec2 .swiper-slide figcaption {
   font-weight: 500;
   padding-top: 15px;
}

@media screen and (max-width: 1440px) {
   #about__sec2 .swiper {
      width: calc(50% + 570px);
   }
}

@media screen and (max-width: 1200px) {
   #about__sec2 .swiper {
      width: calc(50% + 480px);
   }
}

@media screen and (max-width: 1023px) {
   #about__sec2 .wrap {
      flex-direction: column;
      align-items: center;
      gap: 40px;
   }

   #about__sec2 .swiper {
      width: calc(50% + 360px);
   }
}

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

   #about__sec2 .wrap .col {
      width: 100%;
   }

   #about__sec2 .wrap figure {
      width: 100%;
   }

   #about__sec2 .txt {
      line-height: 2;
      padding-top: 30px;
   }

   #about__sec2 .txt p+p {
      padding-top: 30px;
   }

   #about__sec2 .swiper {
      width: calc(100% - 20px);
   }

   #about__sec2 .swiper-slide {
      width: 305px;
      margin-right: 20px;
   }
}

/*-- --*/
#about__sec3 {
   padding: 180px 0;
}

#about__sec3 .photo {
   display: grid;
   grid-template-columns: repeat(2, 1fr);
   padding-top: 80px;
}

#about__sec3 .box {
   padding-top: 140px;
}

#about__sec3 .box h3 {
   display: inline-block;
   background-color: #C7AB74;
   color: #fff;
   line-height: 55px;
   letter-spacing: 0.22em;
   padding: 10px 20px;
}

#about__sec3 .box .text {
   font-weight: 500;
   line-height: 2.74;
   padding-top: 45px;
}

#about__sec3 .box .text dl {
   display: grid;
   grid-template-columns: 160px 1fr;
}

#about__sec3 .box .text dl+dl {
   border-top: 1px solid #E1E1E1;
   margin-top: 18px;
   padding-top: 18px;
}

#about__sec3 .box .text h4 {
   display: grid;
   grid-template-columns: 50px 1fr;
   align-items: center;
   gap: 15px;
}

#about__sec3 .box .text h4 .no {
   color: rgba(142, 176, 136, 0.4);
   font-weight: 400;
   font-size: 38px;
}

#about__sec3 .box .text h4:not(:first-child) {
   padding-top: 40px;
}

#about__sec3 .box .text .txt {
   padding-top: 15px;
}

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

   #about__sec3 .photo {
      grid-template-columns: 1fr;
      padding-top: 30px;
   }

   #about__sec3 .box {
      padding-top: 50px;
   }

   #about__sec3 .box h3 {
      line-height: 35px;
      padding: 5px 20px;
   }

   #about__sec3 .box .text {
      line-height: 2;
      padding-top: 20px;
   }

   #about__sec3 .box .text dl {
      grid-template-columns: 110px 1fr;
   }

   #about__sec3 .box .text h4 {
      grid-template-columns: 40px 1fr;
      gap: 5px;
   }

   #about__sec3 .box .text h4 .no {
      font-size: 30px;
   }

   #about__sec3 .box .text h4:not(:first-child) {
      padding-top: 30px;
   }
}

/*-- --*/
/*=============================================
 * ご利用案内
*=============================================*/
#guide__floormap {
   padding: 160px 0 180px;
}

#guide__floormap figure {
   padding-top: 60px;
}

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

   #guide__floormap figure {
      padding-top: 30px;
   }
}

/*-- --*/
#guide__price {
   background-color: #FAFAFA;
   padding: 185px 0 225px;
}

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

#guide__price .box .col {
   width: calc(50% - 20px);
   background-color: #fff;
   padding: 35px;
   box-sizing: border-box;
}

#guide__price .box h3 {
   background-color: #A1A1A1;
   color: #fff;
   padding: 12px 20px;
}

#guide__price .box dl {
   display: grid;
   grid-template-columns: 220px 1fr;
   gap: 80px;
   padding-top: 30px;
}

#guide__price .box dl dt {
   font-weight: 700;
   font-size: 20px;
}

#guide__price .box dl dt span {
   font-size: 40px;
}

#guide__price .box dl dd p strong {
   font-weight: inherit;
}

#guide__price .box .col:nth-child(1) h3 {
   background-color: #C7AB74;
}

#guide__price .box .col:nth-child(2) h3 {
   background-color: #8EB088;
}

#guide__price .box .col:last-child {
   width: 100%;
}

#guide__price .box .col:last-child dl dd {
   display: flex;
   justify-content: space-between;
}

#guide__price .box .col:not(:last-child) dl dd p {
   display: grid;
   grid-template-columns: auto 1fr;
}

@media screen and (max-width: 1440px) {
   #guide__price .box .col {
      padding: 25px;
   }

   #guide__price .box dl {
      gap: 0px;
   }
}

@media screen and (max-width: 1200px) {
   #guide__price .box dl {
      grid-template-columns: 1fr;
      padding: 0 20px;
   }

   #guide__price .box dl dd {
      padding-top: 0px;
   }
}

@media screen and (max-width: 1023px) {
   #guide__price .box .col {
      width: 100%;
   }

   #guide__price .box .col:last-child dl dd {
      flex-direction: column;
   }

   #guide__price .box .col:last-child dl dd br {
      display: none;
   }

   #guide__price .box .col:last-child dl dd>p:not(:first-child),
   #guide__price .box .col:last-child dl dd div p {
      display: grid;
      grid-template-columns: auto 1fr;
   }
}

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

   #guide__price .box {
      gap: 20px;
      padding-top: 30px;
   }

   #guide__price .box dl {
      padding-top: 5px;
      padding-right: 0;
   }

   #guide__price .box dl dt span {
      font-size: 30px;
   }

   #guide__price .box dl dd {
      padding-top: 0;
   }

   #guide__price .box .col {
      padding: 20px;
   }

   #guide__price .box .col:last-child dl dd br {
      display: block;
   }
}

/*-- --*/
#top__equipment.guide__equipment {
   background-color: #F8F3E9;
   padding: 190px 0 200px;
}

#top__equipment.guide__equipment .swiper {
   top: 60%;
}

#top__equipment.guide__equipment .swiper-slide {
   width: 1280px;
}

#top__equipment.guide__equipment ul {
   padding-top: 60px;
}

@media screen and (max-width: 767px) {
   #top__equipment.guide__equipment {
      padding: 80px 0;
   }

   #top__equipment.guide__equipment ul {
      padding-top: 30px;
   }
}

/*-- --*/
#guide__gallery {
   padding: 180px 0;
}

#guide__gallery .photos {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 55px 64px;
   padding-top: 60px;
}

#guide__gallery .photos li a {
   display: block;
   position: relative;
}

#guide__gallery .photos li a:after {
   content: '';
   width: 36px;
   height: 36px;
   background: url("../img/common/zoom-in.png") no-repeat center top/cover;
   position: absolute;
   right: 16px;
   bottom: 16px;
}

@media screen and (max-width: 1023px) {
   #guide__gallery .photos {
      gap: 30px;
   }
}

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

   #guide__gallery .photos {
      grid-template-columns: repeat(2, 1fr);
      gap: 10px;
      padding-top: 30px;
   }

   #guide__gallery .photos li a:after {
      width: 20px;
      height: 20px;
      right: 10px;
      bottom: 10px;
   }
}

/*=============================================
 * アクセス
*=============================================*/
#access__sec1 {
   padding: 180px 0;
}

#access__sec1 .gmap {
   height: 550px;
}

#access__sec1 .gmap iframe {
   display: block;
   width: 100%;
   height: 100%;
}

#access__sec1 .txt {
   font-weight: 500;
   line-height: 2;
   padding-top: 60px;
}

#access__sec1 .txt p+p {
   padding-top: 60px;
}

#access__sec1 .txt p strong {
   font-weight: 700;
}

#access__sec1 .txt p a {
   text-decoration: underline;
}

#access__sec1 .txt p a:hover {
   text-decoration: none;
}

#access__sec1 .txt dl {
   display: grid;
   grid-template-columns: 160px 1fr;
   padding-top: 60px;
}

#access__sec1 .txt dl+dl {
   border-top: 1px solid #E1E1E1;
   margin-top: 18px;
   padding-top: 18px;
}

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

   #access__sec1 .gmap {
      height: 300px;
   }

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

   #access__sec1 .txt p+p {
      padding-top: 30px;
   }

   #access__sec1 .txt dl {
      grid-template-columns: 120px 1fr;
      padding-top: 30px;
   }
}

/*-- --*/
#access__sec2 {
   background-color: #FAFAFA;
   padding: 180px 0;
}

#access__sec2 figure {
   padding-top: 80px;
}

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

   #access__sec2 figure {
      padding-top: 30px;
   }
}

/*=============================================
 * Post Type
*=============================================*/
.news__list {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 90px 47px;
}

.news__list figure a {
   display: block;
   width: 100%;
   padding-top: 66.66%;
   position: relative;
}

.news__list figure a img {
   position: absolute;
   top: 0;
   left: 0;
}

.news__list time,
.news__list .cat {
   display: inline-block;
   vertical-align: middle;
   font-size: 15px;
   letter-spacing: 0.1em;
   padding-top: 30px;
}

.news__list time {
   font-weight: 400;
}

.news__list .cat {
   font-weight: 500;
   color: #8EB088;
   margin-left: 10px;
}

.news__list .cat:hover {
   text-decoration: underline;
}

.news__list .ttl {
   font-weight: 700;
   font-size: 17px;
   letter-spacing: 0.1em;
   padding-top: 10px;
}

.news__list .ttl a {
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   display: -webkit-box;
   overflow: hidden;
}

@media screen and (max-width: 1023px) {
   .news__list {
      gap: 60px 30px;
   }
}

@media screen and (max-width: 767px) {
   .news__list {
      grid-template-columns: 1fr;
      gap: 40px;
   }

   .news__list time,
   .news__list .cat {
      font-size: 13px;
      padding-top: 20px;
   }

   .news__list .ttl {
      font-size: 15px;
   }
}

/* -- -- */
.wp-pagenavi {
   display: flex;
   justify-content: center;
   gap: 10px;
   font-weight: 500;
   font-size: 16px;
   line-height: 26px;
   letter-spacing: 0.2em;
   color: #656565;
   padding-top: 90px;
}

.wp-pagenavi .pages {
   display: none;
}

.wp-pagenavi span,
.wp-pagenavi a {
   display: block;
   border-bottom: 1px solid #333;
}

.wp-pagenavi span:hover,
.wp-pagenavi span.current,
.wp-pagenavi a:hover,
.wp-pagenavi a.current {
   border-bottom-color: transparent;
}

.wp-pagenavi .previouspostslink {
   margin-right: 20px;
}

.wp-pagenavi .nextpostslink {
   margin-left: 20px;
}

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

   .wp-pagenavi .previouspostslink {
      margin-right: 10px;
   }

   .wp-pagenavi .nextpostslink {
      margin-left: 10px;
   }
}

/* -- -- */
.pt-archive {
   padding: 180px 0;
}

@media screen and (max-width: 767px) {
   .pt-archive {
      padding: 80px 0;
   }
}

@media screen and (min-width: 1201px) {
   .pt-archive .wrap {
      max-width: 1174px;
   }
}

/* -- -- */
.pt-details {
   padding: 180px 0;
}

.pt-details-time,
.pt-details-cat {
   display: inline-flex;
   vertical-align: middle;
   font-weight: 700;
   font-size: 18px;
   line-height: 32px;
   letter-spacing: 0.15em;
}

.pt-details-cat {
   align-items: center;
   flex-wrap: wrap;
   gap: 20px;
   letter-spacing: 0.1em;
   padding-right: 20px;
}

.pt-details-cat a {
   display: block;
   min-width: 100px;
   background-color: #8EB088;
   color: #fff;
   border-radius: 24px;
   padding: 0 10px;
   text-align: center;
}

.pt-details-cat a:hover {
   background-color: #555;
   opacity: 1;
}

.pt-details-time {
   color: #868686;
}

.pt-details-title {
   padding-top: 25px;
}

.pt-details-thumb {
   text-align: center;
}

.pt-details-content {
   padding-top: 30px;
}

.pt-details-content h2 {
   background-color: #FAFAFA;
   font-weight: 800;
   font-size: 24px;
   letter-spacing: 0.02em;
   line-height: 36px;
   margin: 80px 0 40px;
   padding: 20px 25px;
}

.pt-details-content h3 {
   font-weight: 800;
   font-size: 21px;
   line-height: 36px;
   border-bottom: 2px solid #AFB6B8;
   margin: 80px 0 40px;
   padding-bottom: 8px;
   position: relative;
}

.pt-details-content h4 {
   font-weight: 800;
   font-size: 19px;
   line-height: 36px;
   border-left: 5px solid #AFB6B8;
   margin: 80px 0 40px;
   padding-left: 10px;
}

.pt-details-content h1:first-child,
.pt-details-content h2:first-child,
.pt-details-content h3:first-child,
.pt-details-content h4:first-child,
.pt-details-content h5:first-child,
.pt-details-content h6:first-child {
   margin-top: 0;
}

.pt-details-content h2+h3,
.pt-details-content h2+h4,
.pt-details-content h3+h4 {
   margin-top: 0;
}

.pt-details-content table {
   width: 100%;
   table-layout: fixed;
}

.pt-details-content table th,
.pt-details-content table td {
   border: 1px solid #DFDFDF;
   text-align: left;
   padding: 12px 20px 11px;
}

.pt-details-content ul {
   list-style: disc;
   padding-left: 20px;
}

.pt-details-content ol {
   list-style: decimal;
   padding-left: 20px;
}

.pt-details-content p img {
   display: inline-block;
   vertical-align: top;
   margin-right: 10px;
}

.pt-details-content p img.aligncenter {
   display: block;
   margin: 0 auto;
}

.pt-details-content p img.alignright {
   display: block;
   margin-left: auto;
}

.pt-details-content p img:last-child {
   margin-right: 0;
}

.pt-details .button {
   padding-top: 80px;
}

@media screen and (max-width: 1023px) {
   .pt-details-content p img {
      display: block;
      margin: 0 auto 15px;
   }

   .pt-details-content p img:last-child {
      margin: 0 auto;
   }
}

@media screen and (max-width: 767px) {
   .pt-details {
      padding: 80px 0;
   }

   .pt-details-cat,
   .pt-details-time {
      display: flex;
      font-size: 14px;
   }

   .pt-details-cat {
      padding-right: 0;
      padding-bottom: 10px;
   }

   .pt-details-title {
      padding-top: 15px;
   }

   .pt-details-content h2 {
      font-size: 20px;
      line-height: 30px;
      margin: 50px 0 20px;
      padding: 15px 20px;
   }

   .pt-details-content h3 {
      font-size: 18px;
      line-height: 30px;
      margin: 50px 0 20px;
   }

   .pt-details-content h4 {
      font-size: 16px;
      line-height: 30px;
      margin: 50px 0 20px;
   }

   .pt-details-content p img {
      display: block;
      margin: 0 auto 15px;
   }

   .pt-details-content p img.alignright {
      margin: 0 auto 15px;
   }

   .pt-details-content p img:last-child {
      margin: 0 auto !important;
   }

   .pt-details .button {
      padding-top: 40px;
   }
}

@media screen and (min-width: 1201px) {
   .pt-details .wrap {
      max-width: 986px;
   }
}

.flow_h3 {
   font-size: 22px;
   font-weight: bold;
   margin-top: 80px;
   border-bottom: 1px solid #ccc;
   padding-bottom: 10px;
   margin-bottom: 40px;
}

.flow-container {
   width: 50%;
}

.flow-step {
   border-left: 4px solid #C7AB74;
   padding: 0.8rem 1rem;
   margin-bottom: 1.2rem;
   background: #fafafa;
   border-radius: 6px;
}

.step-number {
   font-weight: bold;
   color: #C7AB74;
   margin-bottom: .3rem;
}

.flow_flex {
   display: flex;
   gap: 50px;
}

.flow_right {
   width: 50%;
}

.flow_right h4 {
   margin-top: 30px;
   font-size: 17px;
   font-weight: bold;
   color: #C7AB74;
   margin-bottom: 5px;
}

.mt0 {
   margin-top: 0 !important;
}


@media screen and (max-width: 1024px) {
   .flow_h3 {
      font-size: 18px;
   }

   .flow-container {
      width: 100%;
   }

   .flow_flex {
      display: block;
   }

   .flow_right {
      width: 100%;
      margin-top: 30px;
   }

   .flow_right h4 {
      font-size: 15px;
   }
}


/* -- -- */
#top__faq {
   position: relative;
   padding:100px 0 140px;
}

#top__faq .section-deco{
   margin-top:-32px;
}

#top__faq .txt-deco {
   color: rgba(74, 163, 87, 0.06);
}

#top__faq .box-qa {
   max-width: 1000px;
   margin: 0 auto;
   padding-top: 40px;
}

#top__faq .box-qa dl+dl {
   padding-top: 22px;
}

#top__faq .box-qa dl dt {
   background-color: #8EB088;
   color: #fff;
   border-radius: 52px;
   padding: 16px 20px 19px 62px;
   position: relative;
	font-size:22px;
   cursor: pointer;
}

#top__faq .box-qa dl dt:before {
   content: 'Q.';
   width: 44px;
   height: 18px;
   position: absolute;
   top: 14px;
   left: 24px;
}

#top__faq .box-qa dl dt i {
   display: block;
   width: 20px;
   height: 20px;
   position: absolute;
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
}

#top__faq .box-qa dl dt i:before,
#top__faq .box-qa dl dt i:after {
   content: '';
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   transition: all 0.3s;
}

#top__faq .box-qa dl dt i:before {
   width: 100%;
   height: 0;
   border-top: 2px solid #fff;
}

#top__faq .box-qa dl dt i:after {
   width: 0;
   height: 100%;
   border-left: 2px solid #fff;
}

#top__faq .box-qa dl dd {
   display: none;
   padding: 20px 28px 20px 28px;
   font-size:18px;
   color:#555;
}

#top__faq .box-qa dl dd a{
   text-decoration:underline;
}

#top__faq .box-qa dl.active dt i:after {
   transform: translate(-50%, -50%) rotate(90deg);
}

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

@media screen and (max-width: 767px) {
   #top__faq {
      padding: 40px 15px 60px;
   }

	#top__faq .box-qa dl dt:before {
	   top: 8px;
	   left: 16px;
	}

	#top__faq .section-deco{
	   margin-top:-27px;
	}
	
   #top__faq .box-qa {
      padding-top: 30px;
   }

   #top__faq .box-qa dl dt {
      font-size: 15px;
      line-height: 24px;
      padding: 8px 32px 10px 39px;
   }

   #top__faq .box-qa dl dt i {
      width: 14px;
      height: 14px;
      right: 13px;
   }

   #top__faq .box-qa dl dd {
      padding: 15px 4px 15px 4px;
      line-height: 27px;
	   font-size:14px;
   }
}

#guide__price p{
	color:#555;
}

.op{
	display:flex;
	gap:30px;
}
.op .div , .opafter{
	width:50%;
	padding:15px;
	background:#fff;
	margin-bottom:30px;
}
.op .div2 , .opafter{
	width:100%;
}

.op p{
	color:#666 !important;
}

.h3_op {
    font-size: 18px;
    font-weight: bold;
    color: #C7AB74;
    margin-bottom: 5px;
}

.h3_op strong{
    font-size: 22px;
    color: #555;
	display:block;
}

.h3_op span{
    font-size: 17px;
}

.mtm{
	margin-top:0px;
}


@media screen and (max-width: 767px) {
	.op{
		display:block;
	}
	.op .div{
		width:100%;
	}
	.op .div2{
		width:100%;
	}

	.h3_op {
		font-size: 15px;
	}

	.h3_op strong{
		font-size:19px;
	}

	.h3_op span{
		font-size: 14px;
	}

	.mtm{
		margin-top:-10px;
	}
}

#k01 {
   position: relative;
   padding:140px 0 140px;
	text-align:center;
}
#k01 h2 img {
   width:188px;
}
#k01 p{
	font-size:20px;
	letter-spacing:0.3px;
	line-height:230%;
	margin:30px auto 60px auto;
}

.k02{
	display:flex;
	gap:30px;
	margin-bottom:30px
}
.k02 div{
	border-radius:24px;
	padding:30px;
	background:#F8F8F8;
	width:50%;
}
.k02 div img{
	width:auto;
	height:140px;
}
.k02 strong{
	color:#C7AB74;
	font-size:22px;
	display:block;
	margin:15px auto 15px auto;
}
.k02 p{
	color:#555;
	font-size:18px !important;
	letter-spacing:0 !important;
	line-height:180% !important;
	margin:0 !important;
}
.k03{
	display:flex;
}
.k03 img{
	width:33.3333333%;
}

.k04{
	display:flex;
	gap:46px;
	margin-top:60px;
}
.k05 , .k06{
	width:50%;
}
.k05 h3{
	background:#C7AB74;
	padding:7px 14px 8px;
	color:#fff;
	font-size:22px;
	font-weight:bold;
	margin-bottom:30px;
}
.k06 h3{
	background:#8EB088;
	padding:7px 14px 8px;
	color:#fff;
	font-size:22px;
	font-weight:bold;
	margin-bottom:30px;
}

.k04 dl{
	display:flex;
	border-bottom:1px solid #ccc;
	padding-bottom:12px;
	font-size:16px;
	color:#555;
	margin-bottom:12px;
	text-align:left;
}
.k04 dl dt{
	width:37%;
}
.k04 dl dd{
	width:63%;
}
.k04 h4{
	font-size:17px;
	font-weight:bold;
	color:#8EB088;
	margin-top:20px;
}
.k04 p{
	font-size;14px !important;
	color:#878787;
	font-size:14px;
}

.k07{
	background:#F8F3E9;
	padding:50px 200px;
	margin-top:60px;
}
.k07 img{
	width:100%;
}


@media screen and (max-width: 767px) {

	#k01 {
	   padding:80px 0 80px;
		padding:80px 0;
	}
	#k01 h2 img {
	   width:121px;
	}
	#k01 p{
		font-size:17px;
		letter-spacing:0.1px;
		line-height:210%;
		margin:30px auto 60px auto;
	}

	.k02{
		display:block;
		margin-bottom:20px
	}
	.k02 div{
		padding:20px;
		width:100%;
		margin-bottom:20px
	}
	.k02 div img{
		width:auto;
		height:110px;
	}
	.k02 strong{
		color:#C7AB74;
		font-size:18px;
		display:block;
		margin:15px auto 15px auto;
	}
	.k02 p{
		font-size:15px !important;
		line-height:174% !important;
	}
	.k03{
		display:flex;
	}
	.k03 img{
		width:50%;
	}
	.k03 img:nth-child(2){
		display:none;
	}

	.k04{
		display:block;
		margin-top:50px;
	}
	.k05 , .k06{
		width:100%;
	}
	.k05 h3{
		font-size:18px;
	}
	.k06 h3{
		font-size:18px;
		margin-top:50px;
	}
	.k04 dl{
		display:block;
		padding-bottom:14px;
		font-size:14px;
		margin-bottom:14px;
	}
	.k04 dl dt{
		width:100%;
		font-weight:bold;
	}
	.k04 dl dd{
		width:100%;
	}
	.k04 h4{
		font-size:14px;
	}
	.k04 p{
		font-size;12px !important;
		font-size:12px;
	}
	.k07{
		padding:20px 20px;
		margin-top:60px;
	}
}