/* ========================================
Hero
======================================== */

.hero-btn{

  border-radius:999px;

}

.hero-card{

  height:auto;

  box-shadow:
    0 20px 60px
    rgba(
      0,
      0,
      0,
      .08
    );

}

.hero-subtitle{
	  margin-bottom:20px;
}

.hero-card .hero-text{

  margin-bottom:20px;

}

/* PCのみ少し下げる */

@media(min-width:769px){

  .hero-template-card_left .hero-card,
  .hero-template-card_center .hero-card,
  .hero-template-card_right .hero-card{

    top:53%;

  }

}

/* ========================================
Feature
======================================== */

.feature-card{

  padding:48px;

  border-radius:32px;

}

.feature-icon{

  width:96px;

  height:96px;

}

/* ========================================
News
======================================== */

.news-item{

  padding:32px;

  border-radius:24px;

}

/* ========================================
Table
======================================== */

.table-wrap{

  border-radius:24px;

  overflow:hidden;

}

.content-table{

  border-radius:24px;

  overflow:hidden;

}

.content-table th,
.content-table td{

  padding:24px;

}

/* ========================================
Price
======================================== */

.price-card{

  padding:48px;

  border-radius:32px;

  display:flex;

  flex-direction:column;

  height:100%;

}

.price-head{

  margin-bottom:10px;

}

.price-list{

  margin:10px 0;

  padding-left:0;

  list-style:none;

  flex:1;

}

.price-list li{

  padding:8px 0;

  text-align:left;

}

.price-value{

  text-align:center;

  margin-bottom:32px;

}

.price-description{

  text-align:left;

  margin-bottom:32px;

}

.price-button{

  text-align:center;

  margin-top:32px;

}

.price-button .btn-main{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  min-width:180px;

}

/* ========================================
Flow
======================================== */

.flow-item{

  border-radius:24px;

  transition:.3s;

}

.flow-item:hover{

  transform:
    translateY(-5px);

}

.flow-image{

  border-radius:50%;

  overflow:hidden;

}

.flow-icon{

  border-radius:50%;

}

.flow-step{

  display:inline-flex;

  align-items:center;

  justify-content:center;

  padding:8px 18px;

  margin-bottom:20px;

  border-radius:999px;

}

.flow-item:not(:last-child)::after{

  font-size:32px;

}

.flow-icon{

  display:flex;

  align-items:center;

  justify-content:center;

}

.flow-icon i{

  font-size:38px;

  line-height:1;

}
/* ========================================
Gallery
======================================== */




/* ========================================
Gallery
======================================== */

.gallery-item{

  border-radius:24px;

}

.gallery-item img{

  transition:.4s;

}

.gallery-item:hover img{

  transform:scale(1.05);

}

.gallery-card{

  border-radius:24px;

  overflow:hidden;

  background:#fff;

  box-shadow:
    0 10px 30px
    rgba(
      0,
      0,
      0,
      .06
    );

}

/* ========================================
Gallery Slider
======================================== */

.gallery-slider-image{

  border-radius:0;

  overflow:hidden;

}

.gallery-slider-item{

  border-radius:0;

}



.gallery-modal-close{

  border-radius:50%;

}

.gallery-slider-image{

  border-radius:24px;

}

.gallery-slider-image img{

  transition:.4s;

}

.gallery-slider-item:hover img{

  transform:scale(1.05);

}



/* ========================================
About
======================================== */

.about-table-wrap{

  border-radius:28px;

}

/* ========================================
Embed
======================================== */

.embed-wrap iframe{

  border-radius:20px;

}

/* ========================================
FAQ
======================================== */

.faq-item{

  border-radius:16px;

}

.faq-q,
.faq-a{

  width:40px;

  height:40px;

  border-radius:999px;

  display:flex;

  align-items:center;

  justify-content:center;

  flex-shrink:0;

  font-weight:700;

}

.team-card{

  background:#fff;

  box-shadow:
    0 10px 30px
    rgba(
      0,
      0,
      0,
      .05
    );

}

.team-position{

  color:#b89b72;

  letter-spacing:.1em;

  text-transform:uppercase;

}

.team-name{

  color:#333;

}

.team-description{

  color:#666;

}

/* ========================================
Voice
======================================== */

.voice-card{

  border-radius:24px;

}

.voice-header img{

  border-radius:50%;

}

/* ========================================
CTA
======================================== */

.cta-box{

  border-radius:40px;

}

@media(max-width:991px){

  .cta-box{

    border-radius:28px;

  }

}
/* ========================================
Banner
======================================== */

.banner-item{

  overflow:hidden;

}

.banner-item img{

  transition:
    transform .4s ease;

}

.banner-item:hover img{

  transform:
    scale(1.03);

}

/* radius */

.radius-none img{

  border-radius:0;

}

.radius-small img{

  border-radius:8px;

}

.radius-medium img{

  border-radius:24px;

}

.radius-large img{

  border-radius:40px;

}

/* ========================================
Logo
======================================== */

.logo-item img{

  max-width:160px;

  width:100%;

  height:auto;

}

/* ========================================
Fixed Footer
======================================== */

.fixed-footer{

  backdrop-filter:
    blur(20px);

}

.fixed-footer-btn{

  transition:.3s;

}

.fixed-footer-btn:hover{

  transform:
    translateY(-2px);

}

/* ========================================
Contact
======================================== */

.contact-form{

  background:#fff;

  padding:40px;

  border-radius:20px;

  box-shadow:
    0 20px 40px
    rgba(
      0,
      0,
      0,
      .08
    );

}

.contact-form .form-control{

  border-radius:12px;

}

.required{

  color:#e26b7a;

}

.modal-content{

  border-radius:20px;

}