/* ページフェード */
@keyframes pagefadein {
	0% {opacity: 0}
	100% {opacity: 1}
}

html {
  overflow-x: hidden;
  animation: pagefadein 1s forwards;
  scroll-padding-top: 120px;
  scroll-margin-top: 120px;
}

/* ヘッダ */
.header-fixed-top::after {
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height: 100%;
  content: '';
  -webkit-backdrop-filter: blur(0.8px); 
  backdrop-filter: blur(0.8px);
  z-index: -1;
}

.header-fixed-top::before {
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height: 85%;
  content: '';
  -webkit-backdrop-filter: blur(3px); 
  backdrop-filter: blur(3px);
  z-index: -2;
}

.top-title {
  font-size: 5vw !important;
  font-family: "Montserrat";
  font-weight: bold;
  text-shadow: 2px 2px 10px #ffffff;
}

/* アコーディオン */
.wp-block-liquid-accordion .liquid-accordion-top {
  padding: 1em;
}

/* タイピングアニメ */
.top-hearo-wrap {
  display:flex;
  flex-direction: row;
}

.typing-animation-com {
  width:0px;
  white-space: nowrap;
  overflow: hidden;
  border-right: 3px solid transparent;
  font-size: 2vw;
  font-family: 'Noto Sans JP';
  font-weight: 700;
  margin-bottom: 0
}

.typing-animation-pre {
  animation-name: effect;
  animation-timing-function:step-end;
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-direction: normal;
  animation-fill-mode: none;
  animation-play-state: running;
}

.typing-animation {
  animation: typing 2s steps(23), effect .5s step-end infinite alternate;
  animation-delay: 1.5s;
  animation-fill-mode: forwards;
}
 
@keyframes typing {
  from {
    width: 0
  }
  to {
    width: 22.5em;
  }
}
    
@keyframes effect {
  50% {
    border-color: #000;
  }
}

.disp-sp {
  display: none;
}

/* カテゴリ一覧 */
.wp-block-categories-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-inline-start: 0;
}

.wp-block-categories-list li {
  list-style: none;
  margin: 0 4px 16px 4px;
  border: solid 1px #3EB370;
  color: #3EB370;
  font-size:0.8em;
}

.wp-block-categories-list li a {
  color: #3EB370;
  display : block;
  padding: 2px 12px;
}

.wp-block-categories-list li:hover {
  background-color: #3EB370;
  color: #fff !important;
}
.wp-block-categories-list li:hover a {
  text-decoration: none;
  color: #fff;
}

.wp-block-post-terms.taxonomy-category a {
  padding:2px 12px;
  border:solid 1px #3EB370;
  color: #3EB370;
}

/* タクソノミーカテゴリー */
.taxonomy-category a {
  padding: 2px 12px;
  border: solid 1px #3EB370;
  color: #3EB370;
}

/* メールフォーム */
.cf-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2em 0;
	border-bottom: 1px dashed #ccc;
	transition: all .3s;
}

.cf-area:last-of-type {
	border-bottom: none;
}

.cf-area dt {
  width: 200px;
  padding-right: 30px;
  text-align: right;
	line-height:1.5em;
}

.cf-area dd {
  flex: 1;
}

.cf-area input, .cf-area select, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: none;
  background-color: #e6e6e6;
  font-size: 16px;
	resize: vertical;
	transition: all .3s;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}

.cf-send input {
	display: block;
	/* background: linear-gradient(135deg, #6b7a8e 0%, #3b4a5e 100%); */
	background-color: #3EB370;
	cursor:pointer;
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	border-radius: 10px;
	color: #fff;
	box-shadow: 2px 5px 15px 0 rgba(0, 0, 0, .2);
	font-size: 1.3em;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #fce3e3;
	border: none;
	text-align: center;
}

/* gmap */
.gmap {
  width: 100%;
  position: relative;
  padding-top: 56.25%;
  overflow: hidden;
}

.gmap iframe {
  position: absolute;
  top: -150px;
  left: 0;
  width: 100%;
  height: calc(100% + 150px + 150px);
}

/* シングル */
.single .entry-content p {
  margin-bottom: 2em;
  line-height: 1.8em;
}
  
.single .entry-content figure {
  margin-bottom: 80px;
}
  
/* 目次下のマージン */
.single .entry-content #ez-toc-container {
  margin-bottom:60px;
}

.single .wp-block-post-terms.taxonomy-category a:first-child:before {
  display:none;
}

.grecaptcha-badge {
  z-index:5;
}

/* 埋込表示 */
blockquote.wp-embedded-content {
  position: absolute;
  clip: rect(1px, 1px, 1px, 1px);
}
iframe.wp-embedded-content {
  position: relative !important;
}

@media screen and (max-width:768px){
	.cf-area {
		display: block;
	}

	.cf-area dt {
    width: 100%;
		margin-bottom: 5px;
    padding-right: 0;
    text-align: left;
		line-height:1.5em;
	}
}

/* Searchアイコン */
.menu-search {
  font-size: 0;
  width: 50px;
  height: 50px;
  position: relative;
  display: inline-block;
}

.menu-search::before {
  content: "\f002";
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 16px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.menu-search a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 関連記事 */
.relpost-thumb-container {
  margin-top: 120px;
  margin-bottom: 120px;
}
.relpost-block-single {
  border: solid 1px #dddddd;
}
.relpost-block-single-image {
  aspect-ratio:400 / 220 !important;
  background-position: center center !important;
}

.relpost-thumb-container > strong {
  font-size: 1.5em;
  margin-bottom: 1em;
  display: block;
}
.relpost-thumb-container > strong {
  position: relative;
  padding: 1rem 1rem 1rem 2rem !important;
  border: 0 none !important;
}
.relpost-thumb-container > strong * {
  position: relative;
  z-index: 1;
}
.relpost-thumb-container > strong > span {
  border: 0 none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.relpost-thumb-container > strong:after {
  position: absolute;
  content: '.';
  color: transparent !important;
  display: block;
  width: 100%;
  height: 100%;
  top: 0 !important;
  left: 0 !important;
  background: -webkit-repeating-linear-gradient(-45deg, #0000001a, #0000001a 5px, transparent 5px, transparent 10px);
  background: repeating-linear-gradient(-45deg, #0000001a, #0000001a 5px, transparent 5px, transparent 10px);
  opacity: 0.5;
}
.relpost-block-single {
  border: 1px solid #dddddd !important;
}
.relpost-block-single-text {
  text-align: left !important;
}

/* スマホ用 */
@media (max-width: 599px) {
  .top-title {
    font-size: 3rem !important;
  }
  
  /* タイピングアニメ */
  .typing-animation {
    font-size: 0.95rem;
  }
  .disp-pc {
    display:none;
  }
  .disp-sp {
    display: inline-block;
  }
  
  /* グローバルメニュー */
  .wp-block-navigation__container {
    width: 100%;
  }
  .wp-block-navigation .wp-block-navigation-item {
    width: 100%;
    text-align:center;
    display: block !important;
    line-height: 3em;
  }
}

/* Turnstileウィジェットの親要素にclassやidを指定しておくと便利 */
.wpcf7 .cf-turnstile,
.wpcf7 .cf7-simple-turnstile {
  position: fixed !important;
  right: 20px;
  bottom: 20px;
  z-index: 9999;
  /* 任意でカスタマイズ */
}

