@charset "UTF-8";
/*--------------------------------
common
--------------------------------*/
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-left {
  text-align: left;
}
.en-font {
  font-family: "Roboto", sans-serif;
}
.trajan-font {
  font-family: trajan-pro-3, serif;
}
.small-text {
  font-size: 75%;
}
.large-text {
  font-size: 150%;
}
.fit-img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}
.flex-wrapper {
  display: flex;
  flex-wrap: wrap;
}
.img-wrapper {
  position: relative;
}
.inline-block {
  display: inline-block;
}
.is-light {
  color: #fff;
}
/*--------------------------------
componet
--------------------------------*/
.primary-heading {
  margin-bottom: 0.8em;
  font-size: 3.4rem;
  font-weight: 400;
  line-height: 1.3;
}
.secondary-heading {
  margin-bottom: 40px;
  font-size: clamp(20rem, 15.173rem + 7.45vw, 37.7rem);
  font-weight: 500;
  line-height: 1.3;
}
.tertiary-heading {
  font-weight: 500;
  font-size: 2rem;
  line-height: 1.2;
  letter-spacing: 0.1em;
}
.tertiary-heading.en-font {
  font-weight: bold;
}
.page-heading {
  margin-bottom: 0.8em;
  font-size: 3.4rem;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .primary-heading {
    font-size: 2.4rem;
  }
  .secondary-heading {
    font-size: 9rem;
    margin-bottom: 20px;
  }
  .tertiary-heading {
    font-size: 2rem;
  }
  .page-heading {
    font-size: 2.4rem;
  }
}
.note {
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
.lead {
  margin: 1em 0;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .note {
    font-size: 1.4rem;
  }
  .lead {
    font-size: 1.8rem;
  }
}
.caption {
  margin: 0.4em 0;
  font-weight: 400;
  font-size: 1.2rem;
  line-height: 1.4;
}
/*--------------------------------
header
--------------------------------*/
/*--------------------------------
footer
--------------------------------*/
/*--------------------------------
home
--------------------------------*/
/*--------------------------------
layout
--------------------------------*/
.c-container {
  padding-inline: 27px;
}

/*--------------------------------
state
--------------------------------*/
@media screen and (max-width: 767px) {
  .sp-none {
    display: none;
  }
  .slick-slide img.sp-none {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .pc-none {
    display: none;
  }
  .slick-slide img.pc-none {
    display: none;
  }
}



.wpcf7-spinner{
	margin: 0 auto;
	display:block;
	position: fixed!important;
	top: calc(50% - 12px);
	left: calc(50% - 12px);
}

.wpcf7-spinner::after{
	content:'';
	position: fixed;
width:100%;
	height:100%;
	background:#000000;
	left:0;
	top:0;
	z-index:-1;
	opacity:0.5;
}