@import url('https://fonts.googleapis.com/css2?family=Petit+Formal+Script&display=swap');

body {
/*
	color: var(--vk-color-primary);
*/
	counter-reset: number 0;
}

h1, h2, h3, h4, h5, h6, .page-header-title {
	font-weight: normal;
	font-style: normal;
	letter-spacing: 2px;
	margin: 0;
}
p {
  line-height: 2.2em;
  letter-spacing: 0.5px;
}
.wp-block-heading strong {
	color: inherit;
}

.txt-nowrap {
  white-space: nowrap!important;
}

table {
}
table td, table th {
  line-height: 2;
  font-size: 1rem;
  vertical-align: top;
}

/* 縦書き */
.txt-vertical {
	-ms-writing-mode: tb-lr;
	writing-mode: vertical-lr;
	text-orientation: upright;
}

/* ゴールド枠 */
.border-gold {
	border-image: linear-gradient(to bottom, #c4ab60, #f7e5a0, #c4ab60) 1;
	border-style: solid;
	border-width: 10px;
}

/* ゴールド枠２ */
.border-gold2 {
	background: linear-gradient(-225deg, #F0DF84 0%, #B0AA51 56%, #FFE69B 100%);
}

/* btn-gold */
.btn-gold .btn {
	background: linear-gradient(-225deg, #CDBE69 0%, #F8ECA8 40%, #F4EFA6 50%,#F8ECA8 60%, #CDBE69 100%);
	border: 0 !important;
}
.btn-gold .btn .vk_button_link_caption {
	background: linear-gradient(90deg, #a89152 0%, #c49e0b 45%, #bda75a 70%, #aca176 85%, #a89152 90% 100%);
	background-clip: border-box;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.btn-gold input {
  color: #1b1700;
}

/* gnav */
.device-pc .global-nav-list > li > a {
	color: #65780c;
}

/* section-strongpoint */
#section-strongpoint {
	background-color:hsla(118,100%,76%,1);
	background-image: radial-gradient(at 0% 0%, hsl(106.1, 45.9%, 40.6%) 0px, transparent 50%), radial-gradient(at 49% 54%, hsl(99.4, 14.3%, 43.9%) 0px, transparent 50%), radial-gradient(at 100% 0%, hsl(84.8, 100%, 59.6%) 0px, transparent 50%), radial-gradient(at 0% 40%, hsl(83.1, 75.7%, 37.1%) 0px, transparent 50%), radial-gradient(at 100% 33%, hsl(98.7, 95.2%, 16.3%) 0px, transparent 50%), radial-gradient(at 67% 79%, hsl(82.9, 63.5%, 49.4%) 0px, transparent 50%), radial-gradient(at 0% 96%, hsl(100, 100%, 50%) 0px, transparent 50%), radial-gradient(at 100% 100%, hsla(98.6, 100%, 50%, 0) 0px, transparent 50%);
}

#section-strong h3 {
  background: linear-gradient(90deg, #a89152 0%, #c49e0b 45%, #c8bfa0 70%, #dbb10c 85%, #bc7f04 90% 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* モバイル時全幅解除 */
.device-mobile .mobile-grid-auto {
  margin: auto;
}
.device-mobile .mobile-grid-auto .wp-block-cover.border-gold {
	border-left-style: solid !important;
	border-left-width: 10px !important;
}



/* テキスト上下線 */
.txt-border-ub {
	position: relative;
}
.txt-border-ub:before, .txt-border-ub::after {
	position: absolute;
	left: 0;
	width: 100%; height: 4px;
	content: '';
	background-image: -webkit-linear-gradient(135deg, #c1b12b 0%, #e1ca6f 40%, #e1ca6f 60%, #c1b12b 100%);
	background-image: linear-gradient(135deg, #c1b12b 0%, #e1ca6f 40%, #e1ca6f 60%, #c1b12b 100%);
}
.txt-border-ub::before { top: 0; }
.txt-border-ub::after { bottom: 0; }

.device-mobile .txt-border-ub:before,
.device-mobile .txt-border-ub::after {
	height: 2px;
}

/* wp-block-table */
.block-frame {
}
.block-frame .wp-block-table th,
.block-frame .wp-block-table td {
	border-color: transparent;
}

/* hr */
.wp-block-separator.is-style-dots::before {
	font-size: 4rem;
	letter-spacing: 30px;
	padding-left: 2.5rem;
}
hr.wp-block-separator {
	border-color: var(--vk-color-border-hr);
	border-bottom: none;
	border-bottom-width: medium;
	border-bottom-width: medium;
	border-width: 1px;
	width: 120px;
	margin: 76px 0;
	margin-right: 0px;
	margin-left: 0px;
}

/* ヘッダー */
@media (min-width: 992px) {
  .header-top .container {
	max-width: 1680px;
  }
  .site-header--layout--nav-float .site-header-container {
    max-width: none;
    padding: 0 25px;
  }
  .site-header-logo img {
    max-height: 130px;
  }
}

/* スライダー */
@media (min-width: 992px) {
  #mv .wp-block-vk-blocks-slider {
    height: 100vh !important;
  }
  #mv .wp-block-vk-blocks-slider .wp-block-vk-blocks-slider-item {
    height: 100vh !important;
  }
}
@media (max-width: 575.98px) {
	#mv h2, #mv h2 strong {
		font-size: 1.7rem !important;
		line-height: 1.2;
		white-space: inherit!important;
	}
	#mv .wp-block-columns {
		justify-content: flex-end;
	}
	#mv .wp-block-columns .wp-block-column {
		display: flex;
		justify-content: flex-end;
		max-width: 270px;
	}
	#mv .col-contents {
	}
	#mv .col-contents .wp-block-group {
	}
	#mv .btn-gold {
		max-width: none;
	}
	#mv .col-pr {
		order: 2;
		align-self: end;
	}
}

/* 斜線見出し */
.stripe-marker {
	padding: 0 .25em !important;
	margin-right: .25em;
	background-image: repeating-linear-gradient(-45deg, rgba(70, 177, 201, .25), rgba(70, 177, 201, .25) 4px, transparent 4px, transparent 8px);
	background-position: center bottom;
	background-repeat: repeat-x;
	background-size: auto .65em;
}

/* number-card-list */
.number-card-list .card {
	position: relative;
}
.number-card-list .card:before {
	counter-increment: number 1;
	content: "0"counter(number);
	font-size: 51px;
	position: absolute;
	right: 11px;
	top: -5px;
	z-index: 1;
	text-stroke: 1px #FFF;
	-webkit-text-stroke: 1px #0784f2;
	color: #fff;
	letter-spacing: 3px;
}

/* number-block-list */
.number-block-list {
}
.number-block-list .wp-block-group h3:before {
	counter-increment: number 1;
	content: counter(number);
	position: absolute;
	right: 38px;
	top: 60px;
	z-index: 1;
	color: #ffffff5e;
	letter-spacing: 3px;
	font-size: 279px;
	font-family: "Oooh Baby", cursive;
	font-family: "Petit Formal Script", cursive !important;
	font-weight: 400;
	font-style: italic;
	-webkit-text-fill-color: #d9c38340;
}
.device-mobile .wp-block-columns.alignwide {
	margin: auto;
	width: auto;
}
.device-mobile .number-block-list .col-image {
	order: 1;
}
.device-mobile .number-block-list .col-text {
	order: 2;
}

/* vk_posts */
.vk_posts {
  justify-content: center;
}

/* card */
.card:not(.card-noborder)
	position: relative;
	border: unset;
	box-shadow: 0 2px 10px 0 rgba(0,0,0,.12);
	transition: all .3s ease 0s;
	border-image: linear-gradient(to bottom, #c4ab60, #fff5cf, #c4ab60) 1;
	border-style: solid;
	border-width: 12px;
}
.card .card-title {
  text-align: center;
}
.card .card-title a {
  font-size: 1.5rem;
}

/* card-noborder */
.card.card-noborder {
  border-radius: 30px;
  background-color: #fff;
}
.card-noborder .card-body {
  padding: 0 1.5rem 1.5rem;
}
.card.card-noborder .card-title {
  font-size: 1.5rem;
  padding: 1rem 0;
}
.card.card-noborder .card-text {
  padding: 0;
  margin: 0;
  text-align: justify;
}
.card.card-noborder .card-img-overlay {
}
.card-noborder .vk_post_imgOuter {
}

/* section-header */
.section-header .txt-lead {
	margin: 20px 0 0;
}

/* section-title */
.section-title {
	margin: 0 0 1rem;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
.section-title h2 {
	margin: 0 !important;
	max-width: none;
	letter-spacing: 8px;
}
.section-title p {
	font-size: 0.6rem;
	margin-block-end: 0 !important;
	padding: 4px 0;
	letter-spacing: 5px;
}
.device-mobile .section-title {
	flex-basis: auto !important;
}

/* entry-block */
.entry-block a {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
}

.entry-block a {
  border-radius: 100vh;
}
.entry-block a{
  padding: calc(1.5rem - 12px) 3rem 1.5rem;

  background: #fff;
}

/*
.entry-block a:before {
  position: absolute;
  top: -6px;
  left: -6px;

  width: 100%;
  height: 100%;

  content: "";
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;

  border: 3px solid #000;
  border-radius: 0.5rem;
}

.entry-block a:before {
  border-radius: 100vh;
}

.entry-block a:hover {
  padding: calc(1.5rem - 6px) 3rem;
}

.entry-block a:hover:before {
  top: 0;
  left: 0;
}
*/

/* horizontal-flow */
.horizontal-flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  text-align: center;
  gap: 30px;
}
.horizontal-flow h4 {
 has-white-color has-text-color has-link-color wp-elements-c54a2d19a6dcbdc339d5e9c5829ab2ad
}
.horizontal-flow .vk_step_item {
  padding: 0 !important;
  margin: 0 !important;
}
.horizontal-flow .vk_step_item_content {
  position: absolute;
  top: 70px;
  width: 100%;
  z-index: 1;
}
.horizontal-flow .vk_step_item_content .wp-block-heading {
  margin: 5px 0 0 !important;
  width: 100%;
  font-size: 15px;
  text-align: center;
  padding: 0 !important;
  letter-spacing: 0.1px;
}
.horizontal-flow.vk_step .vk_step_item .vk_step_item_dot {
  position: relative;
  width: 115px;
  height: 115px;
  padding: 25px 0;
  max-width: 100%;
}
.horizontal-flow.vk_step .vk_step_item .vk_step_item_dot i {
  font-size: 20px;
  margin: 10px 0 0;
}
.horizontal-flow.vk_step .vk_step_item .vk_step_item_dot_caption {
  font-size: 18px;
}
.horizontal-flow.vk_step .vk_step_item_lineStyle-default::before {
  content: "\f105";
  width: auto;
  background: transparent;
  display: block;
  position: absolute;
  top: 50px;
  left: auto;
  bottom: auto;
  right: -21px;
  font-family: "Font Awesome 6 Free";
  color: #eec897;
  font-weight: 900;
  font-size: 20px;
}

/* btn-entry */
#btn-entry a {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 9999;
  width: 220px;
  height: 220px;
  /*border-radius: 50% !important;*/
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.8;
  font-size: 1.3rem;
  border: none !important;
  background-size: 100%;
  font-family: "Zen Maru Gothic", serif !important;
  color: #fff !important;
  /*box-shadow: 10px 9px 0px -4px #bebebe;*/
  box-shadow: none !important;
  filter:none !important;
  background-color: transparent !important;
  background-image: url(../assets/images/bn_wanpan.png) !important;
  background-repeat: no-repeat;
  background-repeat: no-repeat;
  background-position: center;
}
#btn-entry a:hover {
  background-color: transparent;
}
#btn-entry a:before {
  /* 犬 */
  /*content: '';*/
  display: block;
  background-image: url(../assets/images/img_dog.png) !important;
  width: 37px;
  height: 67px;
  position: absolute;
  bottom: 0;
  right: 10px;
  background-repeat: no-repeat;
  background-size: 100%;
}
#btn-entry a:hover {
	box-shadow: 6px 6px 0px -4px #bebebe;
	opacity: 0.9;
	transform: scale(1.05);
}
.scrolled #btn-entry a {
  transform: scale(0.8);
  bottom: 15px;
  right: 15px;
}
.scrolled #btn-entry a:hover {
}
#btn-entry a:hover:before {
}

.vk-mobile-nav-menu-btn {
  border-color: #333;
  background: var(--vk-mobile-nav-menu-btn-bg-src) center 50% no-repeat rgba(255,255,255,.8);
  border: 0;
  background-color: transparent;
  width: 50px;
  height: 50px;
}

/* btn-fixed-block */
#btn-fixed-block {
	position: fixed;
	bottom: 0px;
	right: 0px;
	width: 220px;
	height: 220px;
	z-index: 9999;
	transition: all .3s ease 0s;
}
#btn-fixed-block a:hover {
	transform: scale(0.8);
}
#btn-fixed-block:hover {
	opacity: 0.75;
	transform: scale(1.05);
}
.scrolled #btn-fixed-block {
  transform: scale(0.8);
}
.device-mobile #btn-fixed-block {
	bottom: -20px;
	right: -20px;
}

/* 流れるテキスト */
:root {
  --delay: 0;
  --duration: 800ms;
  --iterations: 1;
}
#mv .reveal-text {
	padding: 0 !important;
	line-height: 5rem;
}
.reveal-text  strong,
.reveal-text  strong::after {
  animation-delay: var(--animation-delay, 2s);
  animation-iteration-count: var(--iterations, 1);
  animation-duration: var(--duration, 800ms);
  animation-fill-mode: both;
  animation-timing-function: cubic-bezier(0.0, 0.0, 0.2, 1);
}

.reveal-text strong {
  --animation-delay: var(--delay, 0);
  --animation-duration: var(--duration, 800ms);
  --animation-iterations: var(--iterations, 1);
  position: relative;
  animation-name: clip-text;
  color: #333;
  white-space: nowrap;
  cursor: default;
  background-color: #fff;
  padding: 0 15px;

  &::after {
    content: "";
    position: absolute;
    z-index: 999;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #f2f98b;
    transform: scaleX(0);
    transform-origin: 0 50%;
    pointer-events: none;
    animation-name: text-revealer;
  }
}

@keyframes clip-text {
  from {
    clip-path: inset(0 100% 0 0);
  }
  to {
    clip-path: inset(0 0 0 0);
  }
}

@keyframes text-revealer {
  0%, 50% {
    transform-origin: 0 50%;
  }
  60%, 100% {
    transform-origin: 100% 50%;
  }

  60% {
    transform: scaleX(1);
  }

  100% {
    transform: scaleX(0);
  }
}

.section:before, .section:after {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 1;
  position: absolute;
}
#section-lead:before {
  background-image: url(../assets/images/bg_stars_left.png);
  width: 566px;
  height: 201px;
  bottom: 0px;
  left: 0;
  max-width: 50%;
}
#section-lead:after {
  background-image: url(../assets/images/bg_stars_right.png);
  width: 459px;
  height: 167px;
  bottom: 0px;
  right: 0;
  max-width: 50%;
}
#section-message .vk_outer-background-area {
  background-image: url(../assets/images/bg_stars_left_y.png), url(../assets/images/bg_stars_right_y.png), url(../assets/images/bg_chars_star_left.png), url(../assets/images/bg_chars_star_right.png);
  background-size: 569px auto, 459px auto, 349px auto, 389px auto !important;
  background-position: top 140px left, top 350px right,bottom 100px left ,bottom 380px right;
  background-repeat: no-repeat;
}
#section-flow .vk_outer-background-area {
  background-image: url(../assets/images/bg_circle.png), url(../assets/images/bg_circle_2.png);
  background-position: left -160px top 340px, right -160px top 730px;
  background-repeat: no-repeat, no-repeat;
  background-size: 461px auto;
}
#section-jobs .vk_outer-background-area {
  background-image: url(../assets/images/bg_circle.png), url(../assets/images/bg_circle_2.png);
  background-position: left -160px top 340px, right -160px top 730px;
  background-repeat: no-repeat, no-repeat;
  background-size: 461px auto;
}

/* footer */
.site-footer {
}
.site-footer-copyright p {
	text-align: center;
}

/* SP モード */
@media screen and (max-width: 575px) {

	.sp-nopadding {
		padding: 0!important;
	}
	.reveal-text {
		font-size: 18px!important;
		line-height: 4rem!important;
	}
	#section-lead h2 {
		padding: 0 !important;
		margin: 0 !important;
		font-size: 2rem !important;
	}
	.section .txt-lead {
		padding: 0 !important;
		margin: 0 !important;
	}

	/* sp-width-half */
	.sp-width-half {
		gap: 15px !important;
	}

	/* wp-block-table */
	.block-frame {
	    padding: 10px !important;
	}

	/* txt-lead */
	.txt-lead {
		padding: 0 !important;
	}

	/* 幅広ブロック */
	.vk_outer-width-full.vk_outer-paddingLR-none {
	}

	#section-message .vk_outer-background-area {
	  background-image: url(../assets/images/bg_stars_left_y.png), url(../assets/images/bg_stars_right_y.png), url(../assets/images/bg_stars_left_y.png);
	  background-size: 90% auto, 90% auto, 90% auto !important;
	  background-position: top 140px left, top 950px right,top 1760px left;
	  background-repeat: no-repeat;
	}

	/* horizontal-flow */
	.horizontal-flow {
		gap: 5%;
	}
	.horizontal-flow .vk_step_item {
		width: 30%;
	}
	.horizontal-flow.vk_step .vk_step_item .vk_step_item_dot {
		width: 100px;
		height: 100px;
		padding: 20px 0;
	}
	.horizontal-flow .vk_step_item_content .wp-block-heading {
		margin: 0px 0 0 !important;
		font-size: 12px;
	}
	.horizontal-flow.vk_step .vk_step_item_lineStyle-default::before {
		top: 42px;
		right: -13px;
	}

	/* footer */
	.site-footer-content .row {
	  justify-content: center !important;
	  display: flex;
	}
	.site-footer-content .row > div {
		margin: 20px 0 35px !important;
	}

	/* 追従エントリーボタン */
	#btn-entry a {
		bottom: 10px;
		right: 10px;
		left: auto;
		width: 141px;
		height: 162px;
	}
	.scrolled #btn-entry a {
		transform: scale(0.8);
		bottom: 0px;
		right: 0;
		left: auto;
	}
	#btn-entry a::before {
	  width: 30px;
	  height: 54px;
	}

	/* フッターエントリーボタン */
	.entry-block .wp-block-button {
		width: auto !important;
	}
	.entry-block .wp-block-button a {
		font-size: 1.5rem !important;
	}

	.page_top_btn {
		display: none;
	}
}
